amazon-web-services - 我的kubernetes AWS NLB集成无法正常工作

标签 amazon-web-services kubernetes nlb

我正在尝试在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

最佳答案

由于NLB转发了客户端IP,因此k8s节点安全组中似乎缺少一条规则。

关于amazon-web-services - 我的kubernetes AWS NLB集成无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523856/

相关文章:

amazon-web-services - 通过 CLI 创建 RDS 时的 AWS RDS 状态

python - 如何在 Python AWS boto API 中获取给定 EC2 实例 ID 的容器实例列表

linux - Amazon Linux AMI EC2 - 缺少包

kubernetes - 间歇性 502 错误网关

kubernetes - Minikube 无法在 Mac 上启动

kubernetes - 如何配置入口以使用 https 将流量定向到 https 后端

amazon-web-services - 在 AWS 中,为什么 NLB 可以提供静态 IP 地址而 ALB 不能?

javascript - nodejs 将上传的文件直接传输到S3,无需双重等待时间

amazon-web-services - ECS 服务的 AWS 网络负载均衡器健康检查失败

amazon-web-services - AWS VPC 私有(private)链接 - API 网关