溫馨提示×

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

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

如何搭建Kubernetes

發(fā)布時(shí)間:2020-07-13 13:09:36 來(lái)源:網(wǎng)絡(luò) 閱讀:594 作者:eflypro小普 欄目:開發(fā)技術(shù)

集群方案:

發(fā)行版:ubuntu16.04

內(nèi)核:4.4.0-62-generic·

版本:Kubernetes: 1.14.0·

網(wǎng)絡(luò)方案:flannel network

1.禁用交換內(nèi)存

通常我們安裝的系統(tǒng)默認(rèn)都是啟用交換內(nèi)存的,但是kubelet(1.8版本開始)是不支持交換內(nèi)存。

swapoff -a
如何搭建Kubernetes

2.修改主機(jī)名和hosts文件

編輯/etc/hostname并添加:

kube-master

將以下行添加到/etc/hosts:

192.168.0.2 kube-master

192.168.0.3 kube-worker-1

192.168.0.4 kube-worker-2

完成以上系統(tǒng)環(huán)境配置后,建議重啟一下服務(wù)器

3.安裝Docker和Kubernetes

Docker安裝有很多,以下是其中一種:

1.刪除系統(tǒng)上可能存在的舊版Docker:

sudo apt remove docker docker-engine docker.io

2.確保您擁必要的軟件包以允許使用Docker的存儲(chǔ)庫(kù):

sudo apt install apt-transport-https ca-certificates curl software-properties-common

3.添加Docker的GPG密鑰:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.驗(yàn)證GPG密鑰的指紋:

sudo apt-key fingerprint 0EBFCD88

5.添加stableDocker存儲(chǔ)庫(kù):

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

6.更新軟件包索引并安裝Docker CE:

sudo apt updates

sudo apt install docker-ce

7.將限的Linux用戶帳戶添加到該docker組:

sudo usermod -aG docker $USER

8.通過(guò)運(yùn)行內(nèi)置的“Hello World”程序檢查安裝是否成功:

docker run hello-world

9.安裝kubeadm,kubectl和kubelet

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -e

echo 'deb http://apt.kubernetes.io/ kubernetes-xenial main' | sudo tee /etc/apt/sources.list.d/kubernetes.lists

sudo apt updates

sudo apt install -y kubelet kubeadm kubectl

4.初始化

1.在初始化的時(shí)候會(huì)在https://dl.k8s.io上拖拉鏡像,由于我是部署在國(guó)內(nèi)的節(jié)點(diǎn),所以就需要手動(dòng)拉鏡像并修改下標(biāo)簽。

docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.14.1

docker pull mirrorgooglecontainers/kube-controller-manager-amd64:v1.14.1

docker pull mirrorgooglecontainers/kube-scheduler-amd64:v1.14.1

docker pull mirrorgooglecontainers/kube-proxy-amd64:v1.14.1

docker pull mirrorgooglecontainers/pause:3.1

docker pull mirrorgooglecontainers/etcd-amd64:3.3.10

docker pull coredns/coredns:1.3.1

docker tag docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.14.1 k8s.gcr.io/kube-apiserver:v1.14.1

docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.14.1 k8s.gcr.io/kube-controller-manager:v1.14.1

docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.14.1 k8s.gcr.io/kube-scheduler:v1.14.1

docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1

docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1

docker tag docker.io/mirrorgooglecontainers/etcd-amd64:3.3.10 k8s.gcr.io/etcd:3.3.10

docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

docker rmi mirrorgooglecontainers/kube-apiserver-amd64:v1.14.1

docker rmi mirrorgooglecontainers/kube-controller-manager-amd64:v1.14.1

docker rmi mirrorgooglecontainers/kube-scheduler-amd64:v1.14.1

docker rmi mirrorgooglecontainers/kube-proxy-amd64:v1.14.1

docker rmi mirrorgooglecontainers/pause:3.1

docker rmi mirrorgooglecontainers/etcd-amd64:3.3.10

docker rmi coredns/coredns:1.3.1

2.初始化master節(jié)點(diǎn)

kubeadm init --pod-network-cidr=10.0.0.0/16 --apiserver-advertise-address=0.0.0.0
如何搭建Kubernetes

以上輸出就是初始化完畢了,注意:保留kubeadm join….這句信息,后面節(jié)點(diǎn)加入使用。

3.在主節(jié)點(diǎn)上,配置kubectl工具:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

4.檢查節(jié)點(diǎn)的狀態(tài)kubectl get nodes。輸出類似于:
如何搭建Kubernetes

這里可以看出master的狀態(tài)是NotReady,這是由于還沒有安裝cni插件

5.安裝flannel network add-on:--CNI

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

然后現(xiàn)在重新kubectl get nodes檢查就會(huì)發(fā)現(xiàn)是Ready狀態(tài)了。

6.使用kubectl get pods --all-namespaces以查看在kube-system命名空間中創(chuàng)建的pod,當(dāng)kube-system的狀態(tài)都是running才算是初始化完成了。
如何搭建Kubernetes

當(dāng)出現(xiàn)某個(gè)pod的狀態(tài)異常時(shí),可以使用kubectl describe pod $namespace來(lái)查看錯(cuò)誤的原因

5.添加word節(jié)點(diǎn)

1.kubeadm join使用初始化輸出的信息
如何搭建Kubernetes

2.在主節(jié)點(diǎn)上,用于kubectl查看從節(jié)點(diǎn)現(xiàn)在是否已就緒
如何搭建Kubernetes

如何搭建Kubernetes

文章來(lái)自公眾號(hào):睿江云計(jì)算

睿江云官網(wǎng)鏈接:https://www.eflycloud.com/home?from=RJ0024

向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