我執行了followign命令
gcloud container clusters get-credentials my-noice-cluter --region=asia-south2
并且該命令成功運行。我可以看到相關的配置kubectl config view
但是當我嘗試 kubectl 時,我得到了超時
kubectl 配置視圖
? kubectl get pods -A -o wide
Unable to connect to the server: dial tcp <some noice ip>:443: i/o timeout
如果我在 gcp 中創建一個 VM 并在那里使用 kubectl 或使用 gcp 的云 shell,它可以作業,但它不能在我們本地的筆記本電腦和 PC 上作業。
關于我們集群的一些網路資訊:-
Private cluster Disabled
Network default
Subnet default
VPC-native traffic routing Enabled
Pod address range 10.122.128.0/17
Service address range 10.123.0.0/22
Intranode visibility Enabled
NodeLocal DNSCache Enabled
HTTP Load Balancing Enabled
Subsetting for L4 Internal Load Balancers Disabled
Control plane authorized networks
office (192.169.1.0/24)
Network policy Disabled
Dataplane V2 Disabled
我也有防火墻規則允許 http/s
? gcloud compute firewall-rules list
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED
default-allow-http default INGRESS 1000 tcp:80 False
default-allow-https default INGRESS 1000 tcp:443 False
....
uj5u.com熱心網友回復:
如果它來自您的 VPC 而不是來自外部,那是因為您創建了一個私有 GKE 集群。只能通過私有 IP 或通過自動網路訪問主站。
說到授權網路,你有一個授權人office (192.169.1.0/24)。遺憾的是,您在辦公網路中注冊了一個私有 IP 范圍,而不是用于訪問互聯網的公共 IP。
要解決這個問題,請訪問一個為您提供公共 IP 的站點。然后使用該 IP/32 更新集群的授權網路,然后重試。
uj5u.com熱心網友回復:
如果它可以在 GCP 虛擬機上運行,??但不能在您的本地運行,這意味著它與 GCP 防火墻有關,或者您的 GKE 沒有公共 IP。
首先檢查您的集群 IP 是否為公共 IP,如果是,則需要添加允許通過 HTTPS(443 埠)的流量的防火墻規則。您可以在gcloud工具中或通過 GCP 控制臺“防火墻 -> 創建防火墻規則”來執行此操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/446659.html
