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.
- Loại bỏ Flannel với
xóa kubectl -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
- SSH vào nút của bạn
- Dừng dịch vụ kubelet
systemctl dừng kubelet
- 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)
- 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
- 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>
- Khởi động lại thời gian chạy vùng chứa
- Khởi động lại kubelet
- Cài đặt Calico như bạn làm trên một cụm mới.