Puteți folosi /etc/default/kubelet
fișier pentru a suprascrie argumentele kubelet.
După cum poate fi găsit în 10-kubeadm.conf
fişier:
...
# Acesta este un fișier pe care utilizatorul îl poate folosi pentru suprascrieri ale argumentelor kubelet ca ultimă soluție. De preferință, utilizatorul ar trebui să folosească
# obiectul .NodeRegistration.KubeletExtraArgs din fișierele de configurare. KUBELET_EXTRA_ARGS ar trebui să provină din acest fișier.
EnvironmentFile=-/etc/default/kubelet
...
Îți voi arăta cum funcționează.
Mai întâi, am configurat planul de control Kubernetes:
# kubeadm init
[init] Folosind versiunea 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
După inițializare cu succes, putem verifica valoarea lui --network-plugin
argument pe care kubelet îl folosește în prezent și starea lui coredns
Poduri:
# ps aux | grep „kubelet” | grep „plugin de rețea”
rădăcină 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"
coredns-78fcd69978-bbc52 0/1 În așteptare 0 2m26s
coredns-78fcd69978-fdcv9 0/1 În așteptare 0 2m26s
Din rezultatul de mai sus, putem vedea asta --network-plugin=cni
și coredns
Podurile sunt în In asteptarea
stat.
Să creăm /etc/default/kubelet
fișier și scrieți argumentele kubelet acolo:
NOTĂ: Poate fi necesar să personalizați --pod-cidr
și --pod-infra-container-image
pentru a se potrivi nevoilor dvs.
# atingeți /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 /kubelet
# cat /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"
Apoi trebuie să reîncărcăm configurația managerului de sistem și să repornim kubelet
:
# systemctl daemon-reload
# systemctl reporniți kubelet
În cele din urmă, putem verifica dacă funcționează conform așteptărilor:
# ps aux | grep „kubelet” | grep „plugin de rețea”
rădăcină 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"
coredns-78fcd69978-bbc52 1/1 Alergare 0 6m51s
coredns-78fcd69978-fdcv9 1/1 Alergare 0 6m51s
# kubectl obține noduri
NUME STARE ROLURI VÂRSTA VERSIUNE
Avion de control kmaster Ready, master 15m v1.22.2
Puteți urma acești pași pentru toate nodurile dvs.
În plus, vă rugăm să rețineți că (mai multe informații pot fi găsite în documentația kubenet):
Kubenet este un plugin de rețea foarte simplu, de bază, numai pe Linux. Nu implementează în sine funcții mai avansate, cum ar fi rețelele între noduri sau politica de rețea. Este de obicei folosit împreună cu un furnizor de cloud care stabilește reguli de rutare pentru comunicarea între noduri sau în medii cu un singur nod.