calico 指定pod 網段


分配4個C的子網,比如 172.22.132.0/22

其中大數據應用連接 mq, iptable做了限制,只允許指定IP訪問, 所以需要從 172.22.132.0/22 切出子網

規划如下:

大數據網絡: 172.22.135.0/25     使用IP126個

其他pod網絡: 172.22.132.0/23  使用pod 512個

calicoctl create -f -<<EOF
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: bgdata-receiver-ipv4pool
spec:
  blockSize: 26
  cidr: 172.22.135.0/25
  ipipMode: Never
  nodeSelector: all()
  vxlanMode: Never
  natOutgoing: false
EOF



calicoctl create -f -<<EOF
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: default-ipv4-ippool
spec:
  blockSize: 26
  cidr: 172.22.132.0/23
  ipipMode: Never
  nodeSelector: all()
  vxlanMode: Never
  natOutgoing: false
EOF

 

 

 

主要利用calico組件的兩個kubernetes注解:

cni.projectcalico.org/ipAddrs

    metadata:
      labels:
        app: testnginx
      annotations:
        "cni.projectcalico.org/ipAddrs": "[\"172.22.135.1\"]"

 

cni.projectcalico.org/ipv4pools

對於deployment

[root@master1 ~]# cat nginx.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: testnginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: testnginx
  template:
    metadata:
      labels:
        app: testnginx
      annotations:
        "cni.projectcalico.org/ipv4pools": "[\"bgdata-receiver-ipv4pool\"]"
    spec:
      containers:
      - image: 172.22.1.1/source/nginx:latest
        imagePullPolicy: Always
        name: testnginx
        ports:
        - containerPort: 80
          name: testnginx
          protocol: TCP

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM