Điểm:0

lỗi kubelet, trạng thái bị kẹt trên 'Đang hoạt động: đang kích hoạt (tự động khởi động lại)'

lá cờ it

tôi đang phải đối mặt với điều này lỗi kubelet trên cụm k8s của tôi đang chạy CentOS 7. Lỗi này xuất hiện sau khi tôi khởi động lại các nút cụm gần đây. Tôi chưa gặp phải vấn đề tương tự trước đây khi tôi khởi động lại máy.

tôi đã thử chạy hoán đổi -a để vô hiệu hóa trao đổi nhưng nó không khắc phục được sự cố.

Đây là trạng thái systemctl kubelet -l nhật ký:

[root@test-master ~]# systemctl status kubelet -l
â kubelet.service - kubelet: Tác nhân nút Kubernetes
   Đã tải: đã tải (/usr/lib/systemd/system/kubelet.service; đã bật; giá trị đặt sẵn của nhà cung cấp: đã tắt)
  Truy cập: /usr/lib/systemd/system/kubelet.service.d
           ââ10-kubeadm.conf
   Đang hoạt động: đang kích hoạt (tự động khởi động lại) (Kết quả: mã thoát) kể từ Thứ Hai 2022-05-30 13:59:51 +08; 822ms trước
     Tài liệu: https://kubernetes.io/docs/
  Quá trình: 9325 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (mã=đã thoát, trạng thái=1/THẤT BẠI)
 PID chính: 9325 (mã=đã thoát, trạng thái=1/THẤT BẠI)

May 30 13:59:51 test-master kubelet[9325]: Insecure values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_RC4_128_SHA. (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --tls-min-version string Phiên bản TLS tối thiểu được hỗ trợ. Các giá trị có thể có: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13 (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet- config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --tls-private-key-file string Tệp chứa khóa riêng x509 khớp với --tls-cert-file. (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --topology-manager-policy string Chính sách quản lý cấu trúc liên kết sẽ sử dụng. Các giá trị có thể có: 'none', 'best-effort', 'restricted', 'single-numa-node'. (mặc định là "none") (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --topology-manager-scope string Phạm vi áp dụng gợi ý cấu trúc liên kết. Trình quản lý cấu trúc liên kết thu thập các gợi ý từ Nhà cung cấp gợi ý và áp dụng chúng cho phạm vi đã xác định để đảm bảo tiếp nhận nhóm. Các giá trị có thể có: 'container', 'pod'. ("vùng chứa" mặc định) (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: -v, --v Số cấp cho mức độ chi tiết của nhật ký
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --version version[=true] In thông tin phiên bản và thoát
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --vmodule pattern=N,... danh sách được phân tách bằng dấu phẩy của các cài đặt pattern=N cho ghi nhật ký được lọc tệp (chỉ hoạt động với định dạng nhật ký văn bản)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --volume-plugin-dir string Đường dẫn đầy đủ của thư mục để tìm kiếm các plugin ổ đĩa bổ sung của bên thứ ba (mặc định "/usr/libexec/kubernetes/kubelet -plugins/volume/exec/") (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config -file/ để biết thêm thông tin.)
Ngày 30 tháng 5 13:59:51 test-master kubelet[9325]: --volume-stats-agg-period duration Chỉ định khoảng thời gian để kubelet tính toán và lưu vào bộ nhớ cache mức sử dụng ổ đĩa cho tất cả các nhóm và ổ đĩa. Để tắt tính toán khối lượng, hãy đặt thành số âm. (1m0s mặc định) (KHÔNG ĐƯỢC DÙNG: Tham số này phải được đặt thông qua tệp cấu hình được chỉ định bởi cờ --config của Kubelet. Xem https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ để biết thêm thông tin.)

Đây là nội dung của /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf đã đề cập trong nhật ký trước:

[root@test-master ~]# mèo /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
# Lưu ý: Dropin này chỉ hoạt động với kubeadm và kubelet v1.11+
[Dịch vụ]
Môi trường="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Môi trường="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# Đây là tệp mà "kubeadm init" và "kubeadm join" tạo ra trong thời gian chạy, tự động điền biến KUBELET_KUBEADM_ARGS
Tệp môi trường=-/var/lib/kubelet/kubeadm-flags.env
# Đâ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/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS

Tôi cũng đã thử thêm Môi trường="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --fail-swap-on=false" đến tập tin được đề cập đây cùng với systemctl daemon-tải lạisystemctl khởi động lại kubelet nhưng nó không giúp được gì.

Thật không may, tôi không chắc lắm về phiên bản của máy chủ nhưng nó phải giống với phiên bản của tôi phiên bản máy khách [v1.23.3].

[root@test-master ~]# phiên bản kubectl
Phiên bản máy khách: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:25: 17Z", GoVersion:"go1.17.6", Trình biên dịch:"gc", Nền tảng:"linux/amd64"}
Kết nối với máy chủ 10.17.98.171:6443 bị từ chối - bạn đã chỉ định đúng máy chủ hoặc cổng chưa?

Có cách nào tôi có thể cứu cụm của mình mà không phải đặt lại toàn bộ cụm không? Tôi hy vọng tôi có thể truy cập các triển khai của mình trước đó đã chạy trong cụm.


Cập nhật:

Tôi đã cố gắng tìm các thông báo lỗi trong nhật ký bằng cách sử dụng tạp chíctl -fu kubelet và đây là thứ gần nhất tôi có thể tìm thấy.

Ngày 31 tháng 5 08:58:12 test-master systemd[1]: kubelet.service hết thời gian chờ, lên lịch khởi động lại.
Ngày 31 tháng 5 08:58:12 test-master systemd[1]: Đã dừng kubelet: Tác nhân nút Kubernetes.
Ngày 31 tháng 5 08:58:12 test-master systemd[1]: Bắt đầu kubelet: Tác nhân nút Kubernetes.
Ngày 31 tháng 5 08:58:12 test-master kubelet[5280]: Lỗi: không thể phân tích cú pháp cờ kubelet: cờ không xác định: --network-plugin

Ngoài ra, đây là của tôi phiên bản của kubelet Kubernetes v1.24.1.

Có vẻ như nó liên quan đến vấn đề này trên GitHub, https://github.com/kubernetes/website/issues/33640.

Joe S avatar
lá cờ it
@SYN Cảm ơn vì lời đề nghị, điều đó đã giúp tôi thu hẹp vấn đề.
SYN avatar
lá cờ hk
SYN
API kubernetes không thể truy cập được, theo "phiên bản kubectl" của bạn. Kiểm tra dịch vụ API kubernetes của bạn (hoặc nhóm). Sau đó kiểm tra "journalctl -fu kubelet", cái này sẽ nói rõ hơn kubelet systemctl status mà bạn đã chia sẻ cho đến nay. Sẽ có rất nhiều nhật ký, hãy tìm một số tiền tố "E" (lỗi).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.