ฉันมี kubeadm เวอร์ชันนี้
[root@megatron ~]# เวอร์ชัน kubeadm
รุ่น kubeadm: &version.Info {หลัก:"1", รอง:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"สะอาด", BuildDate:"2022-05-03T13:44: 24Z", GoVersion:"go1.18.1", คอมไพเลอร์:"gc", แพลตฟอร์ม:"linux/amd64"}
นักเทียบท่าของฉันได้รับการตั้งค่าและทำงานอย่างถูกต้อง และสามารถดึงรูปภาพที่จำเป็นทั้งหมดผ่านพร็อกซีที่ฉันใช้ได้อย่างง่ายดายและเหมาะสม
ฉันมีการกำหนดค่าพร็อกซี HTTP ทั่วทั้งบอร์ดในโปรไฟล์และ bashrc และสภาพแวดล้อม ฯลฯ
เมื่อฉันพยายามเรียกใช้ kubeadm และให้ดึงรูปภาพหมดเวลา
I0520 10:56:32.085975 260833 version.go:186] กำลังดึงข้อมูลเวอร์ชัน Kubernetes จาก URL: https://dl.k8s.io/release/stable-1.txt
สถานะทางออก 1
เอาต์พุต: เวลา="2022-05-20T10:59:03-04:00" level=fatal msg="การดึงรูปภาพ: ข้อผิดพลาด rpc: รหัส = Unknown desc = ล้มเหลวในการดึงและแกะรูปภาพ \"k8s.gcr.io/ kube-apiserver: v1.24.0\": ไม่สามารถแก้ไขการอ้างอิง \"k8s.gcr.io/kube-apiserver:v1.24.0\": คำขอที่ต้องทำล้มเหลว: หัวหน้า \"https://k8s.gcr.io /v2/kube-apiserver/manifests/v1.24.0\": dial tcp 172.253.63.82:443: หมดเวลา i/o"
, ข้อผิดพลาด
k8s.io/kubernetes/cmd/kubeadm/app/util/runtime.(*CRIRuntime).PullImage
cmd/kubeadm/app/util/runtime/runtime.go:121
k8s.io/kubernetes/cmd/kubeadm/app/cmd.PullControlPlaneImages
cmd/kubeadm/app/cmd/config.go:340
k8s.io/kubernetes/cmd/kubeadm/app/cmd.newCmdConfigImagesPull.func1
cmd/kubeadm/app/cmd/config.go:312
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute
ผู้ขาย/github.com/spf13/cobra/command.go:856
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC
vendor/github.com/spf13/cobra/command.go:974
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute
vendor/github.com/spf13/cobra/command.go:902
k8s.io/kubernetes/cmd/kubeadm/app.Run
cmd/kubeadm/app/kubeadm.go:50
main.main
cmd/kubeadm/kubeadm.go:25
runtime.main
/usr/local/go/src/runtime/proc.go:250
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1571
ไม่สามารถดึงอิมเมจ "k8s.gcr.io/kube-apiserver:v1.24.0"
k8s.io/kubernetes/cmd/kubeadm/app/cmd.PullControlPlaneImages
cmd/kubeadm/app/cmd/config.go:341
k8s.io/kubernetes/cmd/kubeadm/app/cmd.newCmdConfigImagesPull.func1
cmd/kubeadm/app/cmd/config.go:312
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute
ผู้ขาย/github.com/spf13/cobra/command.go:856
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC
vendor/github.com/spf13/cobra/command.go:974
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute
vendor/github.com/spf13/cobra/command.go:902
k8s.io/kubernetes/cmd/kubeadm/app.Run
cmd/kubeadm/app/kubeadm.go:50
main.main
cmd/kubeadm/kubeadm.go:25
runtime.main
/usr/local/go/src/runtime/proc.go:250
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1571
ฉันได้ดึงภาพที่จำเป็นด้วยตนเอง
[root@megatron ~]# รายการรูปภาพการกำหนดค่า kubeadm
k8s.gcr.io/kube-apiserver:v1.24.0
k8s.gcr.io/kube-controller-manager:v1.24.0
k8s.gcr.io/kube-scheduler:v1.24.0
k8s.gcr.io/kube-proxy:v1.24.0
k8s.gcr.io/pause:3.7
k8s.gcr.io/etcd:3.5.3-0
k8s.gcr.io/coredns/coredns:v1.8.6
[root@megatron ~]# นักเทียบท่าดึง k8s.gcr.io/coredns/coredns:v1.8.6
v1.8.6: ดึงจาก coredns/coredns
สรุป: sha256:5b6ec0d6de9baaf3e92d0f66cd96a25b9edbce8716f5f15dcd1a616b3abd590e
สถานะ: ภาพเป็นปัจจุบันสำหรับ k8s.gcr.io/coredns/coredns:v1.8.6
k8s.gcr.io/coredns/coredns:v1.8.6
[รูท@เมกะตรอน ~]#
ฉันต้องการความช่วยเหลือในการทำความเข้าใจว่าทำไม kubeadm ไม่ใช้พร็อกซี http ที่เหมาะสม ซึ่งน่าจะเป็นกรณีนี้เมื่อพยายามรับ https://dl.k8s.io/release/stable-1.txt
ไม่มีปัญหาในการรับไฟล์นั้น ทำไม kubeadm ถึงไม่ได้รับ
[root@starscream ~]# wget https://dl.k8s.io/release/stable-1.txt
--2022-05-20 11:09:46-- https://dl.k8s.io/release/stable-1.txt
กำลังเชื่อมต่อกับ [PROXY]:8080... เชื่อมต่อแล้ว
ส่งคำขอพร็อกซีแล้ว กำลังรอการตอบกลับ... 302 ย้ายชั่วคราว
ตำแหน่ง: https://storage.googleapis.com/kubernetes-release/release/stable-1.txt [กำลังติดตาม]
--2022-05-20 11:09:47-- https://storage.googleapis.com/kubernetes-release/release/stable-1.txt
กำลังเชื่อมต่อกับ [PROXY]:8080... เชื่อมต่อแล้ว
ส่งคำขอพร็อกซีแล้ว กำลังรอการตอบกลับ... 200 ตกลง
ความยาว: 7 [ข้อความ/ธรรมดา]
กำลังบันทึกไปที่: âstable-1.txtâ
เสถียร-1.txt 100%[========================================== ============================================>] 7 --. -KB/s ใน 0 วินาที
2022-05-20 11:09:48 (331 KB/s) - âstable-1.txtâ บันทึกแล้ว [7/7]
อัปเดต:
หลังจากดูตัวเลือกเวอร์ชันบังคับแล้ว ฉันลองแล้ว
อิมเมจการกำหนดค่า kubeadm ดึง --kubernetes-version 1.24.0 --v=5
ตอนนี้มันไม่พยายามเรียกค้น stable-1.txt ฉันสงสัยว่าฉันพลาดความจริงที่ว่ามันอาจจะสามารถเรียกคืนได้โดยไม่คำนึงถึง
ตอนนี้ยังคงพยายามดึงภาพที่นักเทียบท่ามีอยู่แล้ว
เหตุใด kubeadm จึงพยายามดึงภาพที่มีอยู่แล้ว
I0520 12:57:24.402436 228499 kubelet.go:214] ค่าของ KubeletConfiguration.cgroupDriver ว่างเปล่า ตั้งเป็น "systemd"
สถานะทางออก 1
เอาต์พุต: เวลา="2022-05-20T12:59:54-04:00" level=fatal msg="การดึงรูปภาพ: ข้อผิดพลาด rpc: รหัส = Unknown desc = ไม่สามารถดึงและคลายแพ็กรูปภาพ \"k8s.gcr.io/ kube-apiserver:v1.24.0\": ล้มเหลวในการแก้ไขการอ้างอิง \"k8s.gcr.io/kube-apiserver:v1.24.0\": ล้มเหลวในการดำเนินการคำขอ: หัวหน้า \"https://k8s.gcr.io/ v2/kube-apiserver/manifests/v1.24.0\": กด tcp 142.250.145.82:443: หมดเวลา i/o"
, ข้อผิดพลาด
มันไม่ได้ช่วยให้พร็อกซีไม่ถูกใช้งานฉันยอมรับได้ แต่ทำไม kubeadm ถึงไม่ใช้รูปภาพที่มีอยู่