centos7 安裝kubernetes1.4(kubeadm版)

使用kubeadm快速搭建k8s集羣(單master,HA 的功能仍然在開發中)


NOTE:

2016/10/09 :添加release版yum源,上傳rpm包,避免×××,補全之前未添加的鏡像,完善文檔

2016/11/11 :刪除hub.docker.com的鏡像,改爲通過github自動編譯,免去爬梯之苦


架構:

master 192.168.1.11

slave  192.168.1.12


前提條件

系統爲Ubuntu16.04 or centos7


以下操作均在centos7 環境下,並且已經安裝docker


安裝yum源


release源(需×××):

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF


已把相關rpm包上傳

http://down.51cto.com/data/2248890


beta源(國內可下載嚐鮮):

cat <<EOF > /etc/yum.repos.d/k8s.repo
[kubelet]
name=kubelet
baseurl=http://files.rm-rf.ca/rpms/kubelet/
enabled=1
gpgcheck=0
EOF


除了kubelet,組件都已經docker化

yum install -y kubelet kubeadm kubectl kubernetes-cni
systemctl enable kubelet && systemctl start kubelet


注意:

1、程序會進行hostname正則匹配,修改hostname和hosts文件,需要符合 example.com

2、提前下載鏡像,因爲國內屏蔽了


我已經上傳相關鏡像

https://hub.docker.com/u/foxchan/


鏡像名如下:

gcr.io/google_containers/pause-amd64:3.0
gcr.io/google_containers/kube-apiserver-amd64:v1.4.0
gcr.io/google_containers/kube-controller-manager-amd64:v1.4.0
gcr.io/google_containers/kube-scheduler-amd64:v1.4.0
gcr.io/google_containers/etcd-amd64:2.2.5
gcr.io/google_containers/kube-discovery-amd64:1.0
gcr.io/google_containers/kube-dnsmasq-amd64:1.3
gcr.io/google_containers/kubedns-amd64:1.7
gcr.io/google_containers/exechealthz-amd64:1.1
gcr.io/google_containers/kube-proxy-amd64:v1.4.0


在你期望運行master的機器執行如下命令,耐心等待,聯網下載(下載的就是上面提供的鏡像)

kubeadm init --use-kubernetes-version v1.4.0-beta.11



出現這些,證明安裝成功了

Kubernetes master initialised successfully!
You can now join any number of machines by running the following on each node:
kubeadm join --token dxxxxxxxxx 192.168.1.11


slave節點

先下載鏡像

gcr.io/google_containers/pause-amd64:3.0
gcr.io/google_containers/kube-proxy-amd64:v1.4.0


執行如下命令加入集羣

kubeadm join --token dxxxxxxxx 192.168.1.11


master查看是否添加成功

kubectl get nodes


還沒完事,還有活要幹!


現在創建pod網絡(master上操作,也可以用其他的網絡模式,Calico or Canal之後補充)

weaver網絡:

鏡像如下

weaveworks/weave-kube:1.7.0
weaveworks/weave-npc:1.7.0


添加weaver網絡支持

kubectl apply -f https://git.io/weave-kube

查看容器是否全部正常

kubectl get pods --all-namespaces


NAMESPACE     NAME                                             READY     STATUS    RESTARTS   AGE
kube-system   etcd-emarsys105011.emar.com                      1/1       Running   0          10d
kube-system   kube-apiserver-emarsys105011.emar.com            1/1       Running   8          10d
kube-system   kube-controller-manager-emarsys105011.emar.com   1/1       Running   0          10d
kube-system   kube-discovery-1971138125-6g5vk                  1/1       Running   0          10d
kube-system   kube-dns-2247936740-bwcsy                        3/3       Running   3          10d
kube-system   kube-proxy-amd64-leat6                           1/1       Running   0          10d
kube-system   kube-proxy-amd64-ta5jb                           1/1       Running   0          9d
kube-system   kube-scheduler-emarsys105011.emar.com            1/1       Running   0          10d
kube-system   weave-net-l1rif                                  2/2       Running   0          9d
kube-system   weave-net-zbsbf                                  2/2       Running   0          9d

現在,集羣已經準備好了!!!


總結:

1、kubeadm仍然是持續開發的功能,以後會集成更多的功能進來,嚐鮮、瞭解特性可以,放到生產並不建議。

2、目前是單master模式,掛了就是真掛了。etcd的數據保存路徑:/var/lib/etcd/,可以備份

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章