我有一个 kubernetes 集群,有 3 个控制节点、5 个工作节点和 2 个边缘节点。我需要获取每个节点的内部 IP 以创建允许使用 IPBlock 的流量的网络策略。
NAME STATUS ROLES VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
control1 Ready <none> v1.17.4 10.91.1.158 10.91.1.158 CentOS Linux 7 (Core) 4.18.0-147.5.1.el8_1.x86_64 docker://19.3.8
worker1 Ready <none> v1.17.4 10.91.1.159 10.91.1.159 CentOS Linux 7 (Core) 4.18.0-147.5.1.el8_1.x86_64 docker://19.3.8
worker2 Ready <none> v1.17.4 10.91.1.160 10.91.1.160 CentOS Linux 7 (Core) 4.18.0-147.5.1.el8_1.x86_64 docker://19.3.8
edge1 Ready <none> v1.17.4 10.91.1.161 10.91.1.161 CentOS Linux 7 (Core) 4.18.0-147.5.1.el8_1.x86_64 docker://19.3.8
示例网络政策:
Name: my-network-policy
Namespace: test
Spec:
PodSelector: <none> (Allowing the specific traffic to all pods in this namespace)
Allowing ingress traffic:
To Port: <any> (traffic allowed to all ports)
From:
IPBlock:
CIDR: 10.91.1.158/32
Except:
From:
IPBlock:
CIDR: 10.91.1.159/32
Except:
From:
NamespaceSelector: network-policy=test
From:
NamespaceSelector: network-policy in (test)
Not affecting egress traffic
Policy Types: Ingress
有什么办法可以使用 Kube API 使用 CIDR 获取这些内部 IP?或任何 kubectl 命令。