ฉันกำลังเผชิญกับสิ่งนี้ ข้อผิดพลาดของคูเบล บนคลัสเตอร์ k8s ของฉันที่เรียกใช้ CentOS 7 ข้อผิดพลาดนี้ปรากฏขึ้นหลังจากที่ฉันรีบูตโหนดคลัสเตอร์เมื่อเร็วๆ นี้ ฉันไม่พบปัญหาที่คล้ายกันก่อนหน้านี้ ฉันจะรีบูตเครื่อง
ฉันพยายามวิ่ง สลับ -a
เพื่อปิดใช้งานการสลับ แต่ไม่สามารถแก้ไขปัญหาได้
นี่คือ systemctl สถานะ kubelet -l
บันทึก:
[root@test-master ~]# systemctl สถานะ kubelet -l
â kubelet.service - kubelet: ตัวแทนโหนด Kubernetes
โหลดแล้ว: โหลดแล้ว (/usr/lib/systemd/system/kubelet.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: ปิดใช้งาน)
ดรอปอิน: /usr/lib/systemd/system/kubelet.service.d
ââ10-kubeadm.conf
ใช้งานอยู่: กำลังเปิดใช้งาน (รีสตาร์ทอัตโนมัติ) (ผลลัพธ์: exit-code) ตั้งแต่วันจันทร์ที่ 2022-05-30 13:59:51 +08; 822ms ที่แล้ว
เอกสาร: https://kubernetes.io/docs/
กระบวนการ: 9325 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (รหัส=ออก สถานะ=1/ล้มเหลว)
PID หลัก: 9325 (รหัส=ออก สถานะ=1/ล้มเหลว)
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. (เลิกใช้แล้ว: พารามิเตอร์นี้ควรตั้งค่าผ่านไฟล์ปรับแต่งที่ระบุโดยแฟล็ก --config ของ Kubelet โปรดดู https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ สำหรับข้อมูลเพิ่มเติม)
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --tls-min-version string รองรับเวอร์ชัน TLS ขั้นต่ำ ค่าที่เป็นไปได้: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13 (เลิกใช้แล้ว: พารามิเตอร์นี้ควรตั้งค่าผ่านไฟล์ปรับแต่งที่ระบุโดยแฟล็ก --config ของ Kubelet ดู https://kubernetes.io/docs/tasks/administer-cluster/kubelet- config-file/ สำหรับข้อมูลเพิ่มเติม)
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --tls-private-key-file string ไฟล์ที่มีการจับคู่คีย์ส่วนตัว x509 --tls-cert-file (เลิกใช้แล้ว: พารามิเตอร์นี้ควรตั้งค่าผ่านไฟล์ปรับแต่งที่ระบุโดยแฟล็ก --config ของ Kubelet โปรดดู https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ สำหรับข้อมูลเพิ่มเติม)
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --topology-manager-policy string นโยบาย Topology Manager ที่จะใช้ ค่าที่เป็นไปได้: 'none', 'best-effort', 'restricted', 'single-numa-node' (ค่าเริ่มต้น "ไม่มี") (เลิกใช้แล้ว: พารามิเตอร์นี้ควรตั้งค่าผ่านไฟล์กำหนดค่าที่ระบุโดยแฟล็ก --config ของ Kubelet ดู https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ สำหรับข้อมูลเพิ่มเติม.)
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --topology-manager-scope string ขอบเขตที่ใช้คำแนะนำโทโพโลยี Topology Manager รวบรวมคำใบ้จาก Hint Providers และนำไปใช้กับขอบเขตที่กำหนดเพื่อให้แน่ใจว่าการรับเข้าพ็อด ค่าที่เป็นไปได้: 'คอนเทนเนอร์', 'พ็อด' (ค่าเริ่มต้น "คอนเทนเนอร์") (เลิกใช้แล้ว: พารามิเตอร์นี้ควรตั้งค่าผ่านไฟล์กำหนดค่าที่ระบุโดยแฟล็ก --config ของ Kubelet ดู https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ สำหรับข้อมูลเพิ่มเติม.)
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: -v, --v หมายเลขระดับสำหรับการใช้คำฟุ่มเฟือยระดับบันทึก
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --version version[=true] พิมพ์ข้อมูลเวอร์ชันและออก
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --vmodule pattern=N,... รายการที่คั่นด้วยเครื่องหมายจุลภาคของการตั้งค่า pattern=N สำหรับการบันทึกไฟล์ที่กรอง (ใช้ได้เฉพาะกับรูปแบบบันทึกข้อความ)
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --volume-plugin-dir string เส้นทางแบบเต็มของไดเร็กทอรีที่จะค้นหาปลั๊กอินโวลุ่มบุคคลที่สามเพิ่มเติม (ค่าเริ่มต้น "/usr/libexec/kubernetes/kubelet -plugins/volume/exec/") (เลิกใช้แล้ว: พารามิเตอร์นี้ควรตั้งค่าผ่านไฟล์กำหนดค่าที่ระบุโดยแฟล็ก --config ของ Kubelet โปรดดู https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config -file/ สำหรับข้อมูลเพิ่มเติม)
30 พฤษภาคม 13:59:51 kubelet ทดสอบหลัก [9325]: --volume-stats-agg-period ระยะเวลา ระบุช่วงเวลาสำหรับ kubelet เพื่อคำนวณและแคชการใช้ดิสก์โวลุ่มสำหรับพ็อดและวอลุ่มทั้งหมด หากต้องการปิดใช้งานการคำนวณปริมาตร ให้ตั้งค่าเป็นจำนวนลบ (ค่าเริ่มต้น 1m0s) (เลิกใช้แล้ว: พารามิเตอร์นี้ควรตั้งค่าผ่านไฟล์ปรับแต่งที่ระบุโดยแฟล็ก --config ของ Kubelet ดู https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ สำหรับข้อมูลเพิ่มเติม ข้อมูล.)
นี่คือเนื้อหาของ /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
กล่าวถึงในบันทึกก่อนหน้า:
[root@test-master ~]# cat /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
# หมายเหตุ: dropin นี้ใช้ได้กับ kubeadm และ kubelet v1.11+ เท่านั้น
[บริการ]
สภาพแวดล้อม = "KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
สภาพแวดล้อม = "KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# นี่คือไฟล์ที่ "kubeadm init" และ "kubeadm join" สร้างขึ้นที่รันไทม์ เติมตัวแปร KUBELET_KUBEADM_ARGS แบบไดนามิก
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# นี่คือไฟล์ที่ผู้ใช้สามารถใช้เพื่อแทนที่ kubelet args เป็นทางเลือกสุดท้าย ผู้ใช้ควรใช้
# วัตถุ .NodeRegistration.KubeletExtraArgs ในไฟล์การกำหนดค่าแทน KUBELET_EXTRA_ARGS ควรมาจากไฟล์นี้
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
ฉันได้ลองเพิ่ม สภาพแวดล้อม = "KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --fail-swap-on=false"
ไปยังไฟล์ที่กล่าวถึง ที่นี่ พร้อมด้วย systemctl daemon-โหลดซ้ำ
และ systemctl รีสตาร์ท kubelet
แต่มันไม่ได้ช่วย
ขออภัย ฉันไม่แน่ใจเกี่ยวกับเวอร์ชันของเซิร์ฟเวอร์ แต่ควรเป็นเวอร์ชันเดียวกับของฉัน เวอร์ชันไคลเอนต์ [v1.23.3].
[root@test-master ~]# เวอร์ชัน kubectl
เวอร์ชันไคลเอนต์: version.Info{ เมเจอร์:"1", รอง:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"สะอาด", BuildDate:"2022-01-25T21:25: 17Z", GoVersion:"go1.17.6", คอมไพเลอร์:"gc", แพลตฟอร์ม:"linux/amd64"}
การเชื่อมต่อกับเซิร์ฟเวอร์ 10.17.98.171:6443 ถูกปฏิเสธ - คุณระบุโฮสต์หรือพอร์ตที่ถูกต้องหรือไม่
มีวิธีใดบ้างที่ฉันสามารถกอบกู้คลัสเตอร์ของฉันโดยไม่ต้องรีเซ็ตคลัสเตอร์ทั้งหมด ฉันหวังว่าฉันจะสามารถเข้าถึงการปรับใช้ของฉันก่อนหน้านี้ที่ทำงานอยู่ในคลัสเตอร์
อัปเดต:
ฉันพยายามค้นหาข้อความแสดงข้อผิดพลาดในบันทึกโดยใช้ วารสารctl -fu kubelet
และนี่คือสิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้
31 พฤษภาคม 08:58:12 test-master systemd[1]: kubelet.service หมดเวลาแล้ว กำลังตั้งเวลารีสตาร์ท
31 พฤษภาคม 08:58:12 test-master systemd[1]: หยุด kubelet: ตัวแทนโหนด Kubernetes
31 พฤษภาคม 08:58:12 test-master systemd[1]: เริ่ม kubelet: Kubernetes Node Agent
31 พฤษภาคม 08:58:12 kubelet ทดสอบหลัก [5280]: ข้อผิดพลาด: ไม่สามารถแยกวิเคราะห์การตั้งค่าสถานะ kubelet: การตั้งค่าสถานะที่ไม่รู้จัก: --network-plugin
นอกจากนี้นี่คือของฉัน รุ่นของ kubelet Kubernetes v1.24.1
.
ดูเหมือนว่าจะเกี่ยวข้องกับปัญหานี้ใน GitHub https://github.com/kubernetes/website/issues/33640.