K8S集群安装Pod网络附加组件
參考:集群網(wǎng)絡(luò)系統(tǒng) | Kubernetes
通過(guò)官方文檔發(fā)現(xiàn),CNI插件有很多,這里記錄下Calico 的安裝(參考:About Calico)
參考:Install Calico networking and network policy for on-premises deployments
參考:K8S Calico網(wǎng)絡(luò)插件 - RidingWind - 博客園
在安裝之前先介紹下Calico 主要有哪些功能,主要功能包括基本的網(wǎng)絡(luò)、網(wǎng)絡(luò)(安全)策略、IP地址管理。
在看文檔的時(shí)候感覺(jué)這里講的網(wǎng)絡(luò)基礎(chǔ)很不錯(cuò)?About Networking
1、安裝calico之前需要操作系統(tǒng)做些設(shè)置(參考:System requirements)
(1)、現(xiàn)在的現(xiàn)在是centos7 , 內(nèi)核是3.10 ,能滿(mǎn)足
(2)、看下是否自動(dòng)開(kāi)啟了NetworkManager(參考:centos7設(shè)置NetworkManager開(kāi)機(jī)自啟動(dòng)_北海幾經(jīng)夏的博客-CSDN博客_networkmanager開(kāi)機(jī)自啟動(dòng))
systemctl is-enabled NetworkManager
?默認(rèn)是開(kāi)啟的 , 需要做下配置 (Troubleshooting and diagnostics)
創(chuàng)建配置文件?sudo vi /etc/NetworkManager/conf.d/calico.conf
重啟網(wǎng)絡(luò) sudo service network restart(參考:linux重啟網(wǎng)絡(luò)報(bào)錯(cuò)Unit network-manager.service not found._hzp666的博客-CSDN博客_linux重啟網(wǎng)卡失敗)
2、安裝operator
kubectl create -f https://projectcalico.docs.tigera.io/manifests/tigera-operator.yaml
?
?3、下載配置 Calico 所需的自定義資源
?
??
4、創(chuàng)建清單以安裝 Calico。
?kubectl create -f custom-resources.yaml
?報(bào)這個(gè)錯(cuò)是由于虛擬機(jī)設(shè)置的內(nèi)存不足了,之前官方文檔建議也是2G內(nèi)存 , 隨修改到2G內(nèi)存,在從新執(zhí)行
驗(yàn)證coredns是否啟動(dòng)成功
kubectl get pods -A
?沒(méi)有啟動(dòng)成功,看下日志
查看當(dāng)前運(yùn)行的容器
sudo crictl ps
查看下operator的日志(參考:監(jiān)控、日志和排錯(cuò) - 使用 crictl 對(duì) Kubernetes 節(jié)點(diǎn)進(jìn)行調(diào)試 - 《Kubernetes v1.17 任務(wù)手冊(cè)》 - 書(shū)棧網(wǎng) · BookStack)
sudo crictl logs 38f479288c6db
日志上看是k8s集群沒(méi)有配置podSubnet
?增加配置,重新初始化化集群
?
配置了podSubnet 后有有新問(wèn)題
?
又是拉取鏡像失敗 , 后面去掉VPN, 收到下載下鏡像,不依賴(lài)operator
sudo crictl pull docker.io/calico/node:v3.24.0
觀察鏡像啟動(dòng)情況,又發(fā)現(xiàn)一個(gè)鏡像拉取失敗?
kubectl get pods -A
查看pod詳細(xì)信息
kubectl describe pod calico-apiserver-c954b74d-9g8wx -n calico-apiserver
發(fā)現(xiàn)之前是有報(bào)錯(cuò),但是后面成功了, 在查看下pod 啟動(dòng)情況
?
?全都啟動(dòng)成功!!! !!!? ??
coredns 服務(wù)也啟動(dòng)成功!!!
??
5、安裝calicoctl(參考:Install calicoctl)
在看安裝文檔的時(shí)候發(fā)現(xiàn)有個(gè)名詞不了解 , 搜索了下, 記錄下
BGP:Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議 , 是一個(gè)路由協(xié)議
安裝calicoctl , 支持4中方式, 這里把它做為kubectl插件方式安裝
(1)、導(dǎo)航到PATH目錄
cd /usr/local/bin/.
?(2)、下載二進(jìn)制包
sudo curl -L https://github.com/projectcalico/calico/releases/download/v3.24.0/calicoctl-linux-amd64 -o kubectl-calico?
(3)、設(shè)置權(quán)限
sudo chmod +x kubectl-calico
?(4)、校驗(yàn)安裝是否成功
‘kubectl calico -h
?成功~~~
5、配置 calicoctl 以連接到數(shù)據(jù)存儲(chǔ)。
寫(xiě)到這里發(fā)現(xiàn)官方文檔里不建議使用calicoctl 管理calico, 而是通過(guò)kubectl 訪問(wèn)calico api server實(shí)現(xiàn)管理功能 ,暈~~~?
總結(jié)
以上是生活随笔為你收集整理的K8S集群安装Pod网络附加组件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 远程DNS缓存攻击__网络攻防实验三
- 下一篇: Maya多版本下载和安装