Вы можете использовать /etc/по умолчанию/кубелет
файл для переопределения аргументов kubelet.
Как можно найти в 10-kubeadm.conf
файл:
...
# Это файл, который пользователь может использовать для переопределения аргументов kubelet в крайнем случае. Желательно, чтобы пользователь использовал
# вместо этого объект .NodeRegistration.KubeletExtraArgs в файлах конфигурации. KUBELET_EXTRA_ARGS должен быть получен из этого файла.
EnvironmentFile=-/etc/default/kubelet
...
Я покажу вам, как это работает.
Сначала я настроил плоскость управления Kubernetes:
# кубеадм инит
[init] Использование версии Kubernetes: v1.22.2
...
# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
После успешной инициализации мы можем проверить значение --сетевой-плагин
аргумент, который в настоящее время использует kubelet, и статус сердцевина
Поды:
# пс вспомогательный | grep "кубелет" | grep "сетевой плагин"
корень 27488 5,1 3,6 1816612 145808 ? SSL 10:42 0:01 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/ kubelet/config.yaml --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.5
# kubectl get pod -n kube-system | grep "корднс"
coredns-78fcd69978-bbc52 0/1 В ожидании 0 2m26s
coredns-78fcd69978-fdcv9 0/1 В ожидании 0 2m26s
Из приведенного выше вывода мы видим, что --network-plugin=cni
и сердцевина
Поддоны находятся в В ожидании
государство.
Давайте создадим /etc/по умолчанию/кубелет
файл и пишем туда аргументы kubelet:
ПРИМЕЧАНИЕ: Возможно, вам потребуется настроить --pod-cidr
и --pod-инфра-контейнер-изображение
в соответствии с вашими потребностями.
# коснитесь /etc/default/kubelet
# echo 'KUBELET_KUBEADM_ARGS="--network-plugin=kubenet --pod-cidr=10.20.0.0/24 --pod-infra-container-image=k8s.gcr.io/pause:3.5"' > /etc/default /кубелет
# кошка /etc/default/kubelet
KUBELET_KUBEADM_ARGS="--network-plugin=kubenet --pod-cidr=10.20.0.0/24 --pod-infra-container-image=k8s.gcr.io/pause:3.5"
Затем нам нужно перезагрузить конфигурацию диспетчера systemd и перезапустить кубелет
:
# системная перезагрузка демона
# systemctl перезапустить кубелет
Наконец, мы можем проверить, работает ли он так, как ожидалось:
# пс вспомогательный | grep "кубелет" | grep "сетевой плагин"
корень 27841 6,9 3,5 1890600 143760 ? Ssl 10:47 0:01 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/ kubelet/config.yaml --network-plugin=kubenet --pod-cidr=10.20.0.0/24 --pod-infra-container-image=k8s.gcr.io/pause:3.5
# kubectl get pod -n kube-system | grep "корднс"
coredns-78fcd69978-bbc52 1/1 Работает 0 6m51s
coredns-78fcd69978-fdcv9 1/1 Работает 0 6m51s
# kubectl получить узлы
ИМЯ СТАТУС РОЛИ ВОЗРАСТ ВЕРСИЯ
kmaster Готовый контрольный самолет,мастер 15м v1.22.2
Вы можете выполнить эти шаги для всех ваших узлов.
Кроме того, помните, что (дополнительную информацию можно найти в кубенет документация):
Kubenet — это очень простой сетевой плагин, предназначенный только для Linux. Сам по себе он не реализует более продвинутые функции, такие как межузловая сеть или сетевая политика. Обычно он используется вместе с поставщиком облачных услуг, который устанавливает правила маршрутизации для связи между узлами или в средах с одним узлом.