Score:0

ไม่มีพ็อดที่เข้าถึงได้หรือกำหนดเวลาได้บนคลัสเตอร์ kubernetes

ธง ru

ฉันมี 2 คลัสเตอร์ kubernetes ในระบบคลาวด์ของ IBM โดยกลุ่มหนึ่งมี 2 โหนด และอีกกลุ่มหนึ่งมี 4

อันที่มี 4 โหนดนั้นทำงานได้อย่างถูกต้อง แต่อีกอันหนึ่งฉันต้องลบโหนดผู้ปฏิบัติงานออกชั่วคราวเนื่องจากเหตุผลทางการเงิน (ไม่ควรจ่ายในขณะที่ไม่ได้ใช้งาน)

เมื่อฉันเปิดใช้งานโหนดทั้งสองอีกครั้ง ทุกอย่างดูเหมือนจะเริ่มต้นได้ตามปกติ และตราบใดที่ฉันไม่พยายามโต้ตอบกับ Pods มันก็ยังดูดีบนพื้นผิว ไม่มีข้อความเกี่ยวกับความพร้อมใช้งานหรือสถานะสุขภาพที่สำคัญ โอเค ฉันลบสิ่งที่ล้าสมัยไปแล้ว 2 รายการ เนมสเปซที่ติดอยู่ใน สิ้นสุด สถานะ แต่ฉันสามารถแก้ไขปัญหานั้นได้โดยการรีสตาร์ทโหนดคลัสเตอร์ (ไม่ทราบแน่ชัดอีกต่อไปว่าเป็นโหนดใด)

เมื่อทุกอย่างดูดี ฉันพยายามเข้าถึงแดชบอร์ดของ kubernetes (ทุกอย่างที่ทำก่อนหน้านี้อยู่ในระดับการจัดการของ IBM หรือในบรรทัดคำสั่ง) แต่น่าประหลาดใจที่ฉันพบว่าไม่สามารถเข้าถึงได้โดยมีหน้าแสดงข้อผิดพลาดในเบราว์เซอร์ระบุว่า:

503: บริการไม่พร้อมใช้งาน

มีข้อความ JSON เล็กๆ ที่ด้านล่างของหน้าซึ่งกล่าวว่า:

{
  "ชนิด": "สถานะ",
  "apiVersion": "v1",
  "ข้อมูลเมตา": { },
  "สถานะ": "ล้มเหลว",
  "ข้อความ": "ข้อผิดพลาดในการพยายามเข้าถึงบริการ: อ่าน tcp 172.18.190.60:39946-\u003e172.19.151.38:8090: อ่าน: การเชื่อมต่อถูกรีเซ็ตโดยเพียร์",
  "เหตุผล": "บริการไม่พร้อมใช้งาน",
  "รหัส": 503
}

ฉันส่ง kubectl บันทึก kubernetes-dashboard-54674bdd65-nf6w7 --namespace=kube-system ที่ไหน พ็อด แสดงเป็นกำลังทำงานอยู่ แต่ผลลัพธ์ไม่ใช่บันทึกให้ดู แต่เป็นข้อความนี้แทน:

ข้อผิดพลาดจากเซิร์ฟเวอร์: รับ "https://10.215.17.75:10250/containerLogs/kube-system/kubernetes-dashboard-54674bdd65-nf6w7/kubernetes-dashboard":
อ่าน tcp 172.18.135.195:56882->172.19.151.38:8090:
อ่าน: การเชื่อมต่อถูกรีเซ็ตโดยเพียร์

จากนั้นฉันก็พบว่าฉันไม่สามารถรับบันทึกของ ใดๆ พ็อด ทำงานในคลัสเตอร์นั้น และฉันไม่สามารถปรับใช้ออบเจกต์ kubernetes ที่กำหนดเองใหม่ใดๆ ที่ต้องมีการตั้งเวลา (อันที่จริงฉันสามารถใช้ บริการเอส หรือ ConfigMaps แต่ไม่มี พ็อด, ชุดแบบจำลอง, การปรับใช้ หรือคล้ายกัน).

ฉันพยายามแล้ว

  • รีโหลดโหนดผู้ปฏิบัติงานในพูลผู้ปฏิบัติงาน
  • รีสตาร์ทโหนดผู้ปฏิบัติงานในพูลผู้ปฏิบัติงาน
  • รีสตาร์ทแดชบอร์ด kubernetes การปรับใช้

ขออภัย การดำเนินการข้างต้นไม่ได้เปลี่ยนแปลงการเข้าถึงของ พ็อดส.

มีอีกสิ่งหนึ่งที่อาจเกี่ยวข้อง (แม้ว่าฉันจะไม่ค่อยแน่ใจว่าจริงหรือไม่):

ในกลุ่มอื่นที่ทำงานได้ดีมีสามผ้าดิบ พ็อดกำลังทำงานและทั้งสามขึ้นมาในขณะที่อยู่ในกลุ่มที่มีปัญหาเพียง 2 ในสามของผ้าดิบ พ็อดกำลังดำเนินการอยู่ ส่วนที่สามยังคงอยู่ใน รอดำเนินการ รัฐและก kubectl อธิบาย pod calico-blablabla-blabla เผยเหตุผลก เหตุการณ์

คำเตือน FailedScheduling 13s default-scheduler
มี 0/2 โหนด: 2 โหนดไม่มีพอร์ตว่างสำหรับพอร์ตพ็อดที่ร้องขอ

ใครมีเงื่อนงำเกี่ยวกับสิ่งที่เกิดขึ้นในคลัสเตอร์นั้นและสามารถชี้ให้ฉันเห็นวิธีแก้ปัญหาที่เป็นไปได้ ฉันไม่ต้องการลบคลัสเตอร์และวางไข่ใหม่

แก้ไข

ผลลัพธ์ของ kubectl อธิบาย pod kubernetes-dashboard-54674bdd65-4m2ch --namespace=kube-system:

ชื่อ: kubernetes-dashboard-54674bdd65-4m2ch
เนมสเปซ: ระบบ kube
ลำดับความสำคัญ: 2000000000
ชื่อคลาสลำดับความสำคัญ: system-cluster-critical
โหนด: 10.215.17.82/10.215.17.82
เวลาเริ่ม: จันทร์ที่ 15 พ.ย. 2564 09:01:30 +0100
ป้ายกำกับ: k8s-app=kubernetes-dashboard
                      ฝักแม่แบบแฮช = 54674bdd65
คำอธิบายประกอบ: cni.projectcalico.org/containerID: ca52cefaae58d8e5ce6d54883cb6a6135318c8db53d231dc645a5cf2e67d821e
                      cni.projectcalico.org/podIP: 172.30.184.2/32
                      cni.projectcalico.org/podIPs: 172.30.184.2/32
                      container.seccomp.security.alpha.kubernetes.io/kubernetes-dashboard: รันไทม์/ค่าเริ่มต้น
                      kubectl.kubernetes.io/restartedAt: 2021-11-10T15:47:14+01:00
                      kubernetes.io/psp: ibm-privileged-psp
สถานะ: กำลังดำเนินการ
ไอพี: 172.30.184.2
IP:
  ไอพี: 172.30.184.2
ควบคุมโดย: ReplicaSet/kubernetes-dashboard-54674bdd65
ตู้คอนเทนเนอร์:
  แดชบอร์ด kubernetes:
    รหัสคอนเทนเนอร์: containerd://bac57850055cd6bb944c4d893a5d315c659fd7d4935fe49083d9ef8ae03e5c31
    รูปภาพ: Registry.eu-de.bluemix.net/armada-master/kubernetesui-dashboard:v2.3.1
    รหัสรูปภาพ: Registry.eu-de.bluemix.net/armada-master/kubernetesui-dashboard@sha256:f14f581d36b83fc9c1cfa3b0609e7788017ecada1f3106fab1c9db35295fe523
    พอร์ต: 8443/TCP
    พอร์ตโฮสต์: 0/TCP
    อาร์กิส:
      --auto-generate-ใบรับรอง
      --namespace=kube ระบบ
    รัฐ: วิ่ง
      เริ่มเมื่อ: จันทร์ที่ 15 พ.ย. 2564 09:01:37 น. +0100
    พร้อม:จริง
    เริ่มนับใหม่: 0
    คำขอ:
      ซีพียู: 50 ม
      หน่วยความจำ: 100Mi
    ความมีชีวิตชีวา: http-get https://:8443/ delay=30s timeout=30s period=10s #success=1 #failure=3
    ความพร้อม: http-get https://:8443/ delay=10s timeout=30s period=10s #success=1 #failure=3
    สภาพแวดล้อม: <ไม่มี>
    ภูเขา:
      /ใบรับรองจาก kubernetes-dashboard-certs (rw)
      /tmp จากปริมาณ tmp (rw)
      /var/run/secrets/kubernetes.io/serviceaccount จาก kube-api-access-sc9kw (ro)
เงื่อนไข:
  พิมพ์สถานะ
  เริ่มต้น True 
  พร้อมทรู 
  ตู้คอนเทนเนอร์เรดดี้ทรู 
  PodScheduled จริง 
ปริมาณ:
  kubernetes-dashboard-certs:
    ประเภท: ความลับ (ไดรฟ์ข้อมูลที่เป็นความลับ)
    ชื่อลับ: kubernetes-dashboard-certs
    ตัวเลือก: เท็จ
  ปริมาณ tmp:
    ประเภท: EmptyDir (ไดเร็กทอรีชั่วคราวที่แชร์อายุการใช้งานของพ็อด)
    ปานกลาง:     
    SizeLimit: <unset>
  kube-api-เข้าถึง-sc9kw:
    ประเภท: Projected (วอลุ่มที่มีข้อมูลที่ฉีดจากหลายแหล่ง)
    TokenExpirationSeconds: 3607
    ConfigMapName: kube-root-ca.crt
    ConfigMapOptional: <ไม่มี>
    DownwardAPI: จริง
คลาส QoS: ระเบิดได้
ตัวเลือกโหนด: <ไม่มี>
ความคลาดเคลื่อน: node-role.kubernetes.io/master:NoSchedule
                             node.kubernetes.io/not-ready:NoExecute op=มีอยู่เป็นเวลา 600 วินาที
                             node.kubernetes.io/unreachable:NoExecute op=มีอยู่เป็นเวลา 600 วินาที
เหตุการณ์: <ไม่มี>
Mikołaj Głodziak avatar
id flag
สวัสดี เป็นไปได้ว่าปัญหาเชื่อมต่อกับใบรับรอง SSL โปรดดูที่[คำถามนี้](https://stackoverflow.com/questions/46411598/kubernetes-dashboard-serviceunavailable-503-error) และแจ้งให้เราทราบเกี่ยวกับผลลัพธ์ คุณใช้ Kubernetes เวอร์ชันใด
deHaar avatar
ru flag
Cesc @MikoÅajGÅodziak ขอบคุณสำหรับคำแนะนำของคุณ เวอร์ชันคลัสเตอร์คือ 1.22.2_1526 และโหนดผู้ปฏิบัติงานมีเวอร์ชัน 1.22.2_1528 สิ่งต่อไปที่ฉันจะทำ (อีกครั้ง) คือการอัปเดตคลัสเตอร์ ฉันจะตรวจสอบคำถามที่คุณเชื่อมโยง ขอบคุณอีกครั้ง!
Mikołaj Głodziak avatar
id flag
และคุณตั้งค่าคลัสเตอร์ของคุณอย่างไร มันเป็นโลหะเปล่าหรือผู้ให้บริการคลาวด์หรือไม่? สิ่งสำคัญคือต้องทำซ้ำปัญหาของคุณ โปรดตรวจสอบคำแนะนำของฉันและแจ้งให้เราทราบ ;)
deHaar avatar
ru flag
เป็นคลัสเตอร์แบบคลาสสิกใน IBM Cloud ซึ่งฉันตั้งค่าโดยใช้เว็บคอนโซล (และ cli สำหรับการโต้ตอบบางส่วน)
deHaar avatar
ru flag
@MikoÅajGÅodziak สาเหตุอาจเป็นใบรับรอง tls เก่า (อาจกู้คืน) ที่อยู่ในโหนดแรก (ซึ่งควรถูกลบเมื่อสัปดาห์ที่แล้ว) ฉันเห็น 'ความลับ' ที่น่าสงสัย...
Mikołaj Głodziak avatar
id flag
ใช่ แน่นอน มันเป็นไปได้ สมมติว่าคุณมีใบรับรองปัจจุบันและกู้คืนใบรับรองเก่าแล้ว (ซึ่งควรลบออก) เป็นไปได้ว่าตอนนี้ดูเหมือนใบรับรองใหม่ล่าสุด อย่างไรก็ตาม มันล้าสมัย ดังนั้นคุณจึงได้รับข้อผิดพลาด
deHaar avatar
ru flag
อืม ฉันไม่มีใบรับรองใหม่หรือใบรับรองปัจจุบัน แต่อาจมีใบรับรองที่สร้างขึ้นเมื่อโหนดใหม่เกิดขึ้น (หรือเวิร์กพูลใหม่) ต้องเจาะลึกลงไปอีกหน่อย...
Mikołaj Głodziak avatar
id flag
คุณช่วยเรียกใช้ `kubectl Description Pod ` และวางผลลัพธ์ในคำถาม?
deHaar avatar
ru flag
ตอนนี้รวมอยู่ในคำถาม ...
Mikołaj Głodziak avatar
id flag
คุณตรวจสอบปัญหาของใบรับรอง SSL หรือไม่
deHaar avatar
ru flag
จนถึงขณะนี้ ฉันไม่สามารถหาวิธี... คำตอบในคำถามที่คุณเชื่อมโยงไม่สามารถใช้ได้กับ IBM Cloud
Mikołaj Głodziak avatar
id flag
คุณได้แจ้งว่า "เหตุผลอาจเป็นใบรับรอง tls เก่า (อาจกู้คืน) ที่อยู่บนโหนดแรก (ซึ่งควรจะถูกลบไปเมื่อหลายสัปดาห์ก่อน) ฉันเห็นความลับที่น่าสงสัย..." คุณแน่ใจหรือว่าคุณมีเพียง หนึ่งใบรับรองที่ถูกต้อง?
deHaar avatar
ru flag
ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ แต่ผู้ให้บริการคลาวด์พบว่าปัญหานี้เกิดจากการอัปเดตคลัสเตอร์เวอร์ชัน 1.21 ที่ผ่านมาโดยเปิดใช้งานปลายทางสาธารณะและส่วนตัวเมื่อปิดใช้งาน VRF กลุ่มดาวนี้นำไปสู่ปัญหาของฉันซึ่งยังไม่ได้รับการแก้ไขและมักจะอยู่ในสถานะนี้ ผู้ให้บริการแจ้งว่าสิ่งนี้ไม่เกี่ยวข้องกับใบรับรอง
deHaar avatar
ru flag
@MikoÅajGÅodziak ขอบคุณที่ให้ความสนใจในเรื่องนี้ โปรดดูคำตอบของฉันเองซึ่งฉันพบในการต่อสู้ 3 วันกับฝ่ายสนับสนุนของ IBM ในที่สุดมีคนจากที่นั่นชี้ให้ฉันเห็นวิธีแก้ปัญหา
Score:2
ธง ru

แก้ไขปัญหาแล้วâ¦

สาเหตุของปัญหาคือการอัปเดตคลัสเตอร์เป็น kubernetes เวอร์ชัน 1.21 ในขณะที่คลัสเตอร์ของฉันตรงตามเงื่อนไขต่อไปนี้:

  • เปิดใช้งานจุดสิ้นสุดบริการส่วนตัวและสาธารณะ
  • ปิดใช้งาน VRF

สาเหตุหลัก:

ใน Kubernetes เวอร์ชัน 1.21 นั้น Konnectivity จะแทนที่ OpenVPN เป็นพร็อกซีเครือข่ายที่ใช้เพื่อรักษาความปลอดภัยในการสื่อสารหลักเซิร์ฟเวอร์ Kubernetes API กับโหนดผู้ปฏิบัติงานในคลัสเตอร์
เมื่อใช้ Konnectivity จะเกิดปัญหากับการสื่อสารระหว่างมาสเตอร์กับโหนดคลัสเตอร์เมื่อตรงตามเงื่อนไขทั้งหมดที่กล่าวมาข้างต้น

ขั้นตอนการแก้ปัญหา:

  • ปิดการใช้งานปลายทางบริการส่วนตัว (สาธารณะดูเหมือนจะไม่มีปัญหา) โดยใช้คำสั่ง
    ibmcloud ks คลัสเตอร์หลักส่วนตัวบริการปลายทางปิดใช้งาน --คลัสเตอร์ <CLUSTER_NAME> (คำสั่งนี้เป็นคำสั่งเฉพาะของผู้ให้บริการ หากคุณประสบปัญหาเดียวกันกับผู้ให้บริการรายอื่นหรือในการติดตั้งแบบโลคัล โปรดดูวิธีปิดใช้งานจุดสิ้นสุดบริการส่วนตัวนั้น)
  • รีเฟรชต้นแบบคลัสเตอร์โดยใช้ ibmcloud ks รีเฟรชต้นแบบคลัสเตอร์ --cluster <CLUSTER_NAME> และในที่สุดก็
  • รีโหลดโหนดผู้ปฏิบัติงานทั้งหมด (ในเว็บคอนโซล ควรทำได้ผ่านคำสั่งเช่นกัน)
  • รอประมาณ 30 นาที:
    • แดชบอร์ดพร้อมใช้งาน / สามารถเข้าถึงได้อีกครั้ง
    • พ็อดสามารถเข้าถึงได้และกำหนดเวลาได้อีกครั้ง

คำแนะนำทั่วไป:

ก่อน คุณอัปเดตคลัสเตอร์ใด ๆ เป็น kubernetes 1.21 ตรวจสอบว่าคุณเปิดใช้งานจุดสิ้นสุดบริการส่วนตัวหรือไม่ หากคุณมี ให้ปิดใช้หรือชะลอการอัปเดตจนกว่าจะทำได้ หรือเปิดใช้ VRF (การกำหนดเส้นทางและการส่งต่อเสมือน) ซึ่งฉันทำไม่ได้ แต่ได้รับแจ้งว่าน่าจะแก้ไขปัญหาได้

โพสต์คำตอบ

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