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
我认为这是版本问题。我假设您正在运行树内云控制器而不是外部云控制器(请参阅此处)。
即使在 kubernetes 的master 分支中,该注释service.beta.kubernetes.io/aws-load-balancer-name也不存在。
但这并不能解释为什么其他注释不起作用。事实上, 在这里您可以看到 kubernetes 1.19.12 支持哪些注释,而您提到的其他注释不工作已在源中列出。
您可能会在日志中找到更多信息controller-manager。
我的建议是禁用树内云控制器controller manager并运行独立版本。
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |