保留k8s外部服务的静态IP地址


满目山河
2025-01-09 02:03:10 (1月前)


我想为我的k8s暴露服务保留静态IP地址。
如果我在暴露k8s服务时没有弄错,它会获得随机的公共IP地址。我经常重新部署我的应用程序并更改IP。
但……

2 条回复
  1. 0# 一腔诗意喂了狗 | 2019-08-31 10-32



    这是特定于云提供商的,但是根据您的问题标记,您似乎正在使用Google Cloud Platform的Kubernetes Engine(GKE)。我的答案是针对这种情况的。



    来自

    使用Ingress设置HTTP负载平衡

    教程:





    1. gcloud compute addresses create web-static-ip global

    2.   </code>
    3. </pre>


    在你的Ingress清单中:





    1. apiVersion: extensions/v1beta1
      kind: Ingress
      metadata:
      name: basic-ingress
      annotations:
      kubernetes.io/ingress.global-static-ip-name: web-static-ip
      spec:
      backend:
      serviceName: web
      servicePort: 8080

    2.   </code>
    3. </pre>


    如果你使用,你可以做类似的事情

    服务而不是Ingress





    1. apiVersion: v1
      kind: Service
      metadata:
      name: helloweb
      labels:
      app: hello
      spec:
      type: LoadBalancer
      loadBalancerIP: web-static-ip
      selector:
      app: hello
      tier: web
      ports:

      • port: 80
        targetPort: 8080



登录 后才能参与评论