K8S集群安装Pod网络附加组件
写到这里发现官方文档里不建议使用calicoctl 管理calico, 而是通过kubectl 访问calico api server实现管理功能 ,晕~~~在安装之前先介绍下Calico 主要有哪些功能,主要功能包括基本的网络、网络(安全)策略、IP地址管理。报这个错是由于虚拟机设置的内存不足了,之前官方文档建议也是2G内存 , 随修改到2G内存,在从新执行。发现之前是有报错,但是后面成功了,
通过官方文档发现,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实现管理功能 ,晕~~~
更多推荐
所有评论(0)