2 つのクラスター間でターゲットグループを共有する - Amazon EKS

View a markdown version of this page

2 つのクラスター間でターゲットグループを共有する - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

2 つのクラスター間でターゲットグループを共有する

次の例では、2 つのクラスター間で 1 つのターゲットグループを共有します。最初のクラスターは Ingress を介して Application Load Balancer を所有し、2 番目のクラスターは手動で作成された TargetGroupBinding を介して共有ターゲットグループを結合します。開始する前に、マルチクラスターターゲットグループを設定する をレビューして、MultiCluster サポートの仕組みと有効にする方法を理解してください。

クラスター 1 – Ingress を介してロードバランサーを所有する

アプリケーション (NodePort Service を使用したデプロイなど) をデプロイし、マルチクラスター注釈を持つ IngressClassIngress を作成します。

apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: alb-mc spec: controller: eks.amazonaws.com/alb --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: echoserver namespace: echoserver annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: instance alb.ingress.kubernetes.io/multi-cluster-target-group: "true" spec: ingressClassName: alb-mc rules: - http: paths: - path: / pathType: Exact backend: service: name: echoserver port: number: 80

コントローラーはロードバランサーをプロビジョニングし、spec.multiClusterTargetGroup: true を使用して TargetGroupBinding を生成します。生成された TargetGroupBinding と Service の次の値に注意してください。2 番目のクラスターには 3 つすべてが必要です:

  • targetGroupARN

  • Service nodePort

  • spec.networking.ingress[].from[].securityGroup.groupID からのロードバランサーのセキュリティグループ ID。

クラスター 2 – TargetGroupBinding を介して共有ターゲットグループを結合する

同じアプリケーションをデプロイし、クラスター 1 の nodePort に Service をピン留めしてから、クラスター 1 のターゲットグループ ARN とセキュリティグループ ID を参照する TargetGroupBinding を作成します。

apiVersion: eks.amazonaws.com/v1 kind: TargetGroupBinding metadata: name: mc-echoserver namespace: echoserver spec: multiClusterTargetGroup: true serviceRef: name: echoserver port: 80 targetGroupARN: <cluster-1-target-group-arn> targetType: instance networking: ingress: - from: - securityGroup: groupID: <cluster-1-alb-security-group-id> ports: - port: <cluster-2-node-port> protocol: TCP

両方のバインドで MultiCluster サポートを有効にすると、各クラスターは自身のターゲットのみを登録および登録解除します。両方のクラスターのノードは単一の共有ターゲットグループで正常な状態を維持し、ロードバランサーはそれらのすべてにトラフィックを分散します。