You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

  1. Scenario 01 - Considering microservice replication across multiple locations with replication within each cluster

Diagram


Testing Steps

  1. Install ISTIO - Deploy istio control plane in each cluster. (NOTE - For testing use common root CA)
  2. Configure DNS - To provide resolution of service from remote clusters, istio uses its own DNS called istiocoredns which provides the resolution of remote istio services
    1. Eg:

      configmap coredns
      kind: ConfigMap
      data:
        Corefile: |
          .:53 {
              errors
              health
              kubernetes cluster.local in-addr.arpa ip6.arpa {
                 pods insecure
                 upstream
                 fallthrough in-addr.arpa ip6.arpa
              }
              prometheus :9153
              proxy . /etc/resolv.conf
              cache 30
              loop
              reload
              loadbalance
          }
          global:53 {
              errors
              cache 30
              proxy . 10.43.57.78
          }
      
      

NOTE - In order to utilize istiocoredns, Kubernetes DNS' must be configured to stub a domain in a specific format

3. Use configMap to add a stub domain to the Kubernetes's DNS.

4. Add Istio service entry with details of the remote servers  (server service 03 and server service 04) to the cluster where the client is running

5. Create istio virtual service on the client cluster with all the destination server that it wants to connect. The API calls from the client can be load balanced by assigned weight to each server. This can be achieved using DestinationRule as well.

6. Verify that client pod is sending requests to servers in the order of assigned weight


IN PROGRESS......


  • No labels