安裝過程中的問題
https://kubernetes.io/docs/setup/independent/install-kubeadm/
官網ubuntu安裝命令
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
1、源問題
此處kubernetes的源 我選擇的ustc源
因此/etc/apt/sources.list.d/kubernetes.list文件需要添加(ubuntu16.04代號為xenial),
deb https://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
軟件源更改 /etc/apt/sources.list
# 默認注釋了源碼倉庫,如有需要可自行取消注釋
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse#
預發布軟件源,不建議啟用# deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
2、swap問題
kubernetes需要關閉swap
swapoff -a
同時把/etc/fstab包含swap那行記錄刪掉。
3、image問題
安裝好kubectl,kubeadm,kubelet之后,使用kubectl init進行初始化,初始化的時候默認使用國外的鏡像。
因此可以使用kubeadm config images lsit --kunernetes-version v1.12.2(自己的版本號)查看k8s都需要那些image,可以事先使用國內能訪問的網站下載下來
使用kubeadm初始化的時候無法拉取鏡像
推薦使用anjia0532的鏡像,機器人自動跟官方同步,非常及時。
docker pull anjia0532/google-containers.kube-controller-manager-amd64:v1.11.2
docker pull anjia0532/google-containers.kube-apiserver-amd64:v1.11.2
docker pull anjia0532/google-containers.kube-scheduler-amd64:v1.11.2
docker pull anjia0532/google-containers.kube-proxy-amd64:v1.11.2
docker pull anjia0532/google-containers.pause:3.1
docker pull anjia0532/google-containers.etcd-amd64:3.2.18
docker pull anjia0532/google-containers.coredns:1.1.3
然后重新tag
docker tag anjia0532/google-containers.kube-controller-manager-amd64:v1.11.2 k8s.gcr.io/kube-controller-manager-amd64:v1.11.2
docker tag anjia0532/google-containers.kube-apiserver-amd64:v1.11.2 k8s.gcr.io/kube-apiserver-amd64:v1.11.2
docker tag anjia0532/google-containers.kube-scheduler-amd64:v1.11.2 k8s.gcr.io/kube-scheduler-amd64:v1.11.2
docker tag anjia0532/google-containers.kube-proxy-amd64:v1.11.2 k8s.gcr.io/kube-proxy-amd64:v1.11.2
docker tag anjia0532/google-containers.pause:3.1 k8s.gcr.io/pause:3.1
docker tag anjia0532/google-containers.etcd-amd64:3.2.18 k8s.gcr.io/etcd-amd64:3.2.18
docker tag anjia0532/google-containers.coredns:1.1.3 k8s.gcr.io/coredns:1.1.3
再刪掉原來的image
docker rmi [imagename]
4、join加入master時的問題
因為我的測試機時克隆的,所以3個主機名字是一樣的,加入的時候
kubeadm join IP:6443 --token xuzad4.qkfdi57gal2bkobo
在master上 kubectl get nodes看不到加入的節點,發現問題的原因是主機名相同,修改主機名,Ubuntu修改方法 編輯/etc/hostname
修改完成之后使用kubeadm reset在節點主機上使用,重置,然后在使用kubeadm join命令,加入成功。
5、join之后各節點需要運行一些組件
kubectl get nodes
可以查看到現有的節點仍處于not ready狀態,當各節點需要運行的組件都啟動正常之后會變為ready狀態
可以通過
kubectl get pod --all-namespaces
查看組件啟動情況,若有組件未啟動成功,可以使用
kubectl describe pod (上一命令查到的NAME) --namespace=kube-system
節點在ready的時候會創建一些容器,需要上邊列出的7個image中的一些,所以在節點機器上也要下載部分第3部中的image
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享名稱:使用國內源安裝k8s-創新互聯
本文URL:http://m.newbst.com/article22/ceghcc.html
成都網站建設公司_創新互聯,為您提供網站維護、網站建設、網站導航、網站改版、Google、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯