Kubernet terjebak di ContainerCreating

100

Sebuah pod di kluster Kubernet saya macet di "ContainerCreating" setelah menjalankan suatu buat. Bagaimana cara melihat log untuk operasi ini untuk mendiagnosis mengapa macet? kubectl logstampaknya tidak berfungsi karena wadah harus dalam keadaan non-pending.

empat43
sumber
kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/… adalah dokumentasi pada fase-fase yang mungkin. Sayangnya itu tidak termasuk ContainerCreating...
Xiong Chiamiov

Jawaban:

126

kubectl describe podsakan mencantumkan semua peristiwa yang terkait dengan pod, termasuk menarik gambar, mulai dari wadah. Mungkin bisa membantu.

Sreekanth Pothanis
sumber
5
bagaimana jika kontainer macet di ContainerCreating tanpa ada kejadian apa pun? bagi saya acara ditampilkan sebagai "Tidak ada acara."
Bob
1
Beberapa acara tampaknya perlu waktu untuk muncul. Sebagai contoh, timeout yang mencoba me-mount disk untuk saya membutuhkan waktu sekitar 2 menit sebelum muncul sebagai suatu peristiwa.
jwadsack
8
Itu terjadi ketika Anda menggunakan rahasia dan itu tidak ditemukan (seperti salah ketik di yaml atau Anda lupa membuatnya sebelumnya). Untuk hampir semua kesalahan lainnya yang mungkin terjadi, CrashLoopback atau status Kesalahan akan tetapi terselip di ContainerCreating, jika Anda mendeskripsikan podnya, Anda akan melihat di bagian paling akhir sebuah pesan yang mengatakan bahwa rahasia itu tidak ditemukan, tetapi hampir tidak dikatakan. tidak ada masalah.
danius
Ya biasanya Anda tidak memiliki acara apa pun sebelum dia mulai melakukan sesuatu.
erikbwork
Terjadi pada saya pagi ini dan itu salah ketik di hostPath untuk volume. Keyboard lengket Yay.
Joe Block
4

Dalam kasus saya, akses buruh pelabuhan ke internet diblokir. Itu dipecahkan menggunakan proxy ( menggunakan komentar sandylss ):

  1. minikube stop
  2. minikube delete
  3. export http_proxy=http://user:pass@ip:port
  4. export https_proxy=http://user:pass@ip:port
  5. export no_proxy=192.168.99.0/24
  6. 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
    
  7. export no_proxy=$no_proxy,$(minikube ip)
  8. export NO_PROXY=$no_proxy,$(minikube ip)

Kemudian, untuk memeriksa apakah buruh pelabuhan memiliki akses ke internet, jalankan:

$ docker pull tutum/hello-world

di cluster (terhubung ke cluster menggunakan minikube ssh); hentikan proses jika mulai mengunduh.

Masalah kedua saya adalah koneksi internet yang lambat. Karena gambar buruh pelabuhan yang diperlukan adalah di urutan 100MB, kedua kontainer buruh pelabuhan dan pod Kubernetes tetap di \pausedan ContainerCreatingmenyatakan selama 30 menit.

Untuk memeriksa apakah buruh pelabuhan mengunduh gambar, jalankan:

$ ls -l /var/lib/docker/tmp

di kluster, yang menunjukkan file gambar sementara [s] yang sedang diunduh, kosongkan sebaliknya.

Jika Anda mengembangkan di minikube dan menggunakan VPN, buruh pelabuhan dapat menggunakan VPN Anda melalui fiddler . Yaitu, buruh pelabuhan akan terhubung ke ip: port, dan fiddler terhubung ke VPN. Jika tidak, VPN tidak dibagi antara host Anda dan VM minikube.

pengguna477273
sumber
Kena bit bug ini hari ini. Masih tidak yakin apa yang menyebabkannya. Segalanya bekerja dengan baik satu menit dan selanjutnya, masalah ini muncul. Terima kasih atas perbaikannya. Itu berhasil untuk saya.
Jim
0

Satu kali saya mengenai ini adalah karena pernyataan sumber daya saya secara tidak sengaja sangat kecil.

sumber daya: batas: cpu: memori 1000m: permintaan 1024M: cpu: memori 1000m: 1024M

vs.

sumber daya: batas: cpu: memori 1000m: permintaan 1024m: cpu: memori 1000m: 1024m

mengkapitalisasi bahwa m membuat perbedaan yang sangat besar dalam penggunaan sumber daya. Saya terjebak di ContainerCreating karena saya belum memberikan memori yang cukup untuk wadah saya.

Luis Felipe Moura Pereira De S
sumber