1. 程式人生 > >centos7叢集部署k8s

centos7叢集部署k8s

1、機器情況

機器ip 角色 部署內容
172.18.1.22 matser etcd、kube-apiserver、kube-controller-manager、kube-scheduler
172.18.1.23 minion kube-proxy,kubelet,docker,flanneld
172.18.1.24 minion kube-proxy,kubelet,docker,flanneld
172.18.1.25 minion kube-proxy,kubelet,docker,flanneld
172.18.1.26 minion kube-proxy,kubelet,docker,flanneld

2、部署依賴

確保系統已經安裝epel-release源,關閉防火牆服務,避免與docker容器的防火牆規則衝突。

[root@bgsbtsp0006-dqf opt]# yum -y install epel-release

[root@bgsbtsp0006-dqf opt]# systemctl stop firewalld

3、安裝並配置Kubernetes Master

[root@bgsbtsp0006-dqf opt]# yum -y install etcd kubernetes-master
3.1、編輯並修改/etc/etcd/etcd.conf檔案
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"

這裡寫圖片描述

3.2、編輯/etc/kubernetes/apiserver檔案

3.3、啟動etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服務,並設定開機啟動。
[root@bgsbtsp0006
-dqf opt]# for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done

這裡寫圖片描述
這裡寫圖片描述

3.4、在etcd中定義flannel網路
[[email protected] opt]# etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'

4、安裝配置Kubernetes Node,如下操作在23、24、25、26機器上執行。

4.1、使用yum安裝flannel和kubernetes-node
[root@bgsbtsp0006-dqf opt]# yum -y install flannel kubernetes-node
4.2、為flannel網路指定etcd服務,修改/etc/sysconfig/flanneld檔案
# 修改ETCD服務即matser的ip地址
FLANNEL_ETCD="http://192.168.30.20:2379"
FLANNEL_ETCD_KEY="/atomic.io/network"

這裡寫圖片描述

4.3、修改/etc/kubernetes/config檔案
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.30.20:8080"

4.4、修改對應minion機器上的配置檔案/etc/kubernetes/kubelet

172.18.1.23機器:

KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
#修改成對應minion機器的IP
KUBELET_HOSTNAME="--hostname-override=172.18.1.23" 
#指定Master節點的API Server
KUBELET_API_SERVER="--api-servers=http://172.18.1.22:8080"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

172.18.1.24機器:

其餘配置不變

KUBELET_HOSTNAME="--hostname-override=172.18.1.24" 

172.18.1.25機器:

其餘配置不變

KUBELET_HOSTNAME="--hostname-override=172.18.1.25" 

172.18.1.26機器:

其餘配置不變

KUBELET_HOSTNAME="--hostname-override=172.18.1.26" 

5.在所有minion節點上啟動kube-proxy,kubelet,docker,flanneld等服務,並設定開機啟動。

 for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done

這裡寫圖片描述
這裡寫圖片描述

6、驗證叢集是否安裝成功,在master上執行如下命令:

[root@bgsbtsp0006-dqf opt]# kubectl get node