虚拟网络之Kubernetes Cilium CNI 快速部署实操

虚拟网络之Kubernetes Cilium CNI 快速部署实操

前言

在之前部署的kubernetes 集群,这里想把已部署的Flannel CNI 更换为 Cilium CNI,本篇记录下实操记录;
之前部署的记录见博客《记一次实操部署Kubernetes_v1.19.2》

卸载Flannel CNI

# 一般生产环境是不会这样操作的,因为一旦把 cni 卸载后,所有pod 都会因为没有对应cni 支持,导致pod 无法正常运行和通信异常;
# 生产环境如果涉及需要更换cni ,一般不会涉及,即便涉及到更换cni的,也会采用新部署一套集群,然后进行迁移;
# 卸载flannel cni 插件:
# 根据部署时记录,确认版本;
[root@master ~]# kubectl delete -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
podsecuritypolicy.policy "psp.flannel.unprivileged" deleted
clusterrole.rbac.authorization.k8s.io "flannel" deleted
clusterrolebinding.rbac.authorization.k8s.io "flannel" deleted
serviceaccount "flannel" deleted
configmap "kube-flannel-cfg" deleted
daemonset.apps "kube-flannel-ds" deleted
[root@master ~]#

[root@master ~]# ll /var/lib/cni/
total 12
drwx------ 3 root root 4096 Oct 28 23:13 cache
drwx------ 2 root root 4096 Nov 17 22:11 flannel
drwxr-xr-x 3 root root 4096 Oct 28 23:13 networks
[root@master ~]# mv /var/lib/cni/ /var/lib/cni.bak
[root@master ~]# ll /var/lib/cni.bak/
cache/    flannel/  networks/
[root@master ~]# ll /etc/cni/net.d/
total 4
-rw-r--r-- 1 root root 292 Nov 17 21:15 10-flannel.conflist
[root@master ~]# mv /etc/cni/net.d/10-flannel.conflist /etc/cni/net.d/10-flannel.conflist.bak
[root@master ~]# systemctl restart kubelet
[root@master ~]#

Install Cilium CNI

在安装之前,需要确保 node 节点机器内核 版本 大于 4.8 ,官网推荐使用 4.9 ;

这里已将Linux Kernel 版本升至 5.9.11-1.el7.elrepo.x86_64 ;
具体kernel 版本升级过程,可查看我其他文档;
CentOS 7.x 内核kernel版本升级实操

使用如下命令快速安装 Cilium ;
对应官网安装文档为 https://docs.cilium.io/en/v1.9/gettingstarted/k8s-install-default/

wget https://raw.githubusercontent.com/cilium/cilium/1.9.0/install/kubernetes/quick-install.yaml
kubectl create -f quick-install.yaml


cilium 提供了一个kernel_check 的job ;

wget https://raw.githubusercontent.com/cilium/cilium/master/examples/kubernetes/kernel-check/kernel-check.yaml
kubectl apply -f kernel-check.yaml



至此Cilium CNI 已经部署完成,验证同node pod 通信,跨 node pod 通信 , 访问 svc 等网络场景验证 — 请见下文分解O.O;

另:
Cilium 官网还提供了其他多种基于一些工具的部署方法,如链接:
https://docs.cilium.io/en/v1.9/gettingstarted/kind/

会涉及到 Hubble 和 helm 等一些工具的部署与配置;
当前我配置的这套集群暂时不涉及这些工具,后面有机会玩的时候,再细看;

安装Hubble
Hubble是一个完全分布式的网络和安全的观测平台,用于云本地工作负载。它构建在Cilium和eBPF之上,可以通过完全透明的方式深入了解服务以及网络基础设施的通信和行为。Visit Hubble Github page。
可以粗暴理解为,Hubble是一个监控工具;
安装helm
wget https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz
tar -zxvf helm-v3.1.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm

Helm官网:https://helm.sh/zh/
Helm 帮助您管理 Kubernetes 应用——Helm 图表,即使是最复杂的 Kubernetes 应用程序,都可以帮助您定义,安装和升级。
图表 Chart 易于创建、发版、分享和发布,所以停止复制粘贴,开始使用 Helm 吧。

https://docs.cilium.io/en/v1.9/gettingstarted/kind/

https://helm.sh/docs/intro/install/

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值