# kubectl get pod -A -o wide|grep kube-node18
...
ns-demo service-5f5b786556-xp2st 1/1 Running 0 34d 172.23.14.198 kube-node18
ns-demo service-6b4bd8c9ff-w57ln 1/1 Running 0 5d16h 172.23.15.28 kube-node18
上述代码中的同一台宿主机,kube-node18
分配了172.23.14.198
和172.23.15.28
两个不同段的IP。如何解决在同一台宿主机上只分配一个IP段?
Calico自定义配置如下:
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
name: default
spec:
calicoNetwork:
ipPools:
- blockSize: 26
cidr: 192.168.0.0/16
encapsulation: VXLANCrossSubnet
natOutgoing: Enabled
nodeSelector: all()
---
apiVersion: operator.tigera.io/v1
kind: APIServer
metadata:
name: default
spec: {}
BlockSize=26,也就是说一个IPBlock包含64个IP,而目前每台节点的Pod数量限制是默认的110,所以会生成2个Block。
如果你想每台node只存在一个段:
BlockSize=25
,128个ip。BlockSize=24
,256个ip。默认每台节点pod数量限制是
110
,将BlockSize
调整25
就涵盖了。如果改过每台节点的Pod数量限制,改为24
,256
个ip,该C类地址都给你用。你的答案