Kubernetes the hard way: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 26: Строка 26:
 
Абсолютно необходимый шаг это настройка - настройка инфраструктуры ключей и сертефикатов
 
Абсолютно необходимый шаг это настройка - настройка инфраструктуры ключей и сертефикатов
 
* Предварительная настройка (Vault) - https://noname.com.ua/mediawiki/index.php/Vault_PKI
 
* Предварительная настройка (Vault) - https://noname.com.ua/mediawiki/index.php/Vault_PKI
  +
  +
  +
Перед началом работы распределить CA по всем нодам
  +
<PRE>
  +
curl http://vault.home:8200/v1/pki_root_ca/ca/pem -o /usr/local/share/ca-certificates/rootCA.crt
  +
update-ca-certificates
  +
</PRE>
  +
 
=Etcd=
 
=Etcd=
 
* wget https://github.com/etcd-io/etcd/releases/download/v3.5.1/etcd-v3.5.1-linux-arm64.tar.gz
 
* wget https://github.com/etcd-io/etcd/releases/download/v3.5.1/etcd-v3.5.1-linux-arm64.tar.gz

Версия 16:27, 21 октября 2021

Kubernetes the hard way

Тут заметки о том как я пробую заставить себя изучить K8S

Я попробовал творчески переосмыслить это руководство и так же добавить свои пояснения что и нахрена я делаю и почему именно так. Настраиваю k8s я первый раз и тут возможны ошибки.

Описание "лаборатории"

  • Используется три ноды которые имитируют три раззных 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.2.2/24, GW (catalyst) 10.240.3.1

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 но тем не менее необходимы)