kubernetes: как проверить диапазон IP-адресов модуля, выделенный узлу
Каждый узел в кластере Kubernetes имеет выделенный диапазон IP-адресов, которые он может назначать подам. Как можно проверить, что это за диапазон IP?
2 ответа
Вы можете сделать это в 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>
Это означает, что вам нужно выделить /16 как cidr сети модуля во время процесса «kubeadm init».
Один из способов — проверить etcd.
oc rsh -n openshift-etcd etcd-master02
Чтобы проверить диапазон модулей, выделенных определенному узлу:
etcdctl get /kubernetes.io/network.openshift.io/hostsubnets/master01
В выводе вы увидите подсеть, например «10.8.2.0/23» `
Чтобы вывести список выделений для всех узлов кластера:
etcdctl get --prefix /kubernetes.io/network.openshift.io/hostsubnets/