首页 > 解决方案 > AWS 未应用所有注释

问题描述

我正在使用 yaml 配置使用 kubectl 在 AWS 中创建网络负载均衡器。负载均衡器已成功创建,目标组已正确附加。

作为设置的一部分,我已经传递了 AWS 所需的注释,但是在 aws 控制台中查看负载均衡器时,所有注释都没有应用。

名称未设置,负载平衡器日志未启用。我得到一个带有随机字母数字名称的负载均衡器。

apiVersion: v1
kind: Service
metadata:
  name: test-nlb-service
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-name: test-nlb # not set
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
    service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy: ELBSecurityPolicy-2016-08
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:eu-central-1:***********:certificate/*********************
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "tcp,http"
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: 443,8883
    service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
    service.beta.kubernetes.io/aws-load-balancer-additional-resource-tags: "environment=dev,app=test, name=test-nlb-dev"
    service.beta.kubernetes.io/aws-load-balancer-access-log-enabled: "true" # not set
    service.beta.kubernetes.io/aws-load-balancer-access-log-emit-interval: "15" # not set
    service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-name: "random-bucket-name" # not set
    service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-prefix: "random-bucket-name/dev/test-nlb-dev" # not set
  labels:
    app: test
spec:
  ports:
    - name: mqtt
      protocol: TCP
      port: 443
      targetPort: 8080
    - name: websocket
      protocol: TCP
      port: 8883
      targetPort: 1883
  type: LoadBalancer
  selector:
    app: test

如果有人能指出这里可能是什么问题?我正在使用 kubectl v1.19 和 Kubernetes v1.19

标签: amazon-web-serviceskubernetesamazon-ec2kubectlamazon-elb

解决方案


我认为这是一个版本问题。我假设您正在运行树内云控制器而不是外部云控制器(请参见此处)。

即使在Kubernetes的master 分支中,注释service.beta.kubernetes.io/aws-load-balancer-name也不存在。

这并不能解释为什么其他注释不起作用。实际上 ,在这里您可以看到 kubernetes 1.19.12 支持哪些注释,而您提到的其他注释不工作在源代码中列出。

controller-manager您可能会在日志中找到更多信息。

我的建议是禁用 in-tree 云控制器controller manager并运行独立版本


推荐阅读