Вопрос по установке Calico для Kubernetes

У меня есть два вопроса:

Фон:

  • Я пытаюсь настроить Kubernetes в своей домашней сети с одним Мастером и Единственным Миньоном (плюс портить Мастера, чтобы он мог запускать Бобы).
  • Я использую kubeadm для установки.
  • Я хочу использовать Calico для CNI.
  • Домашняя локальная сеть имеет CIDR подсети 192.168.10.0/24.
  • Я устанавливаю Calico, используя метод "etcd datastore".

Calico имеет CIDR Pod Network по умолчанию 192.160.0.0/16, и документ утверждает, что он не должен перекрываться с физической сетью. Я могу изменить этот параметр в calico.yaml, но в документации также указано, что нужно настроить etc_endpoints.

Q1. Зачем мне нужно настраивать etcd_endpoint?

Q2. Где я могу найти значение?

1 ответ

Если вы хотите использовать Calico, вы должны использовать другой диапазон IP-адресов для домашней сети, потому что Calico использует 192.168.0.0/16 сеть. Вы можете изменить свою домашнюю сеть на 10.0.0.0/8 или меньше или 172.16.0.0/16, В качестве альтернативы вы можете выбрать другой CNI для вашего кластера. Изменение CALICO_IPV4POOL_CIDR в YAML недостаточно. Диапазон IP 192.168.0.0/16 используется во многих местах.

Обновить

Вам не нужно предварительно настраивать его, если вы используете значения по умолчанию, только проверьте, подходит ли это конечная точка. Из файла, предоставленного kubernetes docs:

# Calico Version v3.1.3
# https://docs.projectcalico.org/v3.1/releases#v3.1.3
# This manifest includes the following component versions:
#   calico/node:v3.1.3
#   calico/cni:v3.1.3

# This ConfigMap is used to configure a self-hosted Calico installation.
kind: ConfigMap
apiVersion: v1
metadata:
  name: calico-config
  namespace: kube-system
data:
  # To enable Typha, set this to "calico-typha" *and* set a non-zero value for Typha replicas
  # below.  We recommend using Typha if you have more than 50 nodes. Above 100 nodes it is
  # essential.
  typha_service_name: "none"

  # The CNI network configuration to install on each node.
  cni_network_config: |-

Там нет необходимости etcd_endpoints потому что он используется как кластер Kubernetes и т. д.

в официальном Calico Doc новая версия Calico.

конфиг

# Calico Version v3.2.3
# https://docs.projectcalico.org/v3.2/releases#v3.2.3
# This manifest includes the following component versions:
#   calico/node:v3.2.3
#   calico/cni:v3.2.3
#   calico/kube-controllers:v3.2.3

# This ConfigMap is used to configure a self-hosted Calico installation.
kind: ConfigMap
apiVersion: v1
metadata:
  name: calico-config
  namespace: kube-system
data:
  # Configure this with the location of your etcd cluster.
  etcd_endpoints: "http://10.96.232.136:6666"

  # If you're using TLS enabled etcd uncomment the following.
  # You must also populate the Secret below with these files.
  etcd_ca: ""   # "/calico-secrets/etcd-ca"
  etcd_cert: "" # "/calico-secrets/etcd-cert"
  etcd_key: ""  # "/calico-secrets/etcd-key"
  # Configure the Calico backend to use.
  calico_backend: "bird"

В новейшей версии Calico вам необходимо предоставить etcd_endpoints вручную на любой свободный IP-адрес, из пула IP-адресов служб или, если вы используете настройки по умолчанию, вы можете оставить все как есть. Это будет новый etcd, который будет запущен для нужд Calico. и вы можете изменить свой CIDR под любой пул. Это работает сейчас, я только что проверил.

Другие вопросы по тегам