2017-08-31 15 views
0

AWS上で実行されているk8s(1.7.4)の青緑色の更新をテストしています。青色の緑色のサービスにはk8の外部から到達可能です。現在の設定は、青色ポッド、緑色ポッド、およびサービスルータです。ルータの設定はAWS ELBです。このサービスは、ELBを指すCNAME経由で到達可能です。青緑色の切り替え戦略

問題は切り替え中です。サービスを更新すると、新しいELBが作成され、CNAMEの新しいターゲットが作成されます。 DNSの伝播を待つ時間は、停止時間です。ダウンタイムを回避するもう1つのアプローチは何ですか?以下のサービスYML:K8Sロードバランサ型サービスの更新時に

########## 
# ROUTER # 
########## 

# This blue green approach does not work because the AWS ELB must be created 
# new on each changeoever. This results in a new DNS record and clients are 
# lost while the new record propagates. 

# Expose the container as a service to the outside via DNS record and port. 
apiVersion: v1 
kind: Service 
metadata: 
    name: helloworld 
    annotations: 
    # URL for the service 
    external-dns.alpha.kubernetes.io/hostname: helloworld.k8s.example.net 
spec: 
    type: LoadBalancer 
    ports: 
    # Outside port mapped to deployed container port 
    - port: 80 
    targetPort: helloworldport 
    selector: 
    # HOWTO change app name to point to blue or green then 
    # ubectl replace -f bluegreenrouter.yml --force 
    app: helloworld-blue 

答えて

1

は、基礎となるELBは変更しないでください。サービス(kubectl apply)を実際に更新して、(kubectl delete/kubectl create)を再作成してもよろしいですか?

関連する問題