เวอร์ชันระบบปฏิบัติการ 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 ถูกล้างแล้วและพยายามโดยไม่ประสบความสำเร็จ โปรดแจ้งให้เราทราบว่าฉันต้องตรวจสอบอะไรอีกบ้าง