eShopOnContainers icon indicating copy to clipboard operation
eShopOnContainers copied to clipboard

How to deploy all Microservices Docker images to Azure Container Registry using Azure Devops Pipeline

Open menuconz opened this issue 2 years ago • 2 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?

menuconz avatar Jun 06 '23 12:06 menuconz

The link below may help you. https://learn.microsoft.com/en-us/azure/architecture/microservices/ci-cd-kubernetes

anilbd2003 avatar Jun 19 '23 17:06 anilbd2003

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: shoppingagg connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts:

    • socket_address: address: webshoppingagg port_value: 80
  • name: catalog connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts:

    • socket_address: address: catalog-api port_value: 80
  • name: identity connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts:

    • socket_address: address: identity-api port_value: 80
  • name: basket connect_timeout: 5.25s type: strict_dns lb_policy: round_robin hosts:

    • socket_address: address: basket-api port_value: 80
  • name: ordering connect_timeout: 1.25s type: strict_dns lb_policy: round_robin hosts:

    • socket_address: address: ordering-api port_value: 80 `

menuconz avatar Jun 29 '23 05:06 menuconz