Загрузка данных


Отлично, это финальный этап настройки «головы» кластера. Нам нужно собрать все параметры в один файл /etc/kubernetes/kubeadm-config.yaml.
## Шаг 1: Создание конфигурационного файла (Пункты a-e)
Выполни на k8s-srv1. Обрати внимание на podSubnet (стандарт для Calico) и serviceSubnet.

sudo mkdir -p /etc/kubernetes/

sudo tee /etc/kubernetes/kubeadm-config.yaml <<EOF
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
# b.i: Путь к сокету CRI
nodeRegistration:
  criSocket: unix:///run/containerd/containerd.sock
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
# c.i: Версия
kubernetesVersion: "1.35.0"
# c.ii: Адрес VIP через HAProxy (из п. 12)
controlPlaneEndpoint: "192.168.0.253:7443"
networking:
  # c.iii: Подсеть для Calico
  podSubnet: "192.168.128.0/17"
  # c.iv: Подсеть для сервисов (стандартная или из задания)
  serviceSubnet: "10.96.0.0/12"
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
# d.i: Режим IPVS
mode: "ipvs"
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
# e.i: NodeLocalDNS адрес
clusterDNS:
  - "169.254.25.10"
cgroupDriver: systemd
EOF

------------------------------
## Шаг 2: Инициализация кластера (Пункт f)
Перед запуском убедись, что HAProxy и Keepalived запущены, иначе kubeadm не сможет подключиться к самому себе через VIP.
Выполни на k8s-srv1:

sudo kubeadm init --config /etc/kubernetes/kubeadm-config.yaml --upload-certs

## Что нужно сделать сразу после завершения команды:

   1. Настрой kubectl для пользователя (на k8s-srv1):
   
   mkdir -p $HOME/.kube
   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
   sudo chown $(id -u):$(id -g) $HOME/.kube/config
   
   2. Сохрани вывод команды!
   В конце ты увидишь два важных блока join. Тебе понадобятся:
   * Тот, что содержит --control-plane и --certificate-key — для srv2 и srv3.
      * Тот, что обычный join — для воркеров srv4 и srv5.
   3. Проверь статус:
   kubectl get nodes — покажет k8s-srv1 в статусе NotReady (это нормально, пока не поставлен CNI Calico).

------------------------------
## Важный момент для Альта:
Если команда зависнет на [preflight] Pulling images, это значит, она скачивает образы из интернета. Это может занять время. Если доступа в интернет нет, образы нужно загружать заранее.
Запуск прошел успешно? Если будут ошибки, пришли последние 10 строк вывода.