kubernetes:如何检查分配给节点的 pod IP 范围

kubernetes:如何检查分配给节点的 pod IP 范围

Kubernetes 集群中的每个节点都有一个专用的 IP 地址范围,可以分配给 Pod。如何检查该 IP 范围?

答案1

您可以在 OpenShift 中执行以下操作:

# oc get hostsubnet
NAME                  HOST                  HOST IP      SUBNET           EGRESS CIDRS   EGRESS IPS
master0.ocp.lab.edu   master0.ocp.lab.edu   10.9.1.175   192.168.2.0/23
master1.ocp.lab.edu   master1.ocp.lab.edu   10.9.1.176   192.168.0.0/23
master2.ocp.lab.edu   master2.ocp.lab.edu   10.9.1.177   192.169.0.0/23
worker0.ocp.lab.edu   worker0.ocp.lab.edu   10.9.1.178   192.170.0.0/23
worker1.ocp.lab.edu   worker1.ocp.lab.edu   10.9.1.179   192.171.0.0/23

在 Kubernetes 中如下:

k get nodes -o custom-columns=NODE:.metadata.name,POD_CIDR:.spec.podCIDR
NODE              POD_CIDR
master.lab.edu    192.168.0.0/24
worker0.lab.edu   192.168.1.0/24
worker1.lab.edu   192.168.2.0/24

注意:- 在 kubernetes 中,您还可以看到针对工作节点:

k get nodes -o custom-columns=NODE:.metadata.name,POD_CIDR:.spec.podCIDR

NODE              POD_CIDR
master.lab.edu    192.168.1.0/24
worker0.lab.edu   <none>
worker1.lab.edu   <none>

这意味着您需要在“kubeadm init”过程中分配 /16 作为 pod 网络 cidr。

答案2

你可以做这样的事情

[root@kmaster ~]# k get nodes
NAME                 STATUS   ROLES           AGE   VERSION
kmaster.mylab.edu    Ready    control-plane   26h   v1.25.4
kworker0.mylab.edu   Ready    <none>          25h   v1.25.4
kworker1.mylab.edu   Ready    <none>          25h   v1.25.4
[root@kmaster ~]# k describe node | egrep -w  "PodCIDR:|Name:"
Name:               kmaster.mylab.edu
PodCIDR:                      10.244.0.0/24
Name:               kworker0.mylab.edu
PodCIDR:                      10.244.1.0/24
Name:               kworker1.mylab.edu
PodCIDR:                      10.244.3.0/24
[root@kmaster ~]#

答案3

其中一种方法是检查 etcd。

oc rsh -n openshift-etcd etcd-master02

要检查分配给特定节点的 pod 范围:

etcdctl get /kubernetes.io/network.openshift.io/hostsubnets/master01

在输出中,您将看到一个子网,例如“10.8.2.0/23”`

列出所有集群节点的分配:

etcdctl get --prefix /kubernetes.io/network.openshift.io/hostsubnets/

相关内容