1 概述
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接浪潮信息KOS服务器操作系统-服务器操作系统-浪潮信息。
Calico 是一个开源的网络和网络安全解决方案,适用于容器、虚拟机和原生云应用。Calico 3.10.3 是这个项目的一个特定版本。提供了高效的容器网络,支持大规模的 Kubernetes、OpenShift、Docker EE 和其他基于容器的网络部署。它使用纯粹的 Layer 3 网络来路由容器流量,这使得网络性能更高效,也简化了网络布局。提供了细粒度的网络策略控制,允许用户以声明的方式定义网络访问控制规则。这些规则可以用来控制容器之间的流量,为应用程序提供重要的安全隔离。在 Calico 3.10.3 中,用户可以选择使用 Linux 的标准网络堆栈(标准数据平面)或选择使用 eBPF 数据平面。eBPF 提供了更高的性能和更多的功能,但可能需要更新的内核版本。Calico 3.10.3 兼容多种容器编排平台,包括 Kubernetes、OpenShift 和 Docker EE。它可以在各种云提供商和裸机环境中运行。详情请访问官网https://www.tigera.io/project-calico/。
2 安装环境
2.1 操作系统环境
版本信息:KeyarchOS 5.8
硬件平台:X86_64
2.2 工具版本
calico3.10.3
https://github.com/projectcalico/calico/releases/tag/v3.10.3
3 安装与测试
3.1 安装calico3.10.3
在github下载calico3.10.3离线包
Release v3.10.3 · projectcalico/calico · GitHub
将下载的包上传到服务器,解压tar -zxvf release-v3.10.3.tar
执行cat calico.yaml |grep image:查看calico所需要的镜像包
在下载的离线包里images文件下
上面显示需要四个镜像
使用 ctr namespace ls 命令查看containerd的命名空间。k8s的命名空间为k8s.io
使用containerd的导入镜像命令将calico的离线镜像包导入到k8s的命名空间中
开始安装
进入k8s-manifests文件夹下开始安装,执行kubectl apply -f calico.yaml
3.2 使用Calico
执行命令kubectl get pod -A可以看到calico正在运行
接下来检查 Calico 节点的状态,执行kubectl get nodes
节点状态是Ready,说明Calico是正常运行的
检查 Calico CNI 配置,确认 Calico 的 CNI (Container Network Interface) 插件配置是否正确。通常,这个配置文件位于 /etc/cni/net.d/ 目录下
配置正常
创建两个测试 Pods获取ip
kubectl run test-pod1 --image=busybox --restart=Never -- sleep 3600
pod/test-pod1 created
kubectl run test-pod2 --image=busybox --restart=Never -- sleep 3600
pod/test-pod2 created
获取ip kubectl get pods -o wide
执行calicoctl version查看版本