目前外面有很多kubernetes的安裝方法,這篇文章主要介紹用kubeadm來安裝最簡化的kubernetes的集群。
kubeadm 是官方發(fā)布的安裝集群的腳本舱卡,用起來十分簡便崖咨。
準備工作
集群包括:
- 1臺master (2 core cpu 和4g ram): 主要安裝kubernetes必要的自帶pod如 apiServer, kube-controller , kube-scheduler , etcd等
- 1臺worker (1 core cpu 和 2g ram): 安裝自己的pod
這邊是用作演示所以僅配置最小需求。節(jié)點使用的系統(tǒng)為Ubuntu 16.04
接下來我們需要找兩臺服務器绪杏。請注意
使用kubeadm的時候下愈,腳本會從google容器庫上下載必要的pod,由于國內(nèi)把google容器庫墻了蕾久,所以會導致腳本沒法安裝集群势似。這邊我們只是做演示,為了方便起見僧著,在阿里云上弄了兩臺在香港的服務器履因,這樣在安裝的時候就不會被墻了。只有在中國國內(nèi)的服務器的同學如果要安裝的的話盹愚,恐怕要參考別的文章了栅迄。
安裝 Docker
首先進入master節(jié)點,安裝docker
apt-get update
apt-get install -y docker.io
安裝 kubeadm
安裝kubeadm之前先看一下kubernetes架構圖和介紹一些kubernetes比較重要的組件
- kubeadm:初始化集群的命令組件
- kubectl: 控制集群的客戶端命令組件皆怕,通過API server來控制worker節(jié)點
- kubelet: worker節(jié)點的agent毅舆,接收apiserver過來的命令來控制worker節(jié)點
接下來安裝kubeadm
apt-get update && apt-get install -y apt-transport-https
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 http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubeadm
kubeadm安裝完后可以輸入,會顯示版本信息
kubeadm version
初始化集群
接下來我們就可以使用kubeadm來初始化kubernetes集群了
kubeadm init
大約經(jīng)過幾分鐘時間,一切正常的話系統(tǒng)會顯示安裝完成端逼,然后在完成后會提示用戶需要給予非root用戶使用kubectl的權限
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
然后系統(tǒng)會顯示一段類似 kubeadm join的信息朗兵,這個是讓worker節(jié)點通過token來加入到集群的命令。
我們需要把這段命令復制黏貼到剪切板顶滩,方便后面worker節(jié)點加入到集群
這個時候如果輸入
kubectl get node
NAME STATUS ROLES AGE VERSION
izj6c3vsekthy7xn94b5s6z NotReady master 46m v1.10.3
雖然系統(tǒng)顯示安裝成功余掖,但是master節(jié)點顯示狀態(tài)還是 NotReady,原因是需要安裝網(wǎng)絡插件礁鲁,這邊kubernetes官方提供了幾款網(wǎng)絡插件盐欺。 我這邊選擇Weave Net。因為安裝起來比較方便仅醇。
kubectl apply -f https://git.io/weave-kube-1.6
NAME STATUS ROLES AGE VERSION
izj6c3vsekthy7xn94b5s6z Ready master 1h v1.10.3
大概過一會master節(jié)點就顯示ready了冗美,說明master已經(jīng)準備就緒了
添加worker節(jié)點
進入worker節(jié)點,重復在上面的安裝docker和kubeadm的步驟
apt-get update
apt-get install -y docker.io
apt-get update && apt-get install -y apt-transport-https
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 http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubeadm
kubeadm在worker節(jié)點安裝完成后輸入剛才在剪切板上記下的kubeadm join 帶token的命令行析二。等顯示worker節(jié)點加入成功后回到master節(jié)點輸入
kubectl get node
會顯示兩個節(jié)點準備就緒粉洼。
到此咋們的簡約版kubernetes集群就安裝完畢了节预。喜歡的話請點個贊。