【发布时间】:2022-01-18 13:03:46
【问题描述】:
-
创建了 3 节点 GKE 集群。
-
从 cmd 提示本地登录到 gcloud。
-
用 nginx 容器创建了一个 pod 并暴露了 80 端口
apiVersion: v1 kind: Pod metadata: name: basicpod labels: type: webserver spec: containers: - name: webcont image: nginx ports: - containerPort: 80
- 现在尝试执行 curl 命令
curl http://<pod-ip>但超时。 我的问题是为什么 iam 会超时?如果在 pod 内执行,相同的 curl 命令会起作用。喜欢kubectl exec -it basicpod -- /bin/sh and then inside pod execute curl http://<pod-ip>
GKE 集群详情:
网络
私有集群已禁用
网络默认
子网默认
VPC 原生流量路由已禁用
集群 pod 地址范围(默认) X.X.X.X/X
服务地址范围 X.X.X.X/X
节点内可见性已禁用
NodeLocal DNSCache 已禁用
启用 HTTP 负载平衡
L4 内部负载平衡器的子集已禁用
控制平面授权网络
已禁用 网络策略已禁用
Dataplane V2 已禁用
安全性
二进制授权已禁用
已启用屏蔽 GKE 节点 机密 GKE 节点 Beta 版已禁用
应用层机密加密已禁用
工作负载标识已禁用
RBAC 的 Google 网上论坛已停用
旧版授权已禁用
基本认证
已禁用
客户端证书已禁用
【问题讨论】:
-
你从哪里开始卷曲?云壳?一个单独的虚拟机?你在卷曲clusterIP吗? [kubectl 获取 svc]
-
从集群内部卷曲应该可以工作,从外部卷曲(以浏览器为例)您需要确保设置了防火墙。 + 需要通过 LB 暴露服务为例
-
嗨@danyL,是的,你是对的。我发现,如果服务属于 ClusterIP,那么只有在节点内我们才能访问它。我正在做的是从节点外部访问。
-
我会把它作为答案发布。
标签: kubernetes google-kubernetes-engine gke-networking