Bạn có thể dùng /etc/default/kubelet
file để ghi đè đối số kubelet.
Như có thể tìm thấy trong 10-kubeadm.conf
tập tin:
...
# Đây là tệp mà người dùng có thể sử dụng để ghi đè đối số kubelet như là phương sách cuối cùng. Tốt nhất, người dùng nên sử dụng
# thay vào đó, đối tượng .NodeRegistration.KubeletExtraArgs trong tệp cấu hình. KUBELET_EXTRA_ARGS phải được lấy từ tệp này.
Tệp môi trường=-/etc/default/kubelet
...
Tôi sẽ chỉ cho bạn cách nó hoạt động.
Đầu tiên, tôi thiết lập mặt phẳng điều khiển Kubernetes:
# kubeadm init
[init] Sử dụng phiên bản 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
Sau khi khởi tạo thành công, chúng ta có thể kiểm tra giá trị của --mạng-plugin
đối số mà kubelet hiện đang sử dụng và trạng thái của lõi
Vỏ:
# ps aux | grep "kubelet" | grep "plugin mạng"
gốc 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 "lõi"
coredns-78fcd69978-bbc52 0/1 Đang chờ xử lý 0 2m26s
coredns-78fcd69978-fdcv9 0/1 Đang chờ xử lý 0 2m26s
Từ đầu ra trên, chúng ta có thể thấy rằng --mạng-plugin=cni
và lõi
Vỏ quả nằm trong Chưa giải quyết
tiểu bang.
Hãy tạo ra /etc/default/kubelet
file và viết các đối số kubelet ở đó:
GHI CHÚ: Bạn có thể cần phải tùy chỉnh các --pod-cidr
và --pod-infra-container-image
để phù hợp với nhu cầu của bạn.
# chạm /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
# mèo /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"
Sau đó, chúng ta cần tải lại cấu hình trình quản lý systemd và khởi động lại kubelet
:
# systemctl daemon-tải lại
# systemctl khởi động lại kubelet
Cuối cùng, chúng ta có thể kiểm tra xem nó có hoạt động như mong đợi không:
# ps aux | grep "kubelet" | grep "plugin mạng"
gốc 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 "lõi"
coredns-78fcd69978-bbc52 1/1 Chạy 0 6m51s
coredns-78fcd69978-fdcv9 1/1 Chạy 0 6m51s
# kubectl nhận các nút
TÊN TÌNH TRẠNG VAI TRÒ TUỔI PHIÊN BẢN
kmaster Ready control-plane,master 15m v1.22.2
Bạn có thể làm theo các bước sau cho tất cả các nút của mình.
Ngoài ra, hãy nhớ rằng (có thể tìm thêm thông tin trong tài liệu kubenet):
Kubenet là một plugin mạng đơn giản, rất cơ bản, chỉ dành cho Linux. Bản thân nó không triển khai các tính năng nâng cao hơn như mạng chéo nút hoặc chính sách mạng. Nó thường được sử dụng cùng với nhà cung cấp đám mây thiết lập quy tắc định tuyến để liên lạc giữa các nút hoặc trong môi trường một nút.