Score:0

kubeadm init ล้มเหลวขณะเริ่มต้นคลัสเตอร์ Kubernetes

ธง tn

เวอร์ชันระบบปฏิบัติการ VM - RHEL 8.2 (4.18.0-193.el8.x86_64)
เวอร์ชันนักเทียบท่า - 19.03.8
เวอร์ชัน Kubernetes - 1.18.0
การกำหนดค่า H/W - 4 CPU และ 16 GB RAM (ใช้ได้ 90%)

บันทึกการดำเนินการจาก kubeadm init

$$kubeadm init --kubernetes-version="v1.18.0" --pod-network-cidr="10.244.0.0/16"

W0519 21:08:48.180818 913499 configset.go:202] คำเตือน: kubeadm ไม่สามารถตรวจสอบการกำหนดค่าคอมโพเนนต์สำหรับกลุ่ม API [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[init] ใช้เวอร์ชัน Kubernetes: v1.18.0
[preflight] การตรวจสอบก่อนการบิน
        [คำเตือน IsDockerSystemdCheck]: ตรวจพบ "cgroupfs" เป็นไดรเวอร์ Docker cgroup ไดรเวอร์ที่แนะนำคือ "systemd" โปรดทำตามคำแนะนำที่ https://kubernetes.io/docs/setup/cri/
        [คำเตือน FileExisting-socat]: ไม่พบ socat ในเส้นทางของระบบ
[preflight] การดึงรูปภาพที่จำเป็นสำหรับการตั้งค่าคลัสเตอร์ Kubernetes
[preflight] อาจใช้เวลาหนึ่งหรือสองนาที ขึ้นอยู่กับความเร็วของการเชื่อมต่ออินเทอร์เน็ตของคุณ
[preflight] คุณยังสามารถดำเนินการนี้ล่วงหน้าได้โดยใช้ 'kubeadm config images pull'
[kubelet-start] การเขียนไฟล์สภาพแวดล้อม kubelet พร้อมแฟล็กไปยังไฟล์ "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] กำลังเขียนการกำหนดค่า kubelet ไปยังไฟล์ "/var/lib/kubelet/config.yaml"
[kubelet-start] การเริ่มต้น kubelet
[ใบรับรอง] การใช้โฟลเดอร์ certificateDir "/etc/kubernetes/pki"
[certs] กำลังสร้างใบรับรองและคีย์ "ca"
[certs] กำลังสร้างใบรับรองและคีย์ "apiserver"
[certs] apiserver ที่ให้บริการใบรับรองได้รับการลงชื่อสำหรับชื่อ DNS [host422 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] และ IPs [10.96.0.1 10.180.40.75]
[certs] กำลังสร้างใบรับรองและคีย์ "apiserver-kubelet-client"
[certs] กำลังสร้างใบรับรองและคีย์ "front-proxy-ca"
[certs] กำลังสร้างใบรับรองและคีย์ "front-proxy-client"
[certs] กำลังสร้างใบรับรองและคีย์ "etcd/ca"
[certs] กำลังสร้างใบรับรองและคีย์ "etcd/server"
[certs] ใบรับรองการให้บริการ etcd/server ได้รับการลงชื่อสำหรับชื่อ DNS [host422 localhost] และ IPs [10.180.40.75 127.0.0.1 ::1]
[certs] กำลังสร้างใบรับรองและคีย์ "etcd/peer"
[certs] ใบรับรองการให้บริการ etcd/peer ได้รับการลงชื่อสำหรับชื่อ DNS [host422 localhost] และ IPs [10.180.40.75 127.0.0.1 ::1]
[certs] กำลังสร้างใบรับรองและคีย์ "etcd/healthcheck-client"
[certs] กำลังสร้างใบรับรองและคีย์ "apiserver-etcd-client"
[ใบรับรอง] กำลังสร้างคีย์ "sa" และคีย์สาธารณะ
[kubeconfig] การใช้โฟลเดอร์ kubeconfig "/etc/kubernetes"
[kubeconfig] กำลังเขียนไฟล์ "admin.conf" kubeconfig
[kubeconfig] กำลังเขียนไฟล์ "kubelet.conf" kubeconfig
[kubeconfig] กำลังเขียนไฟล์ "controller-manager.conf" kubeconfig
[kubeconfig] กำลังเขียนไฟล์ kubeconfig "scheduler.conf"
[ระนาบควบคุม] การใช้โฟลเดอร์รายการ "/etc/kubernetes/manifests"
[control-plane] การสร้างรายการ Pod แบบคงที่สำหรับ "kube-apiserver"
[control-plane] การสร้างรายการ Pod แบบคงที่สำหรับ "kube-controller-manager"
W0519 21:08:50.681218 913499 manifests.go:225] โหมดการอนุญาต kube-apiserver เริ่มต้นคือ "Node,RBAC"; ใช้ "โหนด,RBAC"
[control-plane] การสร้างรายการ Pod แบบคงที่สำหรับ "kube-scheduler"
W0519 21:08:50.681948 913499 manifests.go:225] โหมดการอนุญาต kube-apiserver เริ่มต้นคือ "Node,RBAC"; ใช้ "โหนด,RBAC"
[etcd] การสร้างรายการ Pod แบบคงที่สำหรับ etcd ในเครื่องใน "/etc/kubernetes/manifests"
[wait-control-plane] กำลังรอให้ kubelet บูตเครื่องควบคุมเป็น Pods แบบคงที่จากไดเร็กทอรี "/etc/kubernetes/manifests" อาจใช้เวลาถึง 4m0 วินาที
[kubelet-check] หมดเวลาเริ่มต้น 40 วินาที
        ขออภัย เกิดข้อผิดพลาด:
                หมดเวลารอตามเงื่อนไข

        ข้อผิดพลาดนี้น่าจะเกิดจาก:
                - คูเบเลตไม่ทำงาน
                - kubelet ไม่แข็งแรงเนื่องจากการกำหนดค่าโหนดผิดพลาดในทางใดทางหนึ่ง (ปิดใช้งาน cgroups ที่จำเป็น)

        หากคุณอยู่บนระบบที่ขับเคลื่อนด้วย systemd คุณสามารถลองแก้ไขข้อผิดพลาดด้วยคำสั่งต่อไปนี้:
                - 'สถานะ systemctl kubelet'
                - 'วารสาร -xeu kubelet'

        นอกจากนี้ ส่วนประกอบของระนาบควบคุมอาจขัดข้องหรือออกเมื่อเริ่มทำงานโดยคอนเทนเนอร์รันไทม์
        หากต้องการแก้ปัญหา ให้แสดงรายการคอนเทนเนอร์ทั้งหมดโดยใช้ CLI รันไทม์ของคอนเทนเนอร์ที่คุณต้องการ

        ต่อไปนี้คือตัวอย่างวิธีแสดงรายการคอนเทนเนอร์ Kubernetes ทั้งหมดที่ทำงานในนักเทียบท่า:
                - 'นักเทียบท่า ps -a | เกรปคูเบะ | grep -v หยุดชั่วคราว'
                เมื่อคุณพบคอนเทนเนอร์ที่ล้มเหลวแล้ว คุณสามารถตรวจสอบบันทึกด้วย:
                - 'บันทึกนักเทียบท่า CONTAINERID'

ขั้นตอนการดำเนินการข้อผิดพลาด wait-control-plane: ไม่สามารถเริ่มต้นคลัสเตอร์ Kubernetes ได้  

(1) ดำเนินการ swapoff -a
(2) พยายามอัปเดตไดรเวอร์ cgroup ของ docker และ kubelet เป็น systemd
kubeadm reset , swap -a และ iptables ถูกล้างแล้วและพยายามโดยไม่ประสบความสำเร็จ โปรดแจ้งให้เราทราบว่าฉันต้องตรวจสอบอะไรอีกบ้าง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา