我正在尝试通过网络负载均衡器在 Kubernetes 中部署一项服务。我知道目前这是一个 alpha 功能,但我正在运行一些测试。我有一个可以正常工作的部署定义。我的没有 nlb 注释的服务定义看起来像这样并且工作正常:
kind: Service
apiVersion: v1
metadata:
name: service1
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
spec:
type: LoadBalancer
selector:
app: some-app
ports:
- port: 80
protocol: TCP
但是,当我切换到 NLB 时,即使“正确”地创建和配置了负载均衡器,AWS 目标组中的目标也总是显得不健康,我无法通过 HTTP 访问该服务。这是服务定义:
kind: Service
apiVersion: v1
metadata:
name: service1
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
spec:
type: LoadBalancer
selector:
app: some-app
ports:
- port: 80
protocol: TCP
externalTrafficPolicy: Local