我可以将EKS NodePort服务与端口80和443一起使用

问题描述 投票:2回答:2

我正在使用EKS(由K8s原生提供的AWS服务)。

我的问题是:

  1. 是否可以通过端口80和443公开NodePort服务(默认NodePort范围是30000 - 32767)。
  2. 如果是的话,如何用EKS做到这一点。

注意我知道使用NodePort服务的后果,并研究了LoadBalancerIngress等替代品。我正在使用NodePort,因为我必须这样做。

kubernetes amazon-eks eks
2个回答
2
投票
  1. 根据EKS AMI Source,工作节点的kubelet使用--service-node-port-range的默认配置。您将在30000-32767之间分配一个外部端口号。
  2. 您可以使用节点的hostNetwork将端口80和443公开为hostPort。可以在here找到设置的描述。请记住使用hostNetwork的网络限制和警告!

希望这可以帮助!


1
投票

尝试使用externalIPs为您的服务:

kind: Service
apiVersion: v1
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
  - name: http
    protocol: TCP
    port: 80
    targetPort: 80
  externalIPs:
  - node1_IP
  - node2_IP
  - node3_IP

在这种情况下,端口80也将在节点IP上打开。这是一个肮脏的解决方法,但它应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.