How to deploy all Microservices Docker images to Azure Container Registry using Azure Devops Pipeline
menuconz opened this issue · comments
I want to deploy all Microservices Docker images to Azure Container Registry (ACR) or Azure Kubernetes Service (AKS) using Azure Devops Pipeline.
All the services should be able to talk to each other on production environment. Also Db's should be accessible from services in Production environment.
Is there any proper documentation to achieve this task?
The link below may help you.
https://learn.microsoft.com/en-us/azure/architecture/microservices/ci-cd-kubernetes
I am able to deploy all Microservices Docker images into Azure Container Registry (ACR) using Azure Devops Pipeline and deploying all the services into Azure Kubernetes Services (AKS)
Now, Envoy is unable to call the other services. I am deploying the Envoy into AKS but unable to call the services through Envoy.
Do we need a specific type for this service?
Do we need any specific setting in Envoy.yaml?
Dockerfile to build and start Envoy
FROM envoyproxy/envoy:v1.11.1
COPY "ApiGateways/Envoy/config/webshopping/envoy.yaml" "/etc/envoy.yaml"
CMD /usr/local/bin/envoy -c /etc/envoy.yaml
EXPOSE 80
Envoy.yaml file code
`admin:
access_log_path: "/dev/null"
address:
socket_address:
address: 0.0.0.0
port_value: 8001
static_resources:
listeners:
-
address:
socket_address:
address: 0.0.0.0
port_value: 80
filter_chains:- filters:
-
name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
name: mypharmas_eshop_backend_route
virtual_hosts:
- name: mypharmas_eshop_backend
domains:
- "*"
routes:
- name: "c-short"
match:
prefix: "/c/"
route:
auto_host_rewrite: true
prefix_rewrite: "/catalog-api/"
cluster: catalog
- name: "c-long"
match:
prefix: "/catalog-api/"
route:
auto_host_rewrite: true
cluster: catalog- name: "i-short" match: prefix: "/i/" route: auto_host_rewrite: true prefix_rewrite: "/identity-api/" cluster: identity - name: "i-long" match: prefix: "/identity-api/" route: auto_host_rewrite: true cluster: identity - name: "o-short" match: prefix: "/o/" route: auto_host_rewrite: true prefix_rewrite: "/ordering-api/" cluster: ordering - name: "o-long" match: prefix: "/ordering-api/" route: auto_host_rewrite: true cluster: ordering - name: "b-short" match: prefix: "/b/" route: auto_host_rewrite: true prefix_rewrite: "/basket-api/" cluster: basket - name: "b-long" match: prefix: "/basket-api/" route: auto_host_rewrite: true cluster: basket - name: "agg" match: prefix: "/" route: auto_host_rewrite: true prefix_rewrite: "/" cluster: shoppingagg
http_filters:
- name: envoy.router
access_log: - name: envoy.file_access_log
filter:
not_health_check_filter: {}
config:
json_format:
time: "%START_TIME%"
protocol: "%PROTOCOL%"
duration: "%DURATION%"
request_method: "%REQ(:METHOD)%"
request_host: "%REQ(HOST)%"
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
response_flags: "%RESPONSE_FLAGS%"
route_name: "%ROUTE_NAME%"
upstream_host: "%UPSTREAM_HOST%"
upstream_cluster: "%UPSTREAM_CLUSTER%"
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
path: "/tmp/access.log"
clusters:
- name: envoy.router
-
- filters:
-
name: shoppingagg
connect_timeout: 1.25s
type: strict_dns
lb_policy: round_robin
hosts:- socket_address:
address: webshoppingagg
port_value: 80
- socket_address:
-
name: catalog
connect_timeout: 1.25s
type: strict_dns
lb_policy: round_robin
hosts:- socket_address:
address: catalog-api
port_value: 80
- socket_address:
-
name: identity
connect_timeout: 1.25s
type: strict_dns
lb_policy: round_robin
hosts:- socket_address:
address: identity-api
port_value: 80
- socket_address:
-
name: basket
connect_timeout: 5.25s
type: strict_dns
lb_policy: round_robin
hosts:- socket_address:
address: basket-api
port_value: 80
- socket_address:
-
name: ordering
connect_timeout: 1.25s
type: strict_dns
lb_policy: round_robin
hosts:- socket_address:
address: ordering-api
port_value: 80
`
- socket_address: