Отредактировано 4 несколько месяцев назад от ExtremeHow Редакционная команда
FedoraKubernetesОркестрация контейнеровУстановкаПрограммное обеспечениеРазработкаКомандная строкаТерминалАдминистрирование системыКомпьютеры
Перевод обновлен 4 несколько месяцев назад
Kubernetes, часто сокращаемый как K8s, является платформой с открытым исходным кодом, используемой для управления контейнеризованными рабочими нагрузками и сервисами. Он помогает автоматизировать развертывание, масштабирование и эксплуатацию контейнеров приложений в кластере хоста. Установка Kubernetes на Fedora может стать полезным опытом, особенно для разработчиков, которые хотят поэкспериментировать с оркестрацией контейнеров на своих локальных системах. Ниже мы пошагово проведем вас через детальный процесс установки Kubernetes на систему Fedora, с примерами и объяснениями для обеспечения плавной настройки.
Прежде чем перейти к процессу установки, есть несколько предварительных требований и вещей, которые следует учесть:
Первый шаг — это обновление системы Fedora, чтобы убедиться, что все пакеты и зависимости актуальны. Используйте следующую команду:
sudo dnf update -y
Эта команда загрузит и установит последние обновления, обеспечивая готовность системы к Kubernetes.
Kubernetes требует среды выполнения контейнера, и Docker является одним из наиболее часто используемых вариантов. Чтобы установить Docker на Fedora, следуйте этим шагам:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker sudo systemctl enable docker
После установки Docker, проверьте установку, проверив её статус с помощью sudo systemctl status docker
.
Security-Enhanced Linux (SELinux) — это функция безопасности ядра Linux, которая обеспечивает механизм поддержания политик контроля доступа. Kubernetes и среды выполнения контейнеров иногда имеют проблемы с SELinux, поэтому рекомендуется установить его в режим permissive.
sudo setenforce 0
Сделайте это изменение постоянным, отредактировав файл конфигурации SELinux:
sudo vi /etc/selinux/config
Измените строку SELINUX=enforcing
на SELINUX=permissive
. Сохраните и выйдите из редактора.
Теперь вам нужно добавить репозиторий Kubernetes, из которого вы установите необходимые пакеты. Используйте следующие шаги:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg https://packages.cloud.google.com/yum/doc/yum-key.gpg EOF
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable kubelet
Это основные компоненты Kubernetes. kubelet
— агент, который работает на каждом узле. kubeadm
— инструмент для начальной настройки кластера. kubectl
— инструмент командной строки для взаимодействия с кластером.
Измените настройки системы для сетей Kubernetes. Откройте конфигурационный файл sysctl и измените настройки:
sudo vi /etc/sysctl.d/k8s.conf
Чтобы гарантировать правильную обработку сетевых пакетов для мостового трафика, добавьте следующие строки:
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
Примените эти изменения:
sudo sysctl --system
Память Swap должна быть отключена для оптимальной работы Kubernetes. Отключите swap временно и постоянно с помощью следующей команды:
Временно отключить swap:
sudo swapoff -a
Постоянно отключить swap: Отредактируйте файл /etc/fstab
и закомментируйте все строки, относящиеся к разделам swap. Используйте:
sudo vi /etc/fstab
Найдите строку, содержащую запись swap, и добавьте #
в начале, чтобы закомментировать её.
Вы будете использовать kubeadm для инициализации главного узла Kubernetes. Этот шаг также настраивает необходимую контрольную плоскость. Выполните инициализацию с помощью:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
Аргумент --pod-network-cidr
указывает диапазон IP для сети подов. Он может изменяться в зависимости от используемого сетевого решения.
После успешной инициализации команда вернет команду присоединения kubeadm. Сохраните её для последующего добавления дополнительных узлов в кластер.
Чтобы инструмент kubectl работал корректно как не от имени root, настройте локальный файл kubeconfig:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Эти команды создают каталог конфигурации и копируют учетные данные администрирования, чтобы вы могли использовать kubectl без необходимости использовать sudo каждый раз.
Kubernetes требует наличия дополнения Pod Network. Наиболее популярным вариантом является Flannel. Разверните Flannel в своем кластере с помощью:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Это настроит узлы Kubernetes для взаимодействия друг с другом через виртуальную сеть Flannel.
После настройки проверьте статус узлов своего кластера следующим образом:
kubectl get nodes
Вы должны увидеть, что ваша система отображается с статусом "Ready". Дополнительно проверьте все системные поды с помощью следующей команды:
kubectl get pods --all-namespaces
Поздравляем, вы успешно установили Kubernetes на Fedora. Как только ваш кластер будет запущен и работает, вы можете начинать развертывание приложений и эффективно управлять контейнеризованными рабочими нагрузками. Этот процесс установки, хотя и детализирован, охватывает все необходимые шаги для настройки вашей среды для обучения и разработок. Будущая администрация может включать управление разрешениями, масштабирование и поддержание здоровья кластера, обеспечивая вам возможность создания глубокого понимания Kubernetes на системах Fedora.
Помните, Kubernetes — это мощная система, которая может требовать много времени для обучения. Однако работа с установкой и настройкой вручную, как упомянуто выше, предоставляет неоценимый практический опыт и углубляет ваше понимание оркестрации контейнеров в реальных сценариях.
Если вы найдете что-то неправильное в содержании статьи, вы можете