ฉันมีคลัสเตอร์ Kubernetes ที่มี 2 โหนดหลักและ 3 โหนดผู้ปฏิบัติงาน นอกจากนี้ฉันยังมีโหนดแยกต่างหาก แฮพร็อกซี่ เซิร์ฟเวอร์ด้วย IP สาธารณะ.
ตามค่าเริ่มต้น kubeadm จะสร้างใบรับรองทั้งหมดที่จำเป็นสำหรับคลัสเตอร์และจัดเก็บใบรับรองใน /etc/kubernetes/pki
ตามเอกสารประกอบ เราสามารถวางใบรับรองที่กำหนดเองหนึ่งรายการหรือหลายรายการและคีย์ที่เกี่ยวข้องใน /etc/kubernetes/pki และดำเนินการ kubeadm เริ่มต้น คำสั่งเพื่อสร้างใบรับรองที่เหลือ https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/
เนื่องจากคลัสเตอร์ของฉันเปิดใช้งานแล้วและการเรียกใช้คำสั่ง init จะล้มเหลวพร้อมกับข้อผิดพลาดก่อนการบิน
ดังนั้นฉันจึงทำตามขั้นตอนด้านล่างเพื่อสร้างใบรับรองและการกำหนดค่า Kubernetes
ซีดี /etc/kubernetes/pki/
sudo rm ca.key ca.crt
sudo openssl genrsa -out ca.key 2048
sudo openssl req -x509 -new -nodes -key ca.key -subj "/CN=My Local CA" -days 10,000 -out ca.crt
sudo kubeadm init phase รับรองทั้งหมด --control-plane-endpoint "haproxy_IP:6443"
ซีดี /etc/kubernetes/
sudo rm admin.conf controller-manager.conf kubelet.conf ตัวกำหนดตารางเวลา.conf
sudo kubeadm init เฟส kubeconfig ทั้งหมด --control-plane-endpoint "haproxy_IP:6443"
sudo rm $HOME/.kube/config
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
ตอนนี้ฉันได้รับข้อผิดพลาดด้านล่าง
kubectl รับโหนด
ข้อผิดพลาดจากเซิร์ฟเวอร์ (InternalError): ข้อผิดพลาดบนเซิร์ฟเวอร์ ("") ทำให้คำขอไม่สำเร็จ
openssl s_client -เชื่อมต่อ haproxy_IP:6443
เชื่อมต่อแล้ว(00000005)
เขียน: errno=0
---
ไม่มีใบรับรองเพื่อน
---
ไม่มีการส่งชื่อ CA ของใบรับรองไคลเอ็นต์
---
SSL handshake อ่าน 0 ไบต์และเขียน 315 ไบต์
การยืนยัน: ตกลง
---
ใหม่ (ไม่มี) รหัสคือ (ไม่มี)
ไม่สนับสนุนการเจรจาใหม่ที่ปลอดภัย
การบีบอัด: ไม่มี
การขยายตัว: ไม่มี
ไม่มีการเจรจา ALPN
ข้อมูลต้นไม่ได้ถูกส่ง
ตรวจสอบรหัสส่งคืน: 0 (ตกลง)
kubectl รับโหนด --v=7
09:41:50.597844 31816 request.go:943] ได้รับการตอบสนองการลองอีกครั้งหลังจาก 1 วินาทีสำหรับการพยายาม 8 เพื่อ https://haproxy_IP:6443/api?timeout=32s
09:41:51.598061 31816 round_trippers.go:422] รับ https://haproxy_IP:6443/api?timeout=32s
09:41:51.598112 31816 round_trippers.go:429] ส่วนหัวของคำขอ:
09:41:51.598219 31816 round_trippers.go:433] ยอมรับ: application/json, */*
09:41:51.598504 31816 round_trippers.go:433] User-Agent: kubectl/v1.20.4 (linux/amd64) kubernetes/e87da0b
09:41:51.602249 31816 round_trippers.go:448] สถานะการตอบกลับ: ใน 3 มิลลิวินาที
09:41:51.602301 31816 request.go:943] ได้รับการตอบสนองการลองอีกครั้งหลังจาก 1 วินาทีสำหรับการพยายาม 9 เพื่อ https://haproxy_IP:6443/api?timeout=32s
09:41:52.602523 31816 round_trippers.go:422] รับ https://haproxy_IP:6443/api?timeout=32s
09:41:52.602558 31816 round_trippers.go:429] ส่วนหัวของคำขอ:
09:41:52.602572 31816 round_trippers.go:433] User-Agent: kubectl/v1.20.4 (linux/amd64) kubernetes/e87da0b
09:41:52.602585 31816 round_trippers.go:433] ยอมรับ: application/json, */*
09:41:52.605922 31816 round_trippers.go:448] สถานะการตอบกลับ: ใน 3 มิลลิวินาที
09:41:52.605980 31816 request.go:943] ได้รับการตอบสนองการลองอีกครั้งหลังจาก 1 วินาทีสำหรับการพยายาม 10 ครั้งถึง https://haproxy_IP:6443/api?timeout=32s
09:41:53.606187 31816 round_trippers.go:422] รับ https://haproxy_IP:6443/api?timeout=32s
09:41:53.610028 31816 round_trippers.go:429] ส่วนหัวของคำขอ:
09:41:53.610048 31816 round_trippers.go:433] ยอมรับ: application/json, */*
09:41:53.610059 31816 round_trippers.go:433] User-Agent: kubectl/v1.20.4 (linux/amd64) kubernetes/e87da0b
09:41:53.612676 31816 round_trippers.go:448] สถานะการตอบกลับ: ใน 2 มิลลิวินาที
09:41:53.612837 31816 cached_discovery.go:121] ข้ามข้อมูลการค้นพบแคชเนื่องจากข้อผิดพลาดบนเซิร์ฟเวอร์ ("") ทำให้คำขอไม่สำเร็จ
09:41:53.613146 31816 helpers.go:216] วัตถุตอบสนองของเซิร์ฟเวอร์: [{
"ข้อมูลเมตา": {},
"สถานะ": "ล้มเหลว",
"message": "ข้อผิดพลาดบนเซิร์ฟเวอร์ (\"\") ทำให้คำขอไม่สำเร็จ",
"เหตุผล": "ข้อผิดพลาดภายใน",
"รายละเอียด": {
"สาเหตุ": [
{
"เหตุผล": "การตอบกลับเซิร์ฟเวอร์ที่ไม่คาดคิด"
}
]
"retryAfterSeconds": 1
},
"รหัส": 500
}]
F0413 09:41:53.613294 31816 helpers.go:115] ข้อผิดพลาดจากเซิร์ฟเวอร์ (InternalError): ข้อผิดพลาดบนเซิร์ฟเวอร์ ("") ทำให้คำขอไม่สำเร็จ
ถ้าฉัน รีเซ็ต ใบรับรองใหม่และไฟล์กำหนดค่าด้วยใบรับรองและไฟล์กำหนดค่าก่อนหน้าของฉัน จากนั้นทุกอย่าง ทำงานได้ดี ไม่มีปัญหาใดๆ
ดังนั้นฉันจึงสงสัยว่าฉันพลาดบางอย่างในแนวทางของฉัน
ขอขอบคุณสำหรับแนวคิดหรือประสบการณ์ที่คล้ายกันที่เกี่ยวข้องกับปัญหานี้