Kubernetes the hard way
Материал из noname.com.ua
Kubernetes the hard way
Тут заметки о том как я пробую заставить себя изучить K8S
Я попробовал творчески переосмыслить это руководство и так же добавить свои пояснения что и нахрена я делаю и почему именно так. Настраиваю k8s я первый раз и тут возможны ошибки.
Описание "лаборатории"
- Натройка каталиста C3560 C3560_for_lab
- Используется три ноды которые имитируют три раззных AZ в пределах одного региона
- Для сервисов задаются ДНС-записи если это необходимо
- Каждая нода находится в своем VLAN
- node 1 AZ1 == VLAN 2001 == 10.240.1.2/24, GW (catalyst) 10.240.1.1
- node 2 AZ2 == VLAN 2001 == 10.240.2.2/24, GW (catalyst) 10.240.2.1
- node 3 AZ3 == VLAN 2001 == 10.240.3.2/24, GW (catalyst) 10.240.3.1
PKI
Абсолютно необходимый шаг это настройка - настройка инфраструктуры ключей и сертефикатов
- Предварительная настройка (Vault) - https://noname.com.ua/mediawiki/index.php/Vault_PKI
Перед началом работы распределить CA по всем нодам
curl http://vault.home:8200/v1/pki_root_ca/ca/pem -o /usr/local/share/ca-certificates/rootCA.crt update-ca-certificates
Etcd
/etc/systemd/system/etcd.service
[Unit] Description=etcd Documentation=https://github.com/coreos [Service] Type=notify ExecStart=/usr/local/bin/etcd \\ --name ${ETCD_NAME} \\ --cert-file=/etc/etcd/kubernetes.pem \\ --key-file=/etc/etcd/kubernetes-key.pem \\ --peer-cert-file=/etc/etcd/kubernetes.pem \\ --peer-key-file=/etc/etcd/kubernetes-key.pem \\ --trusted-ca-file=/etc/etcd/ca.pem \\ --peer-trusted-ca-file=/etc/etcd/ca.pem \\ --peer-client-cert-auth \\ --client-cert-auth \\ --initial-advertise-peer-urls https://${INTERNAL_IP}:2380 \\ --listen-peer-urls https://${INTERNAL_IP}:2380 \\ --listen-client-urls https://${INTERNAL_IP}:2379,https://127.0.0.1:2379 \\ --advertise-client-urls https://${INTERNAL_IP}:2379 \\ --initial-cluster-token etcd-cluster-0 \\ --initial-cluster controller-0=https://10.240.0.10:2380,controller-1=https://10.240.0.11:2380,controller-2=https://10.240.0.12:2380 \\ --initial-cluster-state new \\ --data-dir=/var/lib/etcd Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Связнные статьи
При подготовке пришлось настроить некоторые сервисы или железки (которые не относятся непосредственно к K8S но тем не менее необходимы)