centos7叢集部署k8s
阿新 • • 發佈:2018-12-25
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