繁体   English   中英

为什么 fluentd/kube-proxy/prometheus 的 GKE 中的 IP 地址等于节点地址

[英]Why are IP adresses in GKE for fluentd / kube-proxy/prometheus equal to node addresses

我在 GKE 上运行 Kubernetes 集群,我注意到在 kube-system 中,Pod 的 IP 地址与

fluentd-gcp-...
kube-proxy-gke-gke-dev-cluster-default-pool-...
prometheus-to-...

与节点的相同,而其他 pod 如

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 地址。 前三个具体是什么?

这是因为 kube proxy、Fluentd、Prometheus 等 pod 直接通过hostNetwork: true在主机网络中运行。 您可以描述这些 pod 并验证hostNetwork: true是否存在。

现在说到为什么这些 Pod 首先需要在主机网络中运行,kube 代理需要访问主机的 IP 表,prometheus 收集指标,Fluentd 从主机系统收集日志。

您可以使用hostNetwork: true部署一个示例 pod,例如 nginx,它将获得节点 IP。如果删除hostNetwork: true ,它将从 pod 范围中获得 IP。

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nginx
  name: nginx
spec:
  containers:
  - image: nginx
    name: nginx
  restartPolicy: Always
  hostNetwork: true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM