Điểm:0

Không có Nhóm nào có thể truy cập hoặc lên lịch trên cụm kubernetes

lá cờ ru

Tôi có 2 cụm kubernetes trong đám mây của IBM, một cụm có 2 Nút, cụm còn lại có 4.

Một nút có 4 Nút đang hoạt động bình thường nhưng ở nút còn lại, tôi phải tạm thời xóa các nút công nhân vì lý do tài chính (không nên thanh toán khi không hoạt động).

Khi tôi kích hoạt lại hai nút, mọi thứ dường như khởi động tốt và miễn là tôi không cố gắng tương tác với các Pod, bề ngoài nó vẫn ổn, không có thông báo nào về tính khả dụng hoặc tình trạng sức khỏe nguy kịch. OK, tôi đã xóa hai lỗi thời không gian têns đã bị mắc kẹt trong chấm dứt trạng thái, nhưng tôi có thể giải quyết vấn đề đó bằng cách khởi động lại một nút cụm (không biết chính xác đó là nút nào nữa).

Khi mọi thứ đều ổn, tôi đã cố gắng truy cập bảng điều khiển kubernetes (mọi thứ được thực hiện trước đây đều ở cấp quản lý IBM hoặc trong dòng lệnh) nhưng ngạc nhiên là tôi không thể truy cập được với một trang báo lỗi trong trình duyệt:

Lỗi 503: Dịch vụ không khả dụng

Có một thông báo JSON nhỏ ở cuối trang đó cho biết:

{
  "loại": "Trạng thái",
  "apiVersion": "v1",
  "metadata": { },
  "trạng thái": "Thất bại",
  "message": "lỗi khi cố truy cập dịch vụ: đọc tcp 172.18.190.60:39946-\u003e172.19.151.38:8090: đọc: thiết lập lại kết nối bởi ngang hàng",
  "lý do": "Dịch vụ không khả dụng",
  "mã": 503
}

tôi đã gửi một nhật ký kubectl kubernetes-dashboard-54674bdd65-nf6w7 --namespace=kube-system ở đâu vỏ được hiển thị là đang chạy, nhưng kết quả không phải là nhật ký để xem, thay vào đó là thông báo này:

Lỗi từ máy chủ: Nhận "https://10.215.17.75:10250/containerLogs/kube-system/kubernetes-dashboard-54674bdd65-nf6w7/kubernetes-dashboard":
đọc tcp 172.18.135.195:56882->172.19.151.38:8090:
đọc: thiết lập lại kết nối bởi ngang hàng

Sau đó, tôi phát hiện ra rằng tôi không thể lấy nhật ký của không tí nào vỏ đang chạy trong cụm đó, tôi cũng không thể triển khai bất kỳ đối tượng kubernetes tùy chỉnh mới nào yêu cầu lập lịch trình (tôi thực sự có thể áp dụng Dịch vụs hoặc Bản đồ cấu hìnhnhưng không vỏ, Bộ bản sao, triển khai hoặc tương tự).

tôi đã cố gắng

  • tải lại các nút worker trong workerpool
  • khởi động lại các nút worker trong workerpool
  • khởi động lại kubernetes-dashboard triển khai

Thật không may, không có hành động nào ở trên thay đổi khả năng truy cập của vỏS.

Có một thứ khác có thể liên quan (mặc dù tôi không chắc nó thực sự là như vậy):

Trong cụm khác chạy tốt, có ba calico vỏs đang chạy và cả ba đều hoạt động trong khi trong cụm có vấn đề chỉ có 2 trong số ba calico vỏs đang hoạt động, cái thứ ba vẫn ở trong Chưa giải quyết nhà nước và một kubectl mô tả pod calico-blablabla-blabla tiết lộ lý do, một Biến cố

Cảnh báo FailedScheduling Trình lập lịch trình mặc định của 13s
0/2 nút khả dụng: 2 nút không có cổng miễn phí cho các cổng nhóm được yêu cầu.

Có ai có manh mối về những gì đang diễn ra trong cụm đó không và có thể chỉ cho tôi các giải pháp khả thi không? Tôi thực sự không muốn xóa cụm và tạo cụm mới.

Chỉnh sửa

Kết quả của kubectl description pod kubernetes-dashboard-54674bdd65-4m2ch --namespace=kube-system:

Tên: kubernetes-dashboard-54674bdd65-4m2ch
Không gian tên: hệ thống kube
Ưu tiên: 2000000000
Tên lớp ưu tiên: system-cluster-critical
Nút: 10.215.17.82/10.215.17.82
Thời gian bắt đầu: Thứ hai, ngày 15 tháng 11 năm 2021 09:01:30 +0100
Nhãn: k8s-app=kubernetes-dashboard
                      pod-template-hash=54674bdd65
Chú thích: 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: thời gian chạy/mặc định
                      kubectl.kubernetes.io/restartedAt: 2021-11-10T15:47:14+01:00
                      kubernetes.io/psp: ibm-privileged-psp
Tình trạng: Đang chạy
IP: 172.30.184.2
IP:
  IP: 172.30.184.2
Được kiểm soát bởi: ReplicaSet/kubernetes-dashboard-54674bdd65
Hộp đựng:
  bảng điều khiển kubernetes:
    ID vùng chứa: containerd://bac57850055cd6bb944c4d893a5d315c659fd7d4935fe49083d9ef8ae03e5c31
    Hình ảnh: registry.eu-de.bluemix.net/armada-master/kubernetesui-dashboard:v2.3.1
    ID hình ảnh: registry.eu-de.bluemix.net/armada-master/kubernetesui-dashboard@sha256:f14f581d36b83fc9c1cfa3b0609e7788017ecada1f3106fab1c9db35295fe523
    Cổng: 8443/TCP
    Cổng máy chủ: 0/TCP
    lập luận:
      --auto-tạo-chứng chỉ
      --namespace=kube-system
    Trạng thái: Đang chạy
      Bắt đầu: Thứ hai, ngày 15 tháng 11 năm 2021 09:01:37 +0100
    Sẵn sàng: Đúng
    Số lần khởi động lại: 0
    yêu cầu:
      CPU: 50m
      bộ nhớ: 100Mi
    Sống động: http-get https://:8443/ delay=30s timeout=30s period=10s #success=1 #failure=3
    Sẵn sàng: http-get https://:8443/ delay=10s timeout=30s period=10s #success=1 #failure=3
    Môi trường: <không>
    gắn kết:
      /certs từ kubernetes-dashboard-certs (rw)
      /tmp từ tmp-volume (rw)
      /var/run/secrets/kubernetes.io/serviceaccount từ kube-api-access-sc9kw (ro)
Điều kiện:
  Loại Trạng thái
  Khởi tạo đúng 
  Sẵn sàng Đúng 
  ContainerSẵn sàng Đúng 
  PodScheduled True 
tập:
  kubernetes-dashboard-certs:
    Loại: Bí mật (một tập được điền bởi một Bí mật)
    SecretName: kubernetes-dashboard-certs
    Tùy chọn: sai
  khối lượng tmp:
    Loại: EmptyDir (một thư mục tạm thời chia sẻ thời gian tồn tại của nhóm)
    Trung bình:     
    SizeLimit: <bỏ đặt>
  kube-api-access-sc9kw:
    Loại: Dự kiến ​​(ổ chứa dữ liệu được đưa vào từ nhiều nguồn)
    Số giây hết hạn mã thông báo: 3607
    ConfigMapName: kube-root-ca.crt
    ConfigMapOptional: <nil>
    API hướng xuống: đúng
Lớp QoS: Ổn định
Bộ chọn nút: <none>
Dung sai: node-role.kubernetes.io/master:NoSchedule
                             node.kubernetes.io/not-ready:NoExecute op=Tồn tại trong 600 giây
                             node.kubernetes.io/unreachable:NoExecute op=Tồn tại trong 600 giây
Sự kiện: <không có>
Mikołaj Głodziak avatar
lá cờ id
Xin chào, có thể sự cố được kết nối với chứng chỉ SSL. Vui lòng xem [câu hỏi này](https://stackoverflow.com/questions/46411598/kubernetes-dashboard-serviceunavailable-503-error) và cho tôi biết về kết quả. Bạn đã sử dụng phiên bản Kubernetes nào?
deHaar avatar
lá cờ ru
Cesc @MikoÅajGÅodziak, cảm ơn vì những gợi ý của bạn. Phiên bản cụm là 1.22.2_1526 và các nút worker có phiên bản 1.22.2_1528. Điều tiếp theo tôi sẽ làm (một lần nữa bây giờ) là cập nhật cụm. Tôi sẽ kiểm tra câu hỏi bạn đã liên kết, cảm ơn một lần nữa!
Mikołaj Głodziak avatar
lá cờ id
Và chính xác thì bạn đã thiết lập cụm của mình như thế nào? Nó là kim loại trần hay một số nhà cung cấp đám mây? Điều quan trọng là tái tạo vấn đề của bạn. Vui lòng kiểm tra đề xuất của tôi và cho tôi biết;)
deHaar avatar
lá cờ ru
Đó là một cụm cổ điển trong Đám mây của IBM mà tôi đã thiết lập bằng bảng điều khiển web (và một cli để tương tác một phần).
deHaar avatar
lá cờ ru
@ MikoÅajGÅodziak có thể lý do là chứng chỉ tls cũ (có thể được khôi phục) trên các nút đầu tiên (đáng lẽ phải bị xóa vài tuần trước)? Tôi có thể thấy một `Bí mật` đáng ngờ...
Mikołaj Głodziak avatar
lá cờ id
Vâng, chắc chắn, nó có thể. Giả sử bạn có chứng chỉ hiện tại và đã khôi phục chứng chỉ cũ (chứng chỉ này sẽ bị xóa), có thể bây giờ nó trông giống như chứng chỉ mới nhất. Tuy nhiên, nó đã lỗi thời nên bạn gặp lỗi.
deHaar avatar
lá cờ ru
Hmm, tôi không có chứng chỉ mới hoặc hiện tại, nhưng có thể có một chứng chỉ được tạo khi các nút mới xuất hiện (hoặc nhóm nhân viên mới). Tôi phải tìm hiểu sâu hơn một chút ...
Mikołaj Głodziak avatar
lá cờ id
Bạn cũng có thể chạy `kubectl description pod ` và dán kết quả vào câu hỏi?
deHaar avatar
lá cờ ru
Bây giờ nó được bao gồm trong câu hỏi ...
Mikołaj Głodziak avatar
lá cờ id
Bạn đã kiểm tra vấn đề chứng chỉ SSL chưa?
deHaar avatar
lá cờ ru
Cho đến nay, tôi không thể tìm ra cách... Câu trả lời trong câu hỏi mà bạn đã liên kết không áp dụng được trong Đám mây của IBM.
Mikołaj Głodziak avatar
lá cờ id
Bạn đã nói "lý do có thể là chứng chỉ tls cũ (có thể được khôi phục) trên các nút đầu tiên (đáng lẽ phải bị xóa vài tuần trước) không? Tôi có thể thấy một Bí mật đáng ngờ..." Bạn có chắc không, rằng bạn chỉ có một chứng chỉ hợp lệ?
deHaar avatar
lá cờ ru
Tôi không chắc về điều đó, nhưng nhà cung cấp đám mây đã phát hiện ra sự cố này là do cập nhật phiên bản cụm 1.21 trước đây với điểm cuối công khai và riêng tư được bật khi VRF bị tắt. Chòm sao này dẫn đến vấn đề của tôi, vẫn chưa được giải quyết và rất có thể sẽ ở trạng thái này. Nhà cung cấp cho biết điều này không liên quan đến chứng chỉ.
deHaar avatar
lá cờ ru
@ MikoÅajGÅodziak cảm ơn vì đã quan tâm đến vấn đề này, vui lòng xem câu trả lời của riêng tôi cho vấn đề này mà tôi đã tìm ra trong cuộc chiến kéo dài 3 ngày với bộ phận hỗ trợ của IBM. Một người nào đó từ đó cuối cùng đã chỉ cho tôi giải pháp.
Điểm:2
lá cờ ru

Sự cố đã được giải quyết…

Nguyên nhân của sự cố là do bản cập nhật của cụm lên phiên bản kubernetes 1.21 trong khi cụm của tôi đáp ứng các điều kiện sau:

  • đã bật điểm cuối dịch vụ công cộng và riêng tư
  • VRF bị tắt

Nguyên nhân gốc rễ:

Trong Kubernetes phiên bản 1.21, Konnectivity thay thế OpenVPN làm proxy mạng được sử dụng để bảo mật quá trình liên lạc của chủ máy chủ API Kubernetes với các nút công nhân trong cụm.
Khi sử dụng Konnectivity, có một vấn đề xảy ra với việc giao tiếp giữa các nút chủ và cụm nút khi tất cả các điều kiện đã đề cập ở trên được đáp ứng.

Các bước giải quyết:

  • vô hiệu hóa điểm cuối dịch vụ riêng (điểm cuối công khai dường như không phải là vấn đề) bằng cách sử dụng lệnh
    ibmcloud ks master private-service-endpoint vô hiệu hóa --cluster <CLUSTER_NAME> (lệnh này dành riêng cho nhà cung cấp, nếu bạn đang gặp sự cố tương tự với nhà cung cấp khác hoặc trên bản cài đặt cục bộ, hãy tìm hiểu cách tắt điểm cuối dịch vụ riêng đó)
  • làm mới chủ cụm bằng cách sử dụng làm mới chính cụm ibmcloud ks --cluster <CLUSTER_NAME> và cuối cùng
  • đã tải lại tất cả các nút công nhân (trong bảng điều khiển web, cũng có thể thực hiện được thông qua một lệnh)
  • đợi khoảng 30 phút:
    • Trang tổng quan khả dụng/có thể truy cập lại
    • vỏcó thể truy cập và lên lịch lại

Khuyến nghị chung:

TRƯỚC bạn cập nhật bất kỳ cụm nào lên kubernetes 1.21, kiểm tra xem bạn đã bật điểm cuối dịch vụ riêng chưa. Nếu bạn có, hãy tắt nó hoặc trì hoãn cập nhật cho đến khi bạn có thể hoặc bật VRF (định tuyến và chuyển tiếp ảo), điều mà tôi không thể thực hiện nhưng được cho biết là có khả năng giải quyết được sự cố.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.