Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

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

Open
menuconz opened this issue Jun 6, 2023 · 2 comments

Comments

@menuconz
Copy link

menuconz commented Jun 6, 2023

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 menuconz changed the title Build is not succeeding during publish the Docker images to Azure Container Registry using Azure Devops Pipeline How to deploy all Microservices Docker images to Azure Container Registry using Azure Devops Pipeline Jun 15, 2023
@anilbd2003
Copy link

@menuconz
Copy link
Author

menuconz commented Jun 29, 2023

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
      `

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants