EKS + NLB: `service.beta.kubernetes.io/aws-load-balancer-internal:true`が` service.beta.kubernetes.io/aws-load-balancer-type:nlb`で機能しない

粘土

EKS Kubernetes1.16.xを使用しています。タグ付けされた3つのパブリックサブネットとタグ付けされたkubernetes.io/role/elb: 13つのプライベートサブネットを持つクラスターkubernetes.io/role/internal-elb: 1

内部NLBLoadBalancerサービスを作成しようとしています。内部的には、3つのパブリックサブネットではなく、3つのプライベートサブネットでホストする必要があります。

https://docs.aws.amazon.com/eks/latest/userguide/load-balancing.htmlのドキュメントをフォローしています

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
    service.beta.kubernetes.io/aws-load-balancer-internal: true
  name: grafana-nlb
  namespace: prometheus
spec:
  ports:
    - name: service
      port: 80
      protocol: TCP
      targetPort: 3000
  selector:
    app.kubernetes.io/instance: prom
    app.kubernetes.io/name: grafana
  type: LoadBalancer

service.beta.kubernetes.io/aws-load-balancer-internal: true注釈を省略すると、すべてが完全に機能し、期待どおりの結果が得られるように見えます。3つのパブリックサブネットでのみホストされているパブリックNLBを取得します。私はAWS CLIを介して、これを見ることができaws elbv2 describe-load-balancersて、"Scheme": "internet-facing""Type": "network",

service.beta.kubernetes.io/aws-load-balancer-internal: trueアノテーションを付けてこれを作成すると、NLBではなく従来のELBが得られますが、それはまだ公開されています。これは"Scheme": "internet-facing"、3つのパブリックサブネットでのみホストされています。CLIを使用すると、ロードバランサーは表示されますが、表示されaws elb describe-load-balancersません。aws elbv2 describe-load-balancers

これは壊れた動作のようです。トラブルシューティングまたは続行する方法に関するヒントはありますか?

粘土

true引用する必要が"true"YAMLインチ

これは機能します:

    service.beta.kubernetes.io/aws-load-balancer-internal: "true"

これにより、私が経験していたエラーが発生します。

    service.beta.kubernetes.io/aws-load-balancer-internal: true

このようなささいな問題のトラブルシューティングには何時間もかかりました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ