Điểm:1

Làm cách nào để thực hiện di chuyển trực tiếp từ flannel sang calico trên cụm kubernetes nút đơn?

lá cờ fr

Tôi đang cố gắng chuyển từ flannel sang calico trong cụm k8s.Tôi có thể thực hiện thành công trong cụm 3 nút. Quá trình di chuyển trực tiếp từ flannel sang calico đang hoạt động như được mô tả trong tài liệu.

Nhưng việc di chuyển từ flannel sang calico trên cụm k8s nút đơn không được hỗ trợ theo vấn đề này.

Tôi phải thực hiện di chuyển trực tiếp từ flannel sang calico trên một nút duy nhất, mọi đề xuất về cách tiếp cận đều được đánh giá cao.

p10l avatar
lá cờ us
Nó đã tuyên bố rõ ràng rằng "Bộ điều khiển di chuyển Flannel sẽ cần chạy trên một nút hiện không di chuyển. Nó sẽ không hoạt động trên một cụm nút duy nhất.". Trong vấn đề này, cũng có một giải pháp thay thế có thể được đăng - "một điều bạn có thể thử là khởi chạy nút thứ hai trong suốt thời gian nâng cấp, sau đó thu nhỏ lại thành 1".
lá cờ fr
Có, tôi không định thực hiện hoạt động này với công việc di chuyển như đã đề cập trong tài liệu. Tôi muốn thực hiện thao tác này theo cách thủ công, có thể là viết logic di chuyển của riêng mình. Việc thêm một nút khác vào cụm và giảm tỷ lệ xuống 1 không phải là tùy chọn khả thi đối với tôi, tôi phải thực hiện việc đó trong một nút.
p10l avatar
lá cờ us
Tại thời điểm này, tại sao không chỉ tạo một cụm mới với calico và chuyển tài nguyên sang cụm đó?
lá cờ fr
Cảm ơn về những đề nghị. Tôi sẽ phải tạo cụm mới với Calico và điều đó phải hoạt động tốt. Chúng tôi phải hỗ trợ di chuyển trực tiếp một nút vì chúng tôi không phải mất dữ liệu hiện có.
Điểm:1
lá cờ us

Như bạn đã biết, việc di chuyển Flannel sang Calico, trên cụm nút đơn, không được hỗ trợ.Điều này là do bộ điều khiển di chuyển Flannel cần được lên lịch trên nút hiện không di chuyển, điều này là không thể trong cụm một nút.

Điều này có thể được giải quyết bằng cách tạo nút thứ hai tạm thời và giảm tỷ lệ xuống 1 sau khi quá trình di chuyển hoàn tất.

Giải pháp khác là tạo một cụm hoàn toàn mới, cài đặt Calico và di chuyển tài nguyên từ cụm cũ sang cụm mới.

Phương án cuối cùng, bạn có thể thử gỡ cài đặt Flannel theo cách thủ công và cài đặt Calico trên đó.


Cảnh báo: Tất cả những điều dưới đây có thể không hoạt động như dự định. Làm mọi thứ theo cách này rõ ràng là không được hỗ trợ bởi cả Flannel và Calico. Nó có thể bị hỏng và khiến cụm của bạn không sử dụng được. Trước tiên hãy thử giải pháp này trong môi trường thử nghiệm, điều chỉnh theo env của bạn và chỉ sau đó, hãy thử giải pháp này trên sản phẩm.
Bạn đã được cảnh báo.


  1. Loại bỏ Flannel với xóa kubectl -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
  2. SSH vào nút của bạn
  3. Dừng dịch vụ kubelet systemctl dừng kubelet
  4. Dừng container systemctl dừng container nếu được sử dụng làm thời gian chạy vùng chứa. (thay thế bằng docker nếu sử dụng Docker Engine)
  5. Xóa mọi thư mục liên quan đến CNI
    rm -rf /var/lib/cni
    rm -rf /run/flannel
    rm -rf /etc/cni
    
  6. Tìm bất kỳ giao diện liên quan đến CNI/Flannel nào và xóa chúng
    liên kết ip
    
    cho mỗi giao diện làm như sau
    ifconfig <tên giao diện từ ip link> down
    ip link delete <tên giao diện từ ip link>
    
  7. Khởi động lại thời gian chạy vùng chứa
  8. Khởi động lại kubelet
  9. Cài đặt Calico như bạn làm trên một cụm mới.
Wytrzymały Wiktor avatar
lá cờ it
Xin chào @Siddharood và chào mừng đến với ServerFault! Hãy nhớ [phản hồi câu trả lời cho câu hỏi của bạn](https://stackoverflow.com/help/someone-answers). Bằng cách đó, chúng tôi biết liệu câu trả lời có hữu ích hay không và các thành viên khác trong cộng đồng cũng có thể hưởng lợi từ chúng. Cố gắng [chấp nhận câu trả lời](https://stackoverflow.com/help/accepted-answer) đó là giải pháp cuối cùng cho vấn đề của bạn, bình chọn cho các câu trả lời hữu ích và nhận xét về những câu trả lời có thể được cải thiện hoặc cần chú ý thêm. Tận hưởng kì nghỉ của bạn!
lá cờ fr
@ p10l cảm ơn vì những gợi ý. Tôi đã làm theo hầu hết các bước của bạn. Tôi đã đi chệch khỏi các bước được đề cập. Tôi đang đăng câu trả lời dưới đây phù hợp với tôi.
Điểm:0
lá cờ fr

Dưới đây là các bước phù hợp với tôi khi chuyển từ flannel sang calico. Tôi đã làm theo hầu hết các bước được đề cập trong câu trả lời @ p1ol.

  1. Loại bỏ Flannel

  2. Dừng kubelet

  3. Mang giao diện ifconfig xuống và xóa liên kết ip liên quan đến flannel

  4. Khởi động lại Kubelet

  5. Cài đặt calico

Cài đặt Calico không tạo pod nút calico và pod calico-kube-controllers-** bị kẹt trong trạng thái khởi tạo nhóm hoặc tạo vùng chứa.

tôi đã đề cập đến Blog nơi đề xuất cập nhật calico yaml cho phạm vi CIDR và ​​tôi cũng phải định cấu hình IP_AUTODETECTION_METHOD như được đề xuất đây

Cuối cùng, tôi đã khởi động lại ứng dụng node.

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