系列目錄
根據機器環境的不同,有的可能一次就安裝成功,有的則可能遇到各種各樣的坑需要排查.建議不熟悉linux的用戶使用全新的環境來安裝kubernetes.以下記錄本人在安裝過程中遇到的問題及解決方案.
缺少docker
由於是按照步驟安裝的,剛開始裝前幾台機器的時候都看的非常認真,到了后面就越來越毛躁了,裝節點加入集群的時候提示需要docker,這時候在節點上執行docker
命令時發現docker不存在,這時候才發現docker沒有成功安裝.
安裝docker時報container-selinux >= 2.9錯誤
由於測試環境的機器是不同批准到來的,第一批安裝非常順序,第二批是直接放置在辦公室的PC機,也非常不順序,安裝過程遇到各種各樣麻煩.
上面說過,加入集群時發現docker沒有安裝成功,安裝docker時出現了以下錯誤
Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-edge)
Requires: container-selinux >= 2.9
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
這個報錯是container-selinux版本低或者是沒安裝的原因
yum 安裝container-selinux 一般的yum源又找不到這個包
需要安裝epel源 才能yum安裝container-selinux
然后在安裝docker-ce就可以了。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release #阿里雲上的epel源
yum makecache
然后yum install container-selinux
加入集群后節點狀態一直是NotReady
出現這個錯誤可以在節點機器上執行journalctl -f -u kubelet
查看kubelet的輸出日志信息.
發現以下錯誤
Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
出現這個錯誤提示信息已經很明顯,網絡插件沒有准備好.我們可以執行命令docker images|grep flannel
來查看flannel鏡像是否已經成功拉取下來.經過排查,flannel鏡像拉取的有點慢,稍等一會以后就ok了.
如果你等待了很長時間仍然沒有拉下來flannel鏡像,可以使用
docker save
把主節點上的flannel鏡像保存為壓縮文件,然后再在當前節點上執行docker load
來加載,具體操作其它章節有介紹,大家可以查找或者查看官方文檔.還有一種辦法就是使用上一節介紹到的如何拉取gcr.io或者quay.io上鏡像的方法來手動把鏡像拉取過來.
節點加入集群時報錯
節點加入集群時,可能會報各種各樣的錯誤,有些容易解決,有些可能一時無法找到好的解決辦法.這時候可以嘗試使用kubeadm reset
命令來重置一下,然后再重新加入.