溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Kubernetes 1.5安裝

發(fā)布時(shí)間:2020-07-26 03:10:13 來(lái)源:網(wǎng)絡(luò) 閱讀:495 作者:msj0905 欄目:建站服務(wù)器

Kubernetes從1.3開始引入kubeadm來(lái)試圖簡(jiǎn)化其復(fù)雜的安裝。但kubeadm至今仍不穩(wěn)定,而且我個(gè)人覺(jué)得kubeadm反而麻煩,還不如直接用腳本或者其他自動(dòng)化工具來(lái)安裝來(lái)的利索。關(guān)于kubeadm配置master的ha,也有相應(yīng)的替代方案,比如使用keepalived或者corosync等高可用集群軟件。所以在這篇文檔中,我還是會(huì)使用傳統(tǒng)的方式來(lái)安裝kubernetes集群

  Kubernetes依賴于docker和etcd,docker的網(wǎng)絡(luò),在這里直接使用flannel。在這篇文檔里,不會(huì)對(duì)master的高可用做過(guò)多的闡述,我們先簡(jiǎn)單的建立一個(gè)基本可用最小化集群。我這里使用的三臺(tái)CentOS 7.2的服務(wù)器,各服務(wù)器角色介紹如下:

192.168.1.20 server-20    master節(jié)點(diǎn)、node節(jié)點(diǎn)、etcd節(jié)點(diǎn)
192.168.1.21 server-21    node節(jié)點(diǎn)、etcd節(jié)
192.168.1.22 server-22    node節(jié)點(diǎn)、etcd節(jié)點(diǎn)

需要說(shuō)明的是,這里需要大家自己設(shè)定好基本環(huán)境,比如關(guān)閉selinux,配置時(shí)間同步,清空現(xiàn)有的iptables策略,以及配置好epel源等。

1、安裝并啟動(dòng)docker

docker的安裝比較簡(jiǎn)單,直接使用yum安裝即可:

yum install -y docker
systemctl start docker
systemctl enable docker

 

2、安裝etcd

在所有節(jié)點(diǎn)上執(zhí)行如下安裝操作:

yum -y install etcd

# 創(chuàng)建etcd data 目錄
mkdir -p /opt/etcd/data
chown -R etcd:etcd /opt/etcd/
# 修改配置文件,/etc/etcd/etcd.conf 需要修改如下參數(shù):


ETCD_NAME=server-20
ETCD_DATA_DIR="/opt/etcd/data/server-20.etcd"
ETCD_LISTEN_PEER_URLS="
ETCD_LISTEN_CLIENT_URLS="
ETCD_INITIAL_ADVERTISE_PEER_URLS="
ETCD_INITIAL_CLUSTER="server-20=
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.20:2379"

Kubernetes 1.5安裝

 

 

# 修改 etcd 啟動(dòng)文件
sed -i 's/\\\"${ETCD_LISTEN_CLIENT_URLS}\\\"/\\\"${ETCD_LISTEN_CLIENT_URLS}\\\" --listen-client-urls=\\\"${ETCD_LISTEN_CLIENT_URLS}\\\" --advertise-client-urls=\\\"${ETCD_ADVERTISE_CLIENT_URLS}\\\" --initial-cluster-token=\\\"${ETCD_INITIAL_CLUSTER_TOKEN}\\\" --initial-cluster=\\\"${ETCD_INITIAL_CLUSTER}\\\" --initial-cluster-state=\\\"${ETCD_INITIAL_CLUSTER_STATE}\\\"/g' /usr/lib/systemd/system/etcd.service

 


 

Kubernetes 1.5安裝

# 啟動(dòng) etcd

systemctl enable etcd

systemctl start etcd

systemctl status etcd


# 查看集群狀態(tài)

etcdctl cluster-health

Kubernetes 1.5安裝


 


 

Kubernetes 1.5安裝

# 啟動(dòng) etcd

systemctl enable etcd

systemctl start etcd

systemctl status etcd


# 查看集群狀態(tài)

etcdctl cluster-health

Kubernetes 1.5安裝


 

3、配置flannel

先在etcd中注冊(cè)flannel子網(wǎng):

etcdctl set /coreos.com/network/config '{"network": "172.16.0.0/16"}'

在所有節(jié)點(diǎn)安裝flannel:

yum install -y flannel

修改flannel配置文件/etc/sysconfig/flanneld如下:

FLANNEL_ETCD="http://192.168.1.20:2379,http://192.168.1.21:2379,http://192.168.1.22:2379"FLANNEL_ETCD_KEY="/coreos.com/network"

啟動(dòng)flannel:

systemctl start flanneld
systemctl enable flanneld

需要說(shuō)明的是,如果要讓docker使用flannel的網(wǎng)絡(luò),docker必須要后于flannel啟動(dòng),所以需要重新啟動(dòng)docker:

systemctl restart docker

 

4、安裝kubernetes服務(wù)端

我這里使用的是網(wǎng)上別人提供的私有的kubernetes的yum源,如下:

Kubernetes 1.5安裝

vim /etc/yum.repos.d/kube.repo

[kube]
name=Mritd Repository
baseurl=https://yum.mritd.me/centos/7/x86_64enabled=1gpgcheck=1gpgkey=https://mritd.b0.upaiyun.com/keys/rpm.public.key

Kubernetes 1.5安裝

先通過(guò)yumdownloader將所有kubernetes相關(guān)的包下載下來(lái),然后再通過(guò)本地yum實(shí)現(xiàn)安裝:

yumdownloader kubernetes-master kubernetes-client kubernetes-nodeyum localinstall -y kubernetes-master kubernetes-client

修改kubernetes master上的配置文件如下:

Kubernetes 1.5安裝

vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"KUBE_ALLOW_PRIV="--allow-privileged=false"KUBE_MASTER="--master=http://10.5.10.116:8080"vim /etc/kubernetes/apiserver

KUBE_API_ADDRESS="--address=0.0.0.0"KUBE_API_PORT="--port=8080 --secure-port=443"KUBE_MASTER="--master=http://10.5.10.116:8080"KUBELET_PORT="--kubelet-port=10250"KUBE_ETCD_SERVERS="--etcd-servers=http://10.5.10.116:2379,http://10.5.10.117:2379,http://10.5.10.131:2379"KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

Kubernetes 1.5安裝

 

啟動(dòng)kubernetes master:

systemctl start kube-apiserver kube-controller-manager kube-scheduler
systemctl enable kube-apiserver kube-controller-manager kube-scheduler

 

5、安裝kubernetes node端

yum install -y kubernetes-node

修改node的配置文件:

Kubernetes 1.5安裝

vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"KUBE_ALLOW_PRIV="--allow-privileged=false"KUBE_MASTER="--master=http://10.5.10.116:8080"vim /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=0.0.0.0"KUBELET_HOSTNAME="--hostname-override=server-116"KUBELET_API_SERVER="--api-servers=http://10.5.10.116:8080"KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-p_w_picpath=myhub.fdccloud.com/library/pod-infrastructure:latest"

Kubernetes 1.5安裝

啟動(dòng)node端:

systemctl start kubelet kube-proxy
systemctl enable kubelet kube-proxy

 

最后通過(guò)在kubernetes master上通過(guò)kubectl查看各節(jié)點(diǎn)是否正常:

[root@server-116 ~]# kubectl get nodes
NAME         STATUS    AGE
server-20   Ready     1d
server-21   Ready     1d
server-22   Ready     1d

 

至此,完成kubernetes 1.5的基本安裝  


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI