AWS 所有注释均未应用

dev*_*rsh 5 amazon-ec2 amazon-web-services amazon-elb kubernetes kubectl

我正在使用 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
Run Code Online (Sandbox Code Playgroud)

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

whi*_*s11 3

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

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

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

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

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