Вопрос по установке 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 под любой пул. Это работает сейчас, я только что проверил.