Score:1

วิธีเพิ่มใบรับรอง SSL แบบกำหนดเองในคลัสเตอร์ Kubernetes

ธง de

ฉันมีคลัสเตอร์ 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): ข้อผิดพลาดบนเซิร์ฟเวอร์ ("") ทำให้คำขอไม่สำเร็จ

ถ้าฉัน รีเซ็ต ใบรับรองใหม่และไฟล์กำหนดค่าด้วยใบรับรองและไฟล์กำหนดค่าก่อนหน้าของฉัน จากนั้นทุกอย่าง ทำงานได้ดี ไม่มีปัญหาใดๆ

ดังนั้นฉันจึงสงสัยว่าฉันพลาดบางอย่างในแนวทางของฉัน

ขอขอบคุณสำหรับแนวคิดหรือประสบการณ์ที่คล้ายกันที่เกี่ยวข้องกับปัญหานี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา