为什么 GKE 中的 IP 地址 for fluentd / kube-proxy/prometheus 等于节点地址
Why are IP adresses in GKE for fluentd / kube-proxy/prometheus equal to node addresses
我是 运行 GKE 上的 Kubernetes 集群,我注意到在 kube-system 中 pods 的 IP 地址与
fluentd-gcp-...
kube-proxy-gke-gke-dev-cluster-default-pool-...
prometheus-to-...
与节点相同,而其他pods如
event-exporter-v0.3.0-...
stackdriver-metadata-agent-cluster-level-...
fluentd-gcp-scaler-...
heapster-gke-...
kube-dns-...
l7-default-backend-...
metrics-server-v0.3.3-...
例如
kube-system fluentd-gcp-scaler-bfd6cf8dd-58m8j 1/1 Running 0 23h 10.36.1.6 dev-cluster-default-pool-c8a74531-96j4 <none> <none>
kube-system fluentd-gcp-v3.1.1-24n5s 2/2 Running 0 24h 10.10.1.5 dev-cluster-default-pool-c8a74531-96j4 <none> <none>
其中 pod IP 范围为:10.36.0.0/14
节点位于 10.10.1.0/24
在 pod 地址范围内有 IP 地址。前三个具体是什么?
这是因为 pods 例如 kube 代理、Fluentd、Prometheus 直接通过 hostNetwork: true
在主机网络中 运行。您可以描述那些 pods 并验证是否存在 hostNetwork: true
。
现在说到为什么这些 pods 首先需要 运行 在主机网络中,kube 代理需要访问主机的 IP 表,prometheus 收集指标,Fluentd 从主机系统。
您可以使用 hostNetwork: true
部署一个示例 pod,例如 nginx,它将获得节点 IP.If,您删除 hostNetwork: true
它将从 pod CIDR 范围获得 IP。
apiVersion: v1
kind: Pod
metadata:
labels:
run: nginx
name: nginx
spec:
containers:
- image: nginx
name: nginx
restartPolicy: Always
hostNetwork: true
我是 运行 GKE 上的 Kubernetes 集群,我注意到在 kube-system 中 pods 的 IP 地址与
fluentd-gcp-...
kube-proxy-gke-gke-dev-cluster-default-pool-...
prometheus-to-...
与节点相同,而其他pods如
event-exporter-v0.3.0-...
stackdriver-metadata-agent-cluster-level-...
fluentd-gcp-scaler-...
heapster-gke-...
kube-dns-...
l7-default-backend-...
metrics-server-v0.3.3-...
例如
kube-system fluentd-gcp-scaler-bfd6cf8dd-58m8j 1/1 Running 0 23h 10.36.1.6 dev-cluster-default-pool-c8a74531-96j4 <none> <none>
kube-system fluentd-gcp-v3.1.1-24n5s 2/2 Running 0 24h 10.10.1.5 dev-cluster-default-pool-c8a74531-96j4 <none> <none>
其中 pod IP 范围为:10.36.0.0/14
节点位于 10.10.1.0/24
在 pod 地址范围内有 IP 地址。前三个具体是什么?
这是因为 pods 例如 kube 代理、Fluentd、Prometheus 直接通过 hostNetwork: true
在主机网络中 运行。您可以描述那些 pods 并验证是否存在 hostNetwork: true
。
现在说到为什么这些 pods 首先需要 运行 在主机网络中,kube 代理需要访问主机的 IP 表,prometheus 收集指标,Fluentd 从主机系统。
您可以使用 hostNetwork: true
部署一个示例 pod,例如 nginx,它将获得节点 IP.If,您删除 hostNetwork: true
它将从 pod CIDR 范围获得 IP。
apiVersion: v1
kind: Pod
metadata:
labels:
run: nginx
name: nginx
spec:
containers:
- image: nginx
name: nginx
restartPolicy: Always
hostNetwork: true