1. 程式人生 > >Kubernetes Docker叢集搭建過程

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 

-discoveryhttps://discovery.etcd.io/8ce4b3c7db5cb5c899ea2bbcad019d24 --data-dir /opt/logs/  >> /opt/logs/etcd.log &

在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 

-discoveryhttps://discovery.etcd.io/8ce4b3c7db5cb5c899ea2bbcad019d24 --data-dir/opt/logs/  >> /opt/logs/etcd.log&

這裡有兩個要點。

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