![](/img/trans.png)
[英]Getting real ip from Google Cloud Load Balancer and cloudflare
[英]Cannot access Load Banalcer IP from Google Cloud Shell after creating GKE Cluster
我正在學習 GKE 服務並創建了一個包含以下信息的GKE cluster
$ gcloud container clusters list
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
mycluster us-east1-b 1.14.10-gke.27 35.X.X.X n1-standard-1 1.14.10-gke.27 3 RUNNING
我創建了自己的VPC subnet
,其范圍低於我分配給集群的范圍。
IP address range : 10.7.0.0/24
以下輔助 IP 范圍由 GKE 引擎分配
Secondary IP range
gke-mycluster-pods-765b8f97 10.44.0.0/14
gke-mycluster-services-765b8f97 10.237.0.0/20
創建集群后節點信息如下:
$kubectl get nodes
NAME STATUS ROLES AGE VERSION
gke-mycluster-default-pool-c2ddd83e-km5k Ready <none> 21m v1.14.10-gke.27
gke-mycluster-default-pool-c2ddd83e-trrl Ready <none> 21m v1.14.10-gke.27
gke-mycluster-default-pool-c2ddd83e-x4w3 Ready <none> 21m v1.14.10-gke.27
我的部署 YAML 如下創建一個 nginx 容器:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mywebapp-replicaset
labels:
app: mywebapp
type: front-end
spec:
template:
metadata:
name: myngix-pod
labels:
app: mywebapp
type: front-end
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
replicas: 3
selector:
matchLabels:
type: front-end
以下是我的服務定義
apiVersion: v1
kind: Service
metadata:
name: mywebapp-services
labels:
app: mywebapp
type: front-end
spec:
type: LoadBalancer
ports:
- targetPort: 80
port: 80
selector:
app: mywebapp
type: front-end
使用 kubectl 命令創建服務后,它看起來像這樣
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.237.0.1 <none> 443/TCP 23h
mywebapp-services LoadBalancer 10.237.12.141 <pending> 80:31102/TCP 6s
現在,如果我嘗試從Gcloud shell
訪問LoadBalancer IP
它超時,我錯過了什么
$ curl http://10.237.12.141:80
curl: (7) Failed to connect to 10.237.12.141 port 80: Connection timed out
地址 10.xxx 是您的 VPC 中的私有 IPv4 地址。 Cloud Shell 未在您的 VPC 中運行。 因此無法訪問該地址。 您必須使用外部 IP。
有關私有 IPv4 地址的更多信息:
還有私有 IPv6 地址。 Google Cloud VPC 不支持 IPv6。 某些 Google Cloud 服務(例如 HTTP(S) 負載均衡器)確實支持 IPv6,但這些資源不屬於您項目的 VPC。
VPC 網絡僅支持 IPv4 單播流量。 它們不支持網絡內的廣播、多播或 IPv6 流量; VPC 網絡中的虛擬機只能發送到 IPv4 目標,並且只能接收來自 IPv4 源的流量。 但是,可以為全局負載均衡器創建 IPv6 地址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.