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

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

我想为我的k8s暴露服务保留静态IP地址。如果我在暴露k8s服务时没有弄错,它会获得随机的公共IP地址。我经常重新部署我的应用程序并更改IP。但我希望得到永久的公共IP地址。我的任务是通过永久IP地址(或DNS名称)获取我的应用程序。

kubernetes google-kubernetes-engine
1个回答
4
投票

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

来自Setting up HTTP Load Balancing with Ingress教程:

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

在你的Ingress清单中:

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

如果你使用Service instead of Ingress,你可以做类似的事情:

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
© www.soinside.com 2019 - 2024. All rights reserved.