คุณสามารถใช้ /etc/default/kubelet
ไฟล์เพื่อแทนที่อาร์กิวเมนต์ kubelet
ตามได้ใน 10-kubeadm.conf
ไฟล์:
...
# นี่คือไฟล์ที่ผู้ใช้สามารถใช้เพื่อแทนที่ kubelet args เป็นทางเลือกสุดท้าย ผู้ใช้ควรใช้
# วัตถุ .NodeRegistration.KubeletExtraArgs ในไฟล์การกำหนดค่าแทน KUBELET_EXTRA_ARGS ควรมาจากไฟล์นี้
EnvironmentFile=-/etc/default/kubelet
...
ฉันจะแสดงให้คุณเห็นว่ามันทำงานอย่างไร
ก่อนอื่น ฉันตั้งค่า Kubernetes controlplane:
#kubeadm เริ่มต้น
[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 กำลังใช้อยู่และสถานะของ แกนกลาง
พ็อด:
# ps aux | 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 รับ pod -n kube-system | grep "คอร์เดนส์"
coredns-78fcd69978-bbc52 0/1 รอดำเนินการ 0 2m26s
coredns-78fcd69978-fdcv9 0/1 รอดำเนินการ 0 2m26s
จากผลลัพธ์ข้างต้น เราจะเห็นว่า --network-plugin=cni
และ แกนกลาง
พ็อดอยู่ใน รอดำเนินการ
สถานะ.
มาสร้างกันเถอะ /etc/default/kubelet
ไฟล์และเขียนอาร์กิวเมนต์ kubelet ที่นั่น:
บันทึก: คุณอาจต้องปรับแต่ง --ฝัก-cidr
และ --pod-infra-container-image
เพื่อให้เหมาะกับความต้องการของคุณ
# แตะ /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 /คูเบเลต
# 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"
จากนั้นเราต้องโหลดการกำหนดค่าตัวจัดการ systemd ใหม่และรีสตาร์ท คูเบเลต
:
# systemctl daemon-โหลดซ้ำ
# systemctl รีสตาร์ท kubelet
สุดท้าย เราตรวจสอบได้ว่าทำงานตามที่คาดไว้หรือไม่:
# ps aux | 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 รับ pod -n kube-system | grep "คอร์เดนส์"
coredns-78fcd69978-bbc52 1/1 วิ่ง 0 6m51s
coredns-78fcd69978-fdcv9 1/1 กำลังทำงาน 0 6m51s
# kubectl รับโหนด
ชื่อ สถานะ บทบาท อายุ รุ่น
kmmaster Ready เครื่องบินควบคุม, master 15m v1.22.2
คุณสามารถทำตามขั้นตอนเหล่านี้สำหรับโหนดทั้งหมดของคุณ
นอกจากนี้ โปรดจำไว้ว่า (สามารถดูข้อมูลเพิ่มเติมได้ใน เอกสารคูเบเน็ท):
Kubenet เป็นปลั๊กอินเครือข่ายพื้นฐานที่เรียบง่ายบน Linux เท่านั้น มันไม่ได้นำคุณสมบัติขั้นสูงเพิ่มเติมเช่นเครือข่ายข้ามโหนดหรือนโยบายเครือข่าย โดยทั่วไปแล้วจะใช้ร่วมกับผู้ให้บริการระบบคลาวด์ที่ตั้งค่ากฎการกำหนดเส้นทางสำหรับการสื่อสารระหว่างโหนดหรือในสภาพแวดล้อมแบบโหนดเดียว