如何为Kubernetes入口定义外部IP

Tom*_*z S 7 amazon-web-services kubernetes

我对kubernetes入口有疑问。

我想将Ingress与我的Amazon帐户和/或私有云一起使用,并希望分配外部IP。

可以为服务分配外部ip: 服务文档-章节外部IP, 但是找不到用于Ingress的方法:Ingress文档

我的问题特别是对Kubernetes团队而言。Simon在该主题中提出了类似的问题:如何在GKE 2上为Kubernetes Ingress强制使用SSL, 但是当我对私有云AWS感兴趣时,他询问了GKE。

先感谢您。

[更新]

伙计们发现我的问题可能已经在主题中得到解答。实际上,@ anigosa放在那里的答案是针对GCloud的。他的解决方案在私有云和AWS云中都无法使用。我认为原因是他使用type: LoadBalancer(不能在私有云中使用)并且loadBalancerIP property只能在GCloud上使用(对于AWS,这会导致错误:“无法为服务default / nginx-ingress-svc创建负载均衡器:无法为AWS ELB指定“ LoadBalancerIP”。

Ome*_*oni 1

看看这个问题,似乎你可以在你的服务上定义注释并将其映射到现有的弹性IP。像这样的东西:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-eip-allocations: <>
spec:
  type: LoadBalancer
  selector:
    app: MyApp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376
Run Code Online (Sandbox Code Playgroud)

请注意,这将为该服务创建 ELB,而不是入口。

由于入口只是一个处理许多其他服务请求的服务(= ELB),因此应该可以对入口执行类似的操作,但我找不到任何相关文档。