K8s Calico替换为Cilium,以及安装Cilium过程(鲁莽版)

devtools/2024/10/18 18:14:06/

迁移CNI插件的3种办法:
        1、创建一个新的集群,通过Gitops的方式迁移负载,然而,这可能涉及大量的准备工作和潜在的中断。
        2、另一种方法是重新配置/etc/cni/net.d/指向Cilium。但是,现有的pod仍将由旧的网络插件配置,而新的pod将由较新的CNI插件配置。为了完成迁移,必须回收集群上由旧CNI配置的所有pod,以便由新的CNI插件管理。
        3、直接强行进行替换,然后逐个重启。问题就是会业务中断而且在节点在迁移的过程中会形成两个孤岛。
在常见迁移CNI插件时,有几种可行的方法,各有优缺点。

本文章是第三种办法-称为鲁莽版。

一、删除Calico

kubectl delete daemonset calico-node -n kube-systemkubectl delete deployment calico-kube-controllers -n kube-system
kubectl delete ds kube-flannel-ds -n kube-system
kubectl delete cm calico-config -n kube-system
kubectl delete secret calico-etcd-secrets -n kube-system
kubectl delete clusterrolebinding calico-node
kubectl delete clusterrole calico-node
kubectl delete sa calico-node -n kube-system
kubectl delete sa calico-kube-controllers -n kube-system
kubectl delete crd bgppeers.crd.projectcalico.org
kubectl delete crd bgpconfigurations.crd.projectcalico.org
kubectl delete crd ippools.crd.projectcalico.org
kubectl delete crd hostendpoints.crd.projectcalico.org
kubectl delete crd clusterinformations.crd.projectcalico.org
kubectl delete crd felixconfigurations.crd.projectcalico.org
kubectl delete crd networkpolicies.crd.projectcalico.org
kubectl delete crd globalnetworkpolicies.crd.projectcalico.org
kubectl delete crd globalnetworksets.crd.projectcalico.org
kubectl delete crd networksets.crd.projectcalico.org

二、下载Cilium

curl -L --remote-name-all https://github.com/cilium/cilium-cli/releases/download/v0.10.4/cilium-linux-amd64.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-amd64.tar.gz.sha256sum
sudo tar xzvfC cilium-linux-amd64.tar.gz /usr/local/bin
rm cilium-linux-amd64.tar.gz{,.sha256sum}

三、安装Cilium

要使用 Helm 下载 Cilium 到本地,你可以按照以下步骤操作:

### 步骤 1:安装 Helm

如果你还没有安装 Helm,可以使用以下命令安装 Helm:

```bash
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
```

### 步骤 2:添加 Cilium Helm 仓库

添加 Cilium 的 Helm 仓库:

```bash
helm repo add cilium https://helm.cilium.io/
helm repo update
```

### 步骤 3:下载 Cilium Helm Chart 到本地

使用 `helm pull` 命令下载 Cilium 的 Helm Chart 到本地:

```bash
helm pull cilium/cilium --version 1.16.1 --untar
```

这将会下载并解压 Cilium 的 Helm Chart 到当前目录下的 `cilium` 文件夹中。

### 示例总结

#### 安装 Helm

```bash
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
```

#### 添加 Cilium Helm 仓库

```bash
helm repo add cilium https://helm.cilium.io/
helm repo update

cilium install

四、安装连接和状态

cilium statuscilium connectivity test

五、helm验证

六、重启节点 


http://www.ppmy.cn/devtools/117867.html

相关文章

助力“20+8”新兴产业高质量创新发展科普活动-走进深算院

近日,在全国科普日暨深圳科普月活动启动之际,由深圳计算科学研究院承办的助力“208”新兴产业高质量创新发展科普活动成功举行。此次活动由深圳市科学技术协会指导,汇集了20余名政府、企业和高校代表,共同探讨了国产基础软件的创新…

Java数据结构--List介绍

前言: 数据结构可以说是一门思想,当我们在对数据处理、储存的时候需要用到。 前面我用C语言写过数据结构的相关内容,在Java阶段的数据结构思想是一样的,就是有些地方实现的方式是有区别的。 因此在Java阶段前期的数据结构&#xf…

mysql常用的日期函数以及查询昨天,今天,本周,上个月的数据

一 常用的日期函数 1. CURDATE() CURDATE() 是一个 MySQL 函数,用于返回当前的日期,格式为 YYYY-MM-DD。它不包含时间部分,仅显示日期。 SELECT CURDATE(); // 2024-09-20注意事项 CURDATE() 返回的日期格式与系统的日期格式设置有关&…

组合模式

组合模式 把一组相似的对象当作一个单一的对象。如&#xff1a;树形菜单 public class Menu {String name;List<Menu> child;public Menu(String name){this.name name;child new ArrayList<>();}public void addChild(Menu menu){child.add(menu);}public void …

C++(9.26)

1.什么是虚函数&#xff0c;什么是纯虚函数 虚函数是在基类中声明为virtual的函数&#xff0c;可以被重新定义来实现多态&#xff0c;纯虚函数则是以0结尾的虚函数&#xff0c;是没有实现的虚函数。 2.基类为什么需要虚构析函数 为了防止在后面delete释放空间时导致溢出 数据…

计算机组成原理(笔记4)

定点加减法运算 补码加法&#xff1a; 补码减法&#xff1a; 求补公式&#xff1a; 溢出的概念 在定点小数机器中,数的表示范围为|&#xff58;|<1。在运算过程中如出现大于1的现象,称为 “溢出”。 上溢&#xff1a;两个正数相加&#xff0c;结果大于机器所能表示的最…

JavaEE——多线程

接着上篇博客我们已经学习了进程的相关概念&#xff0c;了解到进程里面的相关重要属性&#xff0c;那么这篇博客呢我们要学习一个新的知识点——线程&#xff01; 一、引入进程的目的 首先引入进程这个概念&#xff0c;是为了解决“并发编程”这样的问题。因为CPU 再往小了做…

软件测评CNAS认可实验室程序文件之检测报告的编制和交付程序

软件测评实验室在申请CNAS认可时&#xff0c;需要根据相关准则文件的要求&#xff0c;建立质量管理体系&#xff0c;其中程序文件是质量管理体系中非常重要的一环。在前面的文章中&#xff0c;我们为大家整体介绍了CNAS软件测评实验室程序文件主要都有哪些&#xff0c;以及对部…