gcloud ingress loadbalancer / static ip

时间:2016-10-19 16:26:23

标签: kubernetes google-cloud-platform

设置默认gce入口控制器使用设置为响应主机名的入口资源

拥有静态IP的优势(在我目前的观点中)是你永远不知道在哪里配置你的域,它将始终保持相同的IP;另一方面,你可以坚持尽可能多的服务

我使用这个gce loadbalancer是新手,我可以像使用静态ip一样依赖它(意味着它永远不会更改)吗?或者是否有一个层要添加以将静态IP指向负载均衡器?

我问,因为你可以设置服务资源的ip。但是我对这个lbc / ingress组合做同样的事情没有任何线索 - 给入口分配一个静态ip?

我已经检查过,似乎存在一些'转发'(静态IP到负载均衡器)...但我真的很感激这方面的一些经验帮助,至少最终明白了解它

最佳

1 个答案:

答案 0 :(得分:7)

最后,我有一个有效的解决方案。您必须使用loadBalancerIP: x.x.x.x添加L4服务,在此处放置以前保留的静态IP,然后放置部署/ RC已有的选择器,如下所示:

  

更新[2017年11月]:静态IP应该是区域性的,与集群在同一区域

服务:

apiVersion: v1
kind: Service
metadata:
  name: nginx-ingress-svc
spec:
  type: LoadBalancer
  loadBalancerIP: 104.155.55.37  # static IP pre-allocated.
  ports:
    - port: 80
      name: http
    - port: 443
      name: https
  selector:
    k8s-app: nginx-ingress-lb

控制器:

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-ingress-rc
  labels:
    k8s-app: nginx-ingress-lb
spec:
  replicas: 1
  selector:
    k8s-app: nginx-ingress-lb
  template:
    metadata:
      labels:
        k8s-app: nginx-ingress-lb
    spec:
      containers:
      - image: eu.gcr.io/infantium-platform-20/nginx-ingress
        imagePullPolicy: Always
        name: nginx-ingress
        ports:
        - containerPort: 80
          hostPort: 80
        - containerPort: 443
          hostPort: 443
        args:
        - -nginx-configmaps=staging/nginx-staging-config

解决方案提示源自此示例:https://beroux.com/english/articles/kubernetes/?part=3

希望这有帮助。