พ็อดในคลัสเตอร์ Kubernetes ของฉันติดอยู่ที่ "ContainerCreating" หลังจากรันการสร้าง ฉันจะดูบันทึกการทำงานนี้เพื่อวิเคราะห์สาเหตุที่ติดอยู่ได้อย่างไร kubectl logs
ดูเหมือนจะไม่ทำงานเนื่องจากคอนเทนเนอร์ต้องอยู่ในสถานะไม่รอดำเนินการ
พ็อดในคลัสเตอร์ Kubernetes ของฉันติดอยู่ที่ "ContainerCreating" หลังจากรันการสร้าง ฉันจะดูบันทึกการทำงานนี้เพื่อวิเคราะห์สาเหตุที่ติดอยู่ได้อย่างไร kubectl logs
ดูเหมือนจะไม่ทำงานเนื่องจากคอนเทนเนอร์ต้องอยู่ในสถานะไม่รอดำเนินการ
คำตอบ:
kubectl describe pods
จะแสดงรายการกิจกรรมทั้งหมดที่เกี่ยวข้องกับพ็อดรวมถึงการดึงรูปภาพเริ่มต้นของคอนเทนเนอร์ มันอาจจะช่วยได้
ในกรณีของฉันการเข้าถึงอินเทอร์เน็ตของนักเทียบท่านั้นถูกปิดกั้น มันได้รับการแก้ไขโดยใช้พร็อกซี่ ( โดยใช้ความคิดเห็นของ sandylss ):
minikube stop
minikube delete
export http_proxy=http://user:pass@ip:port
export https_proxy=http://user:pass@ip:port
export no_proxy=192.168.99.0/24
minikube start --logtostderr --v=0 --bootstrapper=localkube --vm-driver hyperv
--hyperv-virtual-switch "Primary Virtual Switch" --docker-env HTTP_PROXY=$http_proxy \
--docker-env HTTPS_PROXY=$https_proxy --docker-env NO_PROXY=$no_proxy
export no_proxy=$no_proxy,$(minikube ip)
export NO_PROXY=$no_proxy,$(minikube ip)
จากนั้นหากต้องการตรวจสอบว่านักเทียบท่ามีการเข้าถึงอินเทอร์เน็ตหรือไม่ให้เรียกใช้:
$ docker pull tutum/hello-world
ในคลัสเตอร์ (เชื่อมต่อกับคลัสเตอร์โดยใช้minikube ssh
); หยุดกระบวนการถ้ามันเริ่มดาวน์โหลด
ปัญหาที่สองของฉันคือการเชื่อมต่ออินเทอร์เน็ตช้า เนื่องจากภาพของนักเทียบท่าที่ต้องการนั้นอยู่ที่ 100 MB ทั้งที่เก็บนักเทียบท่าและฝัก Kubernetes ยังคงอยู่\pause
และอยู่ในContainerCreating
สถานะเป็นเวลา 30 นาที
ในการตรวจสอบว่านักเทียบท่ากำลังดาวน์โหลดภาพหรือไม่ให้เรียกใช้:
$ ls -l /var/lib/docker/tmp
ในคลัสเตอร์ซึ่งแสดงไฟล์รูปภาพชั่วคราว [s] ที่ถูกดาวน์โหลดว่างเปล่าเป็นอย่างอื่น
หากคุณมีการพัฒนาใน minikube และการใช้ VPN, นักเทียบท่าสามารถใช้ VPN ของคุณผ่านทางไวโอลิน นั่นคือนักเทียบท่าจะเชื่อมต่อกับ ip: พอร์ตของพู้ทำเล่นและพู้ทำเล่นเชื่อมต่อกับ VPN มิฉะนั้น VPN จะไม่แชร์ระหว่างโฮสต์ของคุณกับ minikube VM
ครั้งหนึ่งที่ฉันโดนสิ่งนี้เป็นเพราะการประกาศทรัพยากรของฉันมีขนาดเล็กมากโดยบังเอิญ
ทรัพยากร: ข้อ จำกัด : cpu: หน่วยความจำ 1000 เมตร: คำขอ 1024M: cpu: หน่วยความจำ 1,000 เมตร: 1024M
VS
ทรัพยากร: ข้อ จำกัด : cpu: หน่วยความจำ 1000 เมตร: คำขอ 1024m: cpu: หน่วยความจำ 1,000 เมตร: 1024m
การใช้ประโยชน์จาก m ทำให้เกิดความแตกต่างอย่างมากในการใช้ทรัพยากร ฉันติดอยู่ที่ ContainerCreating เพราะฉันไม่ได้ให้หน่วยความจำเพียงพอกับคอนเทนเนอร์ของฉัน
ContainerCreating
...