ฉันพยายามสร้าง Kubernetes Cluster โดยใช้ kubeadm ฉันได้หมุนเซิร์ฟเวอร์ Ubuntu 18.04 ติดตั้งนักเทียบท่า (ตรวจสอบให้แน่ใจว่า docker.service กำลังทำงานอยู่) ติดตั้ง kubeadm kubelet และ kubectl
ต่อไปนี้เป็นขั้นตอนที่ฉันทำ:
sudo apt-get อัปเดต
sudo apt-get install docker.io -y
sudo systemctl เปิดใช้งานนักเทียบท่า
sudo systemctl เริ่มนักเทียบท่า
ขด -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key เพิ่ม
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt-get install kubeadm kubelet kubectl -y
sudo apt-mark ถือ kubeadm kubelet kubectl
รุ่น kubeadm
แลกเปลี่ยน âa
sudo hostnamectl set-hostname มาสเตอร์โหนด
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
ครั้งหนึ่งหลังจากที่ฉันวิ่ง sudo kubeadm init --pod-network-cidr=10.244.0.0/16ฉันได้รับข้อผิดพลาดต่อไปนี้:
root@ip-172-31-10-50:/home/ubuntu# sudo kubeadm init --pod-network-cidr=192.168.0.0/16
[init] ใช้เวอร์ชัน Kubernetes: v1.23.1
[preflight] การตรวจสอบก่อนการบิน
[preflight] การดึงรูปภาพที่จำเป็นสำหรับการตั้งค่าคลัสเตอร์ Kubernetes
[preflight] อาจใช้เวลาหนึ่งหรือสองนาที ขึ้นอยู่กับความเร็วของการเชื่อมต่ออินเทอร์เน็ตของคุณ
[preflight] คุณยังสามารถดำเนินการนี้ล่วงหน้าได้โดยใช้ 'kubeadm config images pull'
[ใบรับรอง] การใช้โฟลเดอร์ certificateDir "/etc/kubernetes/pki"
[ใบรับรอง] การใช้ผู้ออกใบรับรอง ca ที่มีอยู่
[certs] ใช้ใบรับรอง apiserver และคีย์บนดิสก์ที่มีอยู่
[ใบรับรอง] การใช้ใบรับรองและคีย์ไคลเอนต์ apiserver-kubelet ที่มีอยู่ในดิสก์
[ใบรับรอง] การใช้ผู้ออกใบรับรอง front-proxy-ca ที่มีอยู่
[certs] การใช้ใบรับรองและคีย์ของ front-proxy-client ที่มีอยู่ในดิสก์
[ใบรับรอง] การใช้ผู้ออกใบรับรอง etcd/ca ที่มีอยู่
[certs] ใช้ใบรับรอง etcd/server ที่มีอยู่และคีย์บนดิสก์
[ใบรับรอง] การใช้ใบรับรอง etcd/peer ที่มีอยู่และคีย์บนดิสก์
[ใบรับรอง] การใช้ใบรับรองไคลเอนต์ etcd/healthcheck ที่มีอยู่และคีย์บนดิสก์
[certs] การใช้ใบรับรองไคลเอนต์ apiserver-etcd-client ที่มีอยู่และคีย์บนดิสก์
[ใบรับรอง] โดยใช้คีย์ "sa" ที่มีอยู่
[kubeconfig] การใช้โฟลเดอร์ kubeconfig "/etc/kubernetes"
[kubeconfig] ใช้ไฟล์ kubeconfig ที่มีอยู่: "/etc/kubernetes/admin.conf"
[kubeconfig] ใช้ไฟล์ kubeconfig ที่มีอยู่: "/etc/kubernetes/kubelet.conf"
[kubeconfig] ใช้ไฟล์ kubeconfig ที่มีอยู่: "/etc/kubernetes/controller-manager.conf"
[kubeconfig] ใช้ไฟล์ kubeconfig ที่มีอยู่: "/etc/kubernetes/scheduler.conf"
[kubelet-start] การเขียนไฟล์สภาพแวดล้อม kubelet พร้อมแฟล็กไปยังไฟล์ "/var/lib/kubelet/kubeadm-> flags.env"
[kubelet-start] กำลังเขียนการกำหนดค่า kubelet ไปยังไฟล์ "/var/lib/kubelet/config.yaml"
[kubelet-start] การเริ่มต้น kubelet
[ระนาบควบคุม] การใช้โฟลเดอร์รายการ "/etc/kubernetes/manifests"
[control-plane] การสร้างรายการ Pod แบบคงที่สำหรับ "kube-apiserver"
[control-plane] การสร้างรายการ Pod แบบคงที่สำหรับ "kube-controller-manager"
[control-plane] การสร้างรายการ Pod แบบคงที่สำหรับ "kube-scheduler"
[etcd] การสร้างรายการ Pod แบบคงที่สำหรับ etcd ในเครื่องใน "/etc/kubernetes/manifests"
[wait-control-plane] กำลังรอให้ kubelet บูตเครื่องควบคุมเป็น Pods แบบคงที่จากไดเร็กทอรี "/etc/kubernetes/manifests" อาจใช้เวลาถึง 4m0 วินาที
[kubelet-check] หมดเวลาเริ่มต้น 40 วินาที
[kubelet-check] ดูเหมือนว่า kubelet ไม่ทำงานหรือมีสุขภาพดี
[kubelet-check] การเรียก HTTP เท่ากับ 'curl -sSL http://localhost:10248/healthz' ล้มเหลวโดยมีข้อผิดพลาด: รับ "http://localhost:10248/healthz": หมุน tcp 127.0.0.1:10248: เชื่อมต่อ : การเชื่อมต่อถูกปฏิเสธ
ฉันพยายามวิ่ง kubectl init --pod-network-cidr โดยใช้ CIDR ของสักหลาด (10.244.0.0/16) และนอกจากนี้ยังมี CIDR ของ Calico (192.168.0.0/16). อย่างไรก็ตาม ฉันได้รับข้อผิดพลาดเดียวกัน
นอกจากนี้ฉันสังเกตเห็นว่าสถานะของ คูเบเลต ในอินสแตนซ์ EC2 ของฉันมีความผันผวน เมื่อฉันวิ่ง systemctl สถานะ kubelet.serviceบางครั้งก็ไม่ทำงาน และบางครั้ง Kubelet ก็ทำงานอยู่ มันเกิดขึ้นโดยอัตโนมัติ คิดว่านี่คือสิ่งที่ล้มเหลว kubectl เริ่มต้น ตั้งแต่ kubelet ตรวจสอบ พูดอย่างชัดเจนว่า: "ดูเหมือนว่า kubelet ไม่ทำงานหรือมีสุขภาพดี"
หลังจากวิ่ง systemctl สถานะ kubelet.service, ข้อผิดพลาด:
root@ip-172-31-10-50:/home/ubuntu# สถานะ systemctl kubelet.service
â kubelet.service - kubelet: ตัวแทนโหนด Kubernetes
โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/kubelet.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ดรอปอิน: /etc/systemd/system/kubelet.service.d
ââ10-kubeadm.conf
ใช้งานอยู่: กำลังเปิดใช้งาน (รีสตาร์ทอัตโนมัติ) (ผลลัพธ์: exit-code) ตั้งแต่วันพุธที่ 12-2021-2021 17:52:35 UTC; 3 วินาทีที่แล้ว
เอกสาร: https://kubernetes.io/docs/home/
กระบวนการ: 22901 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (รหัส=ออก สถานะ=1/ล้มเหลว)
PID หลัก: 22901 (รหัส=ออก สถานะ=1/ล้มเหลว)
และเมื่อฉันวิ่งต่อไป systemctl สถานะ kubelet.serviceหลังจากนั้นไม่กี่วินาที kubectl.service ก็ดูเหมือนจะทำงานอยู่ และหลังจากนั้นไม่กี่วินาที มันก็ล้มเหลวอีกครั้ง
...ข้าม...
â kubelet.service - kubelet: ตัวแทนโหนด Kubernetes
โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/kubelet.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ดรอปอิน: /etc/systemd/system/kubelet.service.d
ââ10-kubeadm.conf
ใช้งานอยู่: ใช้งานอยู่ (ทำงาน) ตั้งแต่พฤ. 2021-12-30 18:50:49 UTC; 125ms ที่แล้ว
เอกสาร: https://kubernetes.io/docs/home/
PID หลัก: 12895 (kubelet)
งาน: 9 (จำกัด: 4686)
CGroup: /system.slice/kubelet.service
ââ12895 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf > --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib /kubelet/conf
ฉันไม่แน่ใจว่าทำไม kubelet ถึงผันผวนด้วยวิธีนี้
ไม่มีใครรู้วิธีการที่จะแก้ไขปัญหานี้?