Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform GCP使用现有静态IP创建负载平衡器服务不';不显示外部ip_Google Cloud Platform_Google Kubernetes Engine - Fatal编程技术网

Google cloud platform GCP使用现有静态IP创建负载平衡器服务不';不显示外部ip

Google cloud platform GCP使用现有静态IP创建负载平衡器服务不';不显示外部ip,google-cloud-platform,google-kubernetes-engine,Google Cloud Platform,Google Kubernetes Engine,我试图在GKE上托管wordpress网站,然后创建一个带有预先存在的静态IP的ELB来公开wordpress。我做了以下几件事: 保留此处定义的静态IP:。它属于IPv4、高级层和全局类型 创建了一个ELB服务(将yaml修改为我的静态ip) 我的yaml的内容: kind: Service metadata: labels: app: wordpress name: wordpress spec: type: LoadBalancer loadBalancerIP

我试图在GKE上托管wordpress网站,然后创建一个带有预先存在的静态IP的ELB来公开wordpress。我做了以下几件事:

  • 保留此处定义的静态IP:。它属于IPv4、高级层和全局类型
  • 创建了一个ELB服务(将yaml修改为我的静态ip)
我的yaml的内容:

kind: Service
metadata:
  labels:
    app: wordpress
  name: wordpress
spec:
  type: LoadBalancer
  loadBalancerIP: "x.x.x.x"
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
  selector:
    app: wordpres
当我运行以下命令-
kubectl get svc-l app=wordpress--watch
,我得到:

NAME        TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
wordpress   LoadBalancer   x.x.x.x   <pending>     80:32590/TCP   6m7s
名称类型群集IP外部IP端口
wordpress负载平衡器x.x.x 80:32590/TCP 6m7s

有什么线索可以解释为什么这不起作用,并告诉我外部ip地址吗?

您的服务规范似乎有误。
spec.loadBalancerIP
字段应指定要分配给LB前端的“外部”IP(注意,此处的外部指集群外部,此IP应属于您的专有网络或公共IP)


在您的情况下,您分配的IP(
192.168.0.1
)实际上是您的群集IP(这是有意义的,因为Google在VPC中分配IP的方式,该IP通常会分配给网关)。无论静态IP是什么(比如
35.35.35.35
),都应该在适当的字段中指定为
spec.loadbalancer IP:35.35.35
。如果需要的话,
192.168.0.1
将在
spec.clusterIP
字段中定义。

当我们公开一个服务时,它会创建一个只与区域IP地址一起工作的TCP网络负载平衡器。全局IP地址仅适用于入口资源类型。我建议您使用区域静态IP地址,而不是全局IP地址。下面的链接简要介绍了GCP中的负载平衡器:我尝试在我的终端复制此场景,但它立即对我的区域IP地址有效,而对全局IP地址完全无效

你花了多长时间?我一直在读故事,可能需要15分钟。18分钟到现在,但仍然不起作用。您是否可以在控制台上的loadbalancer菜单中检查loadbalancer部署状态?看起来您将内部群集IP指定为
loadBalancerIP
,而不是您保留并要使用的IP地址。。。它们都是192.168.0.1,如果您的静态负载平衡器地址以.1结尾(并且192.168.x.x永远不会是外部IP),我会感到惊讶,这只是一个示例。我应该把它作为我的宝贝,那只是样品。我应该把它当作我的坏东西。它不是192.168.0.1。您选择的IP是否显示为clusterIP?您还可以确认lb ip是保留和未分配的吗?根据此状态,可以使用全局ip。