Это руководство относится к Alpine/CentOS/Debian/Ubuntu
ждатьВерсия ядра больше 4Операционная система,Некоторые специально указанные шаги можно игнорировать в других операционных системах; среда развертывания в этой статье основана на локальной интрасети, а на сервере имеется несколько доступных сетевых карт.
cgroup
поддерживать(толькоAlpine
Исполнение системы)if [ -f /etc/update-extlinux.conf ]; then
if ! grep -q cgroup /etc/update-extlinux.conf; then
mods="cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory"
sed -i "s/rootfstype=ext4/rootfstype=ext4 $mods/" /etc/update-extlinux.conf
update-extlinux
reboot
fi
fi
AlpineLinux
Не поддерживается установкой по умолчаниюcgroup
,Поэтому вам нужно изменить элементы автозагрузки
# Адрес интрасети главного сервера k3s
export MY_SERVER_IP=172.21.0.11
# токен аутентификации k3s, любая строка
export MY_TOKEN=943uoeitg4sh43589j38uj8irr439943oit
# Номер устройства внутренней сетевой карты, `ifconfig` Проверять
export MY_ETH_DEV=eth0
# Автоматически получить локальный IP-адрес. Если его невозможно получить, укажите его вручную.
export MY_NODE_IP=`ip -o -4 addr list | grep $MY_ETH_DEV | awk '{print $4}' | cut -d/ -f1`
Обязательно измените его в соответствии с вашей средой, иначе служба может не запуститься. пожалуйста
3、4、5
Выполнение каждого шага отдельно. Предустановленные переменные среды позволяют унифицировать параметры установки и снизить вероятность ошибок.
wget -qO- https://get.k3s.io | sh -s - server \
--cluster-init \
--token $MY_TOKEN \
--node-ip $MY_NODE_IP \
--advertise-address $MY_NODE_IP \
--flannel-iface $MY_ETH_DEV \
--disable-cloud-controller
Брандмауэр необходимо освободить
TCP/6443
,UDP/8472
,TCP/10250
Одна сетевая карта, один IP Машина может игнорировать следующие параметры
--node-ip
--flannel-iface
Следующие встроенные компоненты можно выборочно отключить в зависимости от требований кластера.
--disable-cloud-controller
Отключить диспетчер облачных контроллеров--disable coredns
Отключить внутренний DNS (для поддержки обнаружения служб)--disable servicelb
Отключите балансировку нагрузки (используйте MetalLB
альтернатива)--disable traefik
Отключите обратный прокси (используйте ingress-nginx
альтернатива)--disable local-storage
Отключить тома локального хранилища (не влияет hostPath
рулон)--disable metrics-server
Внутренний мониторинг отключен (рабочий порт TCP/10250
)wget -qO- https://get.k3s.io | sh -s - server \
--server https://$MY_SERVER_IP:6443 \
--token $MY_TOKEN \
--node-ip $MY_NODE_IP \
--advertise-address $MY_NODE_IP \
--flannel-iface $MY_ETH_DEV \
--disable-cloud-controller
Чтобы упростить развертывание, параметры конфигурации должны соответствовать параметрам первого главного узла. Рекомендуется, чтобы общее количество главных узлов было нечетным, чтобы предотвратить сбой при выборе в случае сбоя главного узла.
wget -qO- https://get.k3s.io | sh -s - agent \
--server https://$MY_SERVER_IP:6443 \
--token $MY_TOKEN \
--node-ip $MY_NODE_IP \
--flannel-iface $MY_ETH_DEV
Брандмауэр необходимо освободить
UDP/8472
,TCP/10250
Одна сетевая карта, один IP Машина может игнорировать следующие параметры
--node-ip
--flannel-iface
# Проверять Все узлы
kubectl get node
# Проверять Все приложения
kubectl get pod -A -o wide
# Все услуги Проверять
kubectl get service -A
kubectl get ingress -A
# Проверять контейнер, работающий на узле
crictl ps
# Удалить сервер
if type k3s-uninstall.sh >/dev/null; then
k3s-uninstall.sh
fi
# Удалить краевой узел
if type k3s-agent-uninstall.sh >/dev/null; then
k3s-agent-uninstall.sh
fi
# Очистка после перезагрузки
rm -rf ~/.kube
rm -rf /etc/rancher
rm -rf /var/lib/cni
rm -rf /var/lib/rancher
rm -rf /var/lib/kubelet
rm -rf /var/log/containers
rm -rf /var/log/k3s*
rm -rf /var/log/pods
/usr/local/bin/k3s
и дайте права на исполняемый файлexport INSTALL_K3S_SKIP_DOWNLOAD=true
Пропустить загрузкуПроверка по тегу этого сайта 《Kubernetes Проведите через дверь》 Серия статей