Разные pod CIDR для разных развертываний Kubernetes - PullRequest
0 голосов
/ 18 июня 2020

Я работаю над проектом, в котором мне нужно запустить конкретное развертывание с определенным диапазоном c CIDR. Есть ли способ сделать это?

Мне нужны эти диапазоны CIDR для разных развертываний.

Например:

  1. Развертывание 1 - иметь 10 реплики, работающие с CIDR 10.10.10.0/24

  2. Развертывание 1 - иметь 10 реплик, работающих с CIDR 10.10.11.0/24

1 Ответ

1 голос
/ 19 июня 2020

Этого можно достичь с помощью IPPool Calico.

  1. установите kubernetes с помощью calico.

  2. вы создаете IPPool, скопируйте содержимое Yaml ниже в файл.

apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: pool1
spec:
  cidr: 192.168.0.0/18
  ipipMode: Never
  natOutgoing: true
  disabled: false
  nodeSelector: all()

и примените приведенный выше yaml с помощью следующей команды

calicoctl create -f pool1.yaml

Теперь разверните любую подобную службу

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
      annotations:
        "cni.projectcalico.org/ipv4pools": "[\"192.168.0.0/18\"]"
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Примените выше yaml, используя

kubectl apply -f nginx.yaml

Проверьте ip запущенных модулей, используя

kubectl get pods -o wide
...