Kubernetes Docker叢集搭建過程
一、環境準備
兩臺裝置,IP分別為95.211(作為Master)和95.217。兩臺裝置的作業系統都是Centos7.3。
二、K8s獲取
三、安裝etcd和flannel
在安裝K8s之前必需要先安裝etcd和flannel。
下載成功後分別解壓,然後將程式加入到系統路徑:
cp etcd etcdctl/usr/bin/
cpflanneld mk-docker-opts.sh /usr/bin
在95.211上執行如下命令:
nohup etcd -nameinfra0 -initial-advertise-peer-urls http://172.20.95.211:2380 -listen-peer-urlshttp://172.20.95.211:2380 -listen-client-urlshttp://172.20.95.211:2379,http://127.0.0.1:2379
-advertise-client-urlshttp://172.20.95.211:2379
在95.217上執行如下命令:
nohupetcd -name infra1 -initial-advertise-peer-urls http://172.20.95.217:2380-listen-peer-urls http://172.20.95.217:2380 -listen-client-urlshttp://172.20.95.217:2379,http://127.0.0.1:2379
-advertise-client-urlshttp://172.20.95.217:2379
這裡有兩個要點。
1.兩臺裝置的“-name”值不同。
正常的話,etcd就啟動成功了,如果有錯,請看日誌檔案。
然後在211上執行
etcdctlset /coreos.com/network/config '{ "Network":"172.17.0.0/16" }'
然後在兩臺裝置上都執行:
flanneld>> /opt/logs/flanneld.log &
mk-docker-opts.sh-i
source/run/flannel/subnet.env
rm/var/run/docker.pid
servicedocker restart //然後重啟docker
四、安裝K8s
1. 解壓
2. 進入kubernetes/server目錄(cd kubernetes/server);
3. 解壓kubernetes-server-linux-amd64(tarzxvf kubernetes-server-linux-amd64.tar.gz);
4. 將目錄kubernetes/server/bin/加入到PATH之中。或者裝用到的二進位制程式複製到/usr/bin目錄下。
5. 依次在211上執行下面的命令:
kube-apiserver--address=0.0.0.0 --insecure-port=8080--service-cluster-ip-range='172.20.95.211/24'--log_dir=/usr/local/kubernete_test/logs/kube --kubelet_port=10250 --v=0--logtostderr=false --etcd_servers=http://172.20.95.211:2379--allow_privileged=false
kube-controller-manager --v=0 --logtostderr=false--log_dir=/opt/logs/kube --master=172.20.95.211:8080
kube-scheduler --master='172.20.95.211:8080' --v=0 --log_dir=/opt/logs/kube
kube-proxy--logtostderr=false --v=0 --master=http://172.20.95.211:8080
kubelet--logtostderr=false --v=0 --allow-privileged=false --address=0.0.0.0 --port=10250--hostname_override=172.20.95.211 --api_servers=http://172.20.95.211:8080
如此一來,Master節點就算執行起來了。
可以通過“kubectl get componentstatuses”命令來檢視執行狀態。
6. 在217上執行如下命令
kube-proxy--logtostderr=false --v=0 --master=http://172.20.95.211:8080
kubelet--logtostderr=false --v=0 --allow-privileged=false --address=0.0.0.0 --port=10250 --hostname_override=172.20.95.217 --api_servers=http://172.20.95.211:8080
如此一來,叢集他建完畢。
可以通過“kubectl getnodes”命令來檢視。
參考文章:
http://www.linuxidc.com/Linux/2016-01/127784.htm
http://www.linuxidc.com/Linux/2015-12/125770.htm
http://www.linuxidc.com/Linux/2015-12/125735.htm