ฉันพยายามสร้าง kubernetes โดยใช้ kubeadm บนเซิร์ฟเวอร์โลหะเปล่าที่มีคอนเทนเนอร์เป็น cri แต่ดูเหมือนว่า coredns ไม่สามารถเริ่มทำงานหลังจากติดตั้ง cni (weave-net)
ขณะนี้คอนเทนเนอร์ coredns สองรายการอยู่ในสถานะ "CrashLoopBackOff" และบันทึกของคอนเทนเนอร์เหล่านี้คือ:
ปลั๊กอิน/ส่งต่อ: ไม่พบเนมเซิร์ฟเวอร์
และคำอธิบายของ "kubectl อธิบายพ็อด" มีดังนี้:
เหตุการณ์:
พิมพ์อายุเหตุผลจากข้อความ
---- ------ ---- ---- -------
คำเตือน FailedScheduling 4m52s (x9 over 13m) default-scheduler มีโหนด 0/1 โหนด: 1 โหนดมีเทนต์ {node.kubernetes.io/not-ready: } ที่พ็อดไม่ทน
ตัวกำหนดตารางเวลาเริ่มต้นปกติ 4m7s กำหนด kube-system/coredns-58cf647449-8pq7k เป็น k8s เรียบร้อยแล้ว
ปกติดึง 3m13s (x4 มากกว่า 4m6s) kubelet คอนเทนเนอร์อิมเมจ "localhost:5000/coredns:v1.8.4" มีอยู่แล้วในเครื่อง
ปกติสร้าง 3m13s (x4 มากกว่า 4m6s) kubelet สร้างคอนเทนเนอร์ coredns
ปกติเริ่มต้น 3m13s (x4 มากกว่า 4m6s) kubelet เริ่มต้นคอนเทนเนอร์ coredns
คำเตือนโพรบความพร้อม kubelet 3m13s ที่ไม่แข็งแรงล้มเหลว: รับ "http://10.32.0.3:8181/ready": หมุน tcp 10.32.0.3:8181: เชื่อมต่อ: การเชื่อมต่อถูกปฏิเสธ
คำเตือน BackOff 2m54s (x12 มากกว่า 4m5s) kubelet Back-off การรีสตาร์ทคอนเทนเนอร์ล้มเหลว
หากฉันเพิ่มการตั้งค่าบางอย่าง เช่น "nameserver 8.8.8.8" บน /etc/resolv.conf coredns pods จะเริ่มทำงาน อย่างไรก็ตาม ขณะนี้ฉันไม่ได้ใช้ DNS ภายนอกเลย และด้วย Docker เป็น cri ทำให้ coredns ทำงานได้ดีแม้ว่าจะไม่มีการตั้งค่าบน /etc/resolv.conf
เป็นไปได้ไหมที่จะจัดการกับปัญหานี้โดยไม่ตั้งค่าเซิร์ฟเวอร์ dns อัพสตรีมบน resolv.conf
ข้อมูลเซิร์ฟเวอร์:
ระบบปฏิบัติการ: RedHat Enterprise Linux 8.4
cr: คอนเทนเนอร์ 1.4.11
cni: สานสุทธิ 1.16
เครื่องมือ: kubeadm, kubectl, kubelet 1.22.1
ฉันได้ลองใช้ผ้าดิบเป็น cni เช่นกัน แต่ผลลัพธ์ก็เหมือนกัน