参考:集群网络系统 | Kubernetes

通过官方文档发现,CNI插件有很多,这里记录下Calico 的安装(参考:About Calico

参考:Install Calico networking and network policy for on-premises deployments

参考:K8S Calico网络插件 - RidingWind - 博客园

在安装之前先介绍下Calico 主要有哪些功能,主要功能包括基本的网络、网络(安全)策略、IP地址管理。

在看文档的时候感觉这里讲的网络基础很不错 About Networking

1、安装calico之前需要操作系统做些设置(参考:System requirements

(1)、现在的现在是centos7 , 内核是3.10 ,能满足

(2)、看下是否自动开启了NetworkManager(参考:centos7设置NetworkManager开机自启动_北海几经夏的博客-CSDN博客_networkmanager开机自启动

systemctl is-enabled NetworkManager

 默认是开启的 , 需要做下配置 (Troubleshooting and diagnostics

创建配置文件 sudo vi /etc/NetworkManager/conf.d/calico.conf

重启网络 sudo service network restart(参考:linux重启网络报错Unit network-manager.service not found._hzp666的博客-CSDN博客_linux重启网卡失败

2、安装operator

kubectl create -f https://projectcalico.docs.tigera.io/manifests/tigera-operator.yaml

 3、下载配置 Calico 所需的自定义资源

​ 

4、创建清单以安装 Calico。

 kubectl create -f custom-resources.yaml

 报这个错是由于虚拟机设置的内存不足了,之前官方文档建议也是2G内存 , 随修改到2G内存,在从新执行

验证coredns是否启动成功

kubectl get pods -A

 没有启动成功,看下日志

查看当前运行的容器

sudo crictl ps

查看下operator的日志(参考:监控、日志和排错 - 使用 crictl 对 Kubernetes 节点进行调试 - 《Kubernetes v1.17 任务手册》 - 书栈网 · BookStack

sudo crictl logs 38f479288c6db

日志上看是k8s集群没有配置podSubnet

 增加配置,重新初始化化集群

 

配置了podSubnet 后有有新问题

 

又是拉取镜像失败 , 后面去掉VPN, 收到下载下镜像,不依赖operator

sudo crictl pull docker.io/calico/node:v3.24.0

观察镜像启动情况,又发现一个镜像拉取失败 

kubectl get pods -A

查看pod详细信息

kubectl describe pod calico-apiserver-c954b74d-9g8wx -n calico-apiserver

发现之前是有报错,但是后面成功了, 在查看下pod 启动情况

 

 全都启动成功!!! !!!    

coredns 服务也启动成功!!!

  

5、安装calicoctl(参考:Install calicoctl

在看安装文档的时候发现有个名词不了解 , 搜索了下, 记录下

BGP:Border Gateway Protocol,边界网关协议 , 是一个路由协议

安装calicoctl , 支持4中方式, 这里把它做为kubectl插件方式安装

(1)、导航到PATH目录

cd /usr/local/bin/.

 (2)、下载二进制包

sudo curl -L https://github.com/projectcalico/calico/releases/download/v3.24.0/calicoctl-linux-amd64 -o kubectl-calico 

(3)、设置权限

sudo chmod +x kubectl-calico

 (4)、校验安装是否成功

‘kubectl calico -h

 成功~~~

5、配置 calicoctl 以连接到数据存储。

写到这里发现官方文档里不建议使用calicoctl 管理calico, 而是通过kubectl 访问calico api server实现管理功能 ,晕~~~ 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐