Centos7.3 Kubernetes集群部署
時(shí)間:2017年11月21日?瀏覽量:308
一吓肋、環(huán)境介紹及準(zhǔn)備
1.1 物理機(jī)操作系統(tǒng)
物理機(jī)操作系統(tǒng)采用Centos7.3 64位,細(xì)節(jié)如下瑰艘。
[root@localhost?~]#?uname?-a
Linux?localhost.localdomain?3.10.0-514.6.1.el7.x86_64?#1?SMP?Wed?Jan?18?13:06:36?UTC?2017?x86_64?x86_64?x86_64?GNU/Linux
[root@localhost?~]#?cat?/etc/redhat-release?
CentOS?Linux?release?7.3.1611?(Core)
1.2 主機(jī)信息
本文準(zhǔn)備了三臺(tái)機(jī)器用于部署k8s的運(yùn)行環(huán)境是鬼,細(xì)節(jié)如下:
1.3 環(huán)境準(zhǔn)備
1.3.1 主機(jī)名修改
Master:
[root@localhost?~]#??hostnamectl?--static?set-hostname??k8s-master
Node1:
[root@localhost?~]#??hostnamectl?--static?set-hostname??k8s-node1
Node2:
[root@localhost?~]#??hostnamectl?--static?set-hostname??k8s-node2
1.3.2 ?安裝docker及iptables
yum?install?docker?iptables-services.x86_64?-y
1.3.3 關(guān)閉默認(rèn)firewalld啟動(dòng)iptables并清除默認(rèn)規(guī)則
systemctl?stop?firewalld
systemctl?disable?firewalld
systemctl?start?iptables
systemctl?enable?iptables
iptables?-F
service?iptables?save
1.3.4 啟動(dòng)docker并加入開機(jī)自啟動(dòng)
?systemctl?start?docker
?systemctl?enable?docker
二、K8S集群部署
MASTER
2.1 ? master安裝kubernetes etcd
[root@k8s-master?~]#?yum?install?kubernetes?etcd?-y
2.2 配置
etcd
#修改
[root@k8s-master?~]#?cd?/etc/etcd/
[root@k8s-master?etcd]#?vim?etcd.conf?
9:ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
20:ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
#啟動(dòng)并加入開機(jī)自啟動(dòng)
[root@k8s-master?etcd]#?systemctl?start?etcd
[root@k8s-master?etcd]#?systemctl?enable?etcd
kubernetes
#修改
[root@k8s-master?~]#?cd?/etc/kubernetes/
[root@k8s-master?kubernetes]#?ll
total?24
-rw-r--r--?1?root?root?767?Jul??3?23:33?apiserver??????????#需要配置
-rw-r--r--?1?root?root?655?Jul??3?23:33?config?????????????#需要配置
-rw-r--r--?1?root?root?189?Jul??3?23:33?controller-manager?#需要配置
-rw-r--r--?1?root?root?615?Jul??3?23:33?kubelet
-rw-r--r--?1?root?root?103?Jul??3?23:33?proxy
-rw-r--r--?1?root?root?111?Jul??3?23:33?scheduler??????????#需要配置
#配置config
[root@k8s-master?kubernetes]#?vim?config?
22:KUBE_MASTER="--master=http://192.168.56.130:8080"
#?apiserver
[root@k8s-master?kubernetes]#?vim?apiserver?
8:KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
11:KUBE_API_PORT="--port=8080"
14:KUBELET_PORT="--kubelet-port=10250"
17:KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"
23:KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
#controller-manager?
[root@k8s-master?kubernetes]#?vim??controller-manager?
8:KUBELET_ADDRESSES="--machines=192.168.56.140,192.168.56.150"??#增加配置
啟動(dòng)服務(wù)并加入開機(jī)自啟動(dòng)
[root@k8s-master?~]#?systemctl?list-unit-files?|grep?kube
kube-apiserver.service??????????????????????disabled?????#需要啟動(dòng)
kube-controller-manager.service?????????????disabled?????#需要啟動(dòng)
kube-proxy.service??????????????????????????disabled
kube-scheduler.service??????????????????????disabled?????#需要啟動(dòng)?
kubelet.service?????????????????????????????disabled????
#啟動(dòng)
[root@k8s-master?~]#?systemctl?start?kube-apiserver.service?kube-controller-manager.service??kube-scheduler.service??
#查看是否啟動(dòng)
[root@k8s-master?~]#?systemctl?is-active??kube-apiserver.service?kube-controller-manager.service?kube-scheduler.service?
active
active
active
#開機(jī)啟動(dòng)
[root@k8s-master?~]#?systemctl?enable?kube-apiserver.service?kube-controller-manager.service??kube-scheduler.service
注意:?jiǎn)?dòng)順序 etcd-->kubernetes*
SLAVE 兩個(gè)節(jié)點(diǎn)相同
2.3 slave 安裝 kubernetes-node
yum?install?kubernetes-node.x86_64?flannel?-y
2.4 slave配置
[root@k8s-node1?~]#?cd?/etc/kubernetes/
[root@k8s-node1?kubernetes]#?ll
total?12
-rw-r--r--?1?root?root?655?Jul??3?23:33?config??#需要配置
-rw-r--r--?1?root?root?615?Jul??3?23:33?kubelet?#需要配置
-rw-r--r--?1?root?root?103?Jul??3?23:33?proxy
#config?
[root@k8s-node1?kubernetes]#?vim?config?
22:KUBE_MASTER="--master=http://192.168.56.130:8080"
#?kubelet
5:KUBELET_ADDRESS="--address=0.0.0.0"
8:KUBELET_PORT="--port=10250"
11:KUBELET_HOSTNAME="--hostname-override=192.168.56.140"
14:KUBELET_API_SERVER="--api-servers=http://192.168.56.130:8080"
啟動(dòng)并加入開機(jī)自啟動(dòng)
[root@k8s-node1?~]#?systemctl?list-unit-files?|grep?kube
kube-proxy.service??????????????????????????disabled
kubelet.service?????????????????????????????disabled
[root@k8s-node1?~]#?systemctl?start?kube-proxy.service?kubelet.service?
[root@k8s-node1?~]#?systemctl?is-active?kube-proxy.service?kubelet.service?
active
active
[root@k8s-node1?~]#?systemctl?enable?kube-proxy.service?kubelet.service?
#flannel配置
[root@k8s-node1?kubernetes]#?cd?/etc/sysconfig/
[root@k8s-node1?sysconfig]#?vim?flanneld?
4:FLANNEL_ETCD_ENDPOINTS="http://192.168.56.130:2379"
啟動(dòng)并加入開機(jī)自動(dòng):
systemctl?start?flanneld.service
systemctl?enable?flanneld.service
#查看flannel狀態(tài)
[root@k8s-node1?sysconfig]#?systemctl?is-active?flanneld.service
active
注意:此時(shí)flannel啟動(dòng)不了紫新,之所以啟動(dòng)不起來是因?yàn)閑tcd里面沒有flannel所需要的網(wǎng)絡(luò)信息均蜜,此時(shí)我們需要在etcd里面創(chuàng)建flannel所需要的網(wǎng)絡(luò)信息
master創(chuàng)建 flannel所需要的網(wǎng)絡(luò)信息:
[root@k8s-master?~]#?etcdctl?set?/atomic.io/network/config?'{?"Network":?"172.17.0.0/16"?}'
{?"Network":?"172.17.0.0/16"?}
2.5 集群檢查
[root@k8s-master?~]#?kubectl?get?node
NAME?????????????STATUS????AGE
192.168.56.140???Ready?????56m
192.168.56.150???Ready?????54m
kubernetes集群配置完成!