Подготовка инфраструктуры k3s

Перед началом подготовки контейнерной инфраструктуры, необходимо провести подготовку хост-системы

Установка из сети Интернет

Установка системы оркестрации контейнеров k3s

Порядок выполняемых действий:

  1. установить систему оркестрации контейнеров k3s, выполнив команду:

    sudo curl -sfL https://get.k3s.io | sh -
  2. проверить состояние сервиса k3s с помощью команды:

    sudo systemctl status k3s
  3. вывести список всех узлов кластера с помощью команды:

    sudo kubectl get nodes

    Пример вывода:

    NAME       STATUS   ROLES                  AGE     VERSION
    isolated   Ready    control-plane,master   8m59s   v1.32.6+k3s1

Настройка containerd

Порядок выполняемых действий:

  1. открыть настройки сервиса containerd, выполнив команду:

    sudo nano /etc/systemd/system/k3s.service
  2. задать значение LimitNOFILE:

    [Service]
    LimitNOFILE=65536
    Настройка containerd
  3. перезапустить сервис k3s, чтобы новая конфигурация вступила в силу, выполнив команды:

    sudo systemctl daemon-reload
    sudo systemctl restart k3s

Настройка пользовательского окружения

Порядок выполняемых действий:

  1. скопировать конфигурацию k3s в домашний каталог пользователя root:

    • войти с правами пользователя root, выполнив команду:

      sudo su -
    • выполнить копирование конфигурации k3s:

      cd /root
      mkdir -p ~/.kube
      cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
      chown $(id -u):$(id -g) ~/.kube/config
      export KUBECONFIG=~/.kube/config
      
      tee -a ~/.bashrc > /dev/null <<EOF
      export KUBECONFIG=~/.kube/config
      EOF
      Появление сообщения mkdir: невозможно создать каталог «/root/.kube»: Файл существует не является ошибкой.
      Данный каталог уже был создан ранее, предупреждение можно проигнорировать и продолжить процесс копирования конфигурации k3s
    • выйти из режима пользователя root, выполнив команду:

      exit

      При необходимости, конфигурацию k3s можно скопировать в собственную домашнюю директорию, выполнив следующие действия:

      sudo mkdir ~/.kube
      sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
      sudo chown $(id -u):$(id -g) ~/.kube/config
      export KUBECONFIG=~/.kube/config
      
      tee -a ~/.bashrc > /dev/null <<EOF
      export KUBECONFIG=~/.kube/config
      EOF

      Для проверки использовать команду:

      kubectl get nodes

      Пример вывода:

      NAME       STATUS   ROLES                  AGE   VERSION
      isolated   Ready    control-plane,master   16m   v1.32.6+k3s1
Процесс удаления k3s описан в дополнительной информации

Установка менеджера пакетов Helm

Helm — менеджер пакетов для Kubernetes, предназначенный для упрощения развертывания, управления, обновления и обслуживания приложений, состоящих из множества Kubernetes-объектов.

Для установки Helm необходимо выполнить команду:

sudo curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Для проверки версии необходимо выполнить команду:

helm version