Điểm:1

Đặt giới hạn tài nguyên trên kube-apiserver

lá cờ vn
rvs

Quản lý tài nguyên cho Pods và Container mô tả cách đặt giới hạn và yêu cầu tài nguyên cho các nhóm "thông thường" trong Kubernetes. Có cách nào được hỗ trợ/khuyên dùng để đặt các giới hạn này cho các thành phần của mặt phẳng điều khiển chẳng hạn như kube-apiserver không?

Những điều tôi đã xem xét:

  • Sửa đổi bảng kê khai tĩnh, ví dụ: Trong /etc/kubernetes/manifests/kube-apiserver.yaml. Điều này có thể hoạt động nhưng nó sẽ bị ghi đè bởi kubeadm trong lần nâng cấp tiếp theo.
  • Cài đặt dành riêng kube hoặc hệ thống dự phòng cờ. Tuy nhiên, điều này cũng có thể hoạt động trở lại - chúng được xác định chỉ trong một Bản đồ cấu hình (ví dụ: kubelet-config-1.21) và sẽ được ghi đè bởi kubeadm trong quá trình nâng cấp nút. Các giới hạn tương tự sẽ áp dụng cho các nút mặt phẳng điều khiển và nút công nhân và tôi không muốn điều đó.

Tôi có thể khắc phục điều này bằng thứ gì đó như ansible nhưng sau đó ansible sẽ "đấu tranh" với kubeadm và tôi muốn tránh điều đó.

Tôi đang cố gắng giải quyết vấn đề gì?

Tôi có một bản cài đặt kubernetes homelab nhỏ. Tôi muốn cho phép chạy các nhóm thông thường trên (các) nút của mặt phẳng điều khiển, nhưng tôi muốn có thể dự trữ một số tài nguyên (chủ yếu là bộ nhớ) cho các thành phần của mặt phẳng điều khiển. I E. Tôi muốn có thể thiết lập yêu cầu trên những thứ như kube-apiserver để người lập lịch biết không đặt bất kỳ nhóm nào khác (họ cũng sẽ có yêu cầu) vào vị trí của nó.

Mikołaj Głodziak avatar
lá cờ id
Chính xác thì bạn đã thiết lập cụm của mình như thế nào? Điều đó có nghĩa là gì "Tôi có một bản cài đặt kubernetes homelab nhỏ."? Bạn đã sử dụng Minikube?
rvs avatar
lá cờ vn
rvs
@MikoÅajGÅodziak không, cụm "thông thường" trên 3 nút do kubeadm tạo.
Điểm:1
lá cờ id

Có cách nào được hỗ trợ/khuyên dùng để đặt các giới hạn này cho các thành phần của mặt phẳng điều khiển chẳng hạn như kube-apiserver không?

Có, bạn có thể sử dụng khởi tạo kubeadm với bản vá lỗi cờ dòng lệnh. Nhìn vào trang github này. Các tài liệu của điều này cũng có thể được quan tâm. Xem thêm tài liệu chính thức: Tùy chỉnh mặt phẳng điều khiển bằng các bản vá:

Kubeadm cho phép bạn chuyển một thư mục chứa các tệp vá tới Khởi tạoCấu hìnhTham giaCấu hình trên các nút riêng lẻ. Các bản vá này có thể được sử dụng làm bước tùy chỉnh cuối cùng trước khi các bảng kê khai thành phần mặt phẳng điều khiển được ghi vào đĩa.

Bạn có thể chuyển tệp này tới khởi tạo kubeadm với --config <YAML CẤU HÌNH CỦA BẠN>:

phiên bản api: kubeadm.k8s.io/v1beta3
loại: InitConfiguration
bản vá lỗi:
  thư mục: /home/user/somedir

Đây là ví dụ về cách đặt tài nguyên trên kube-apiserver:

Tạo ra kube-apiserver.yaml tệp trong một số thư mục (ví dụ: /home/user/patches) với nội dung như sau:

thông số kỹ thuật:
  hộp đựng:
    - tên: kube-apiserver
      tài nguyên:
        yêu cầu:
          bộ nhớ: 512Mi
        Hạn mức:
          bộ nhớ: 1024Mi

Sau đó, sử dụng cờ --patches mỗi lần trong quá trình nâng cấp nút: sử dụng nút nâng cấp kubeadm --patches /home/user/patches/ hoặc nâng cấp kubeadm áp dụng v1.22.4 --patches /home/user/patches/


Tùy chọn khác sẽ cung cấp thêm cờ cho các thành phần của mặt phẳng điều khiển. Đối với điều này, hãy kiểm tra hướng dẫn này: Tùy chỉnh mặt phẳng điều khiển bằng các cờ trong ClusterConfiguration:

các kubeadm CụmCấu hình đối tượng hiển thị một cách để người dùng ghi đè các cờ mặc định được truyền cho các thành phần của mặt phẳng điều khiển, chẳng hạn như APIServer, ControllerManager, Scheduler và Etcd. Các thành phần được xác định bằng cách sử dụng các cấu trúc sau:

  • máy chủ api
  • bộ điều khiểnManager
  • Người lập kế hoạch
  • v.v.
rvs avatar
lá cờ vn
rvs
Cảm ơn bạn, lộ trình vá hoạt động. Tôi đã cập nhật câu trả lời của bạn bằng một ví dụ cụ thể hơn về cách tôi đã làm điều đó. Bây giờ tôi có thể sử dụng ansible để duy trì các tệp khác nhau trong thư mục bản vá (nếu cần) và nhớ sử dụng cờ --patches khi thực hiện init hoặc nâng cấp.

Đă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.