前言:
kubernetes作為docker的管理工具是由Google開源提供沦辙,但是kubernetes的安裝一直折磨著運(yùn)維人員,在這一系列的文章中我將會由kubernetes的安裝講起為大家介紹kubernetes的安裝使用等過程黄娘,也作為自己的學(xué)習(xí)筆記蜀漆。
inform
所有的操作均需要root權(quán)限涩馆,請在執(zhí)行時加sudo或者su到root賬號下督惰,在安裝的時候請記得把防火墻關(guān)閉并設(shè)置iptables開放2379端口和8080端口。如果在實驗環(huán)境下可以直接將iptables也關(guān)閉了茴厉。
1泽台、環(huán)境介紹
本次安裝有三臺虛擬機(jī)全部安裝的centos操作系統(tǒng),系統(tǒng)的內(nèi)核參數(shù)及版本如下圖所示:
三臺主機(jī)的職責(zé)如下所示:
host 192.168.163.148 安裝etcd server以及kubernetes server矾缓,同時安裝kubernetes client node怀酷,并且還需要安裝docker;
host 192.168.163.150 安裝kubernetes client server 以及docker嗜闻;
host 192.168.163.138 安裝kubernetes client server 以及docker蜕依;
2、etcd以及kubernetes服務(wù)端的搭建
在centos中已經(jīng)添加了kubernetes和etcd以及docker的鏡像源
在安裝之前我們先執(zhí)行以下命令用于更新我們的鏡像源
# yum update
接著在host 192.168.163.148上執(zhí)行
# yum install etcd kubernetes-master docker-y
安裝完畢后開始修改參數(shù)
首先我們修改etcd的配置參數(shù)琉雳,打開/etc/etcd/etcd.conf
# vi /etc/etcd/etcd.conf將以下幾行進(jìn)行修改样眠,完成后保存退出。
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://192.168.163.148:2379"
保存好后繼續(xù)執(zhí)行以下命令
etcdctl set /coreos.com/network/config '{ "Network": "192.168.0.0/16" }'翠肘,這兒需要上設(shè)置一對key-value檐束,其中
192.168.0.0/16也是根據(jù)你自己的情況去設(shè)置。
systemctl enable etcd
systemctl start etcd
接著我們修改kubernetes server的參數(shù)
先打開/etc/kubernetes/apiserver文件修改一下幾行
KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.163.148:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=192.168.0.0/16"
第二行設(shè)置--service-cluster-ip-range的這個192.168.0.0/16參數(shù)你們根據(jù)自己的情況去設(shè)置束倍,我是因為自己的虛擬機(jī)地址網(wǎng)段在這里面所以這樣設(shè)置的被丧。
設(shè)置/etc/kubernetes/controller-manager文件里的參數(shù)
KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"
設(shè)置 /etc/kubernetes/config 文件里的參數(shù)
KUBE_MASTER="--master=http://192.168.163.148:8080"
到這里為止我們etcd和kubernetes的服務(wù)端設(shè)置就結(jié)束了,接著我們要啟動kubernetes server服務(wù)執(zhí)行下面的命令:
systemctl enable kube-apiserver kube-scheduler kube-controller-manager
systemctl start kube-apiserver kube-scheduler kube-controller-manager
以上就是我們需要在kubernetes服務(wù)端需要完成的安裝配置绪妹。
3甥桂、kubernetes nodes安裝配置
在這里我們以host 192.168.163.150節(jié)點來講解如何配置kubernetes nodes節(jié)點。
我們需要在所有nodes節(jié)點上安裝kubernetes-nodes以及docker還有flanneld一鍵式安裝如下:
yum install kubernetes-node flannel docker -y
安裝完后我們先對docker進(jìn)行配置執(zhí)行以下
systemctl enable docker
systemctl start docker
接著我們需要配置flanneld邮旷,修改/etc/sysconfig/flanneld文件配置如下:
FLANNEL_ETCD="http://192.168.163.148:2379"
FLANNEL_ETCD_KEY="/coreos.com/network"
然后啟動flanneld服務(wù)
systemctl enable flanenld
systemctl restart flanneld, docker
接著對kubernetes node配置文件進(jìn)行修改
修改/etc/kubernetes/config跟上面的修改一致黄选;
/etc/kubernetes/kublet文件進(jìn)行以下修改:
KUBELET_HOSTNAME="--hostname_override=192.168.163.150"
KUBELET_API_SERVER="--api_servers=http://192.168.163.148:8080"
修改完后保存退出并啟動服務(wù)
systemctl enable kubelet kube-proxy
systemctl start kubelet kube-proxy
啟動節(jié)點都按照這樣的設(shè)置就可以完成
完成好上述設(shè)置后我們在kubernetes server節(jié)點也就是我們實驗中的host 192.168.163.148中執(zhí)行kubectl get nodes可以看到如下節(jié)點:
三個節(jié)點都啟動并且狀態(tài)都是ready