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

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 28: Строка 28:
 
=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
  +
  +
<PRE>
  +
/etc/systemd/system/etcd.service
  +
</PRE>
  +
<PRE>
  +
[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
  +
<PRE>
   
 
=Связнные статьи=
 
=Связнные статьи=

Версия 16:21, 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

Абсолютно необходимый шаг это настройка - настройка инфраструктуры ключей и сертефикатов

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