无法使用静态外部 IP 访问 GKE

Cannot access GKE with static external IP

我正在尝试为 GKE LB 分配静态外部 IP。

apiVersion: v1
kind: Service
metadata:
  name: onesg
  labels:
    app: onesg
spec:
  selector:
    app: onesg
  ports:
  - port: 80
    targetPort: 5000
  type: LoadBalancer
  loadBalancerIP: "my regional IP"

但是部署后,我无法从区域 IP 访问我的应用程序。有什么想法吗?

NAME         TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
kubernetes   ClusterIP      10.104.0.1      <none>          443/TCP        23h
onesg        LoadBalancer   10.104.15.191   my regional IP  80:31293/TCP  7m18s

如果我使用 GKE LB 分配的临时 IP,我可以访问我的应用程序。

您必须检查您的服务是否确实指向正确的 pods。

运行以下

kubectl describe service onesg

在输出中应该有一个名为端点的字段。

运行这个

kubectl get pods -o wide

并确保第一个命令的端点字段中的 IP 列表与第二个命令pods 的 IP 相匹配

接下来要进行故障排除,您可以尝试确保您的应用正常运行,您可以使用 kubectl port-forward 命令来做到这一点

https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/