您好,登錄后才能下訂單哦!
集群方案:
發(fā)行版:ubuntu16.04
內(nèi)核:4.4.0-62-generic·
版本:Kubernetes: 1.14.0·
網(wǎng)絡(luò)方案:flannel network
通常我們安裝的系統(tǒng)默認(rèn)都是啟用交換內(nèi)存的,但是kubelet(1.8版本開始)是不支持交換內(nèi)存。
swapoff -a
編輯/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ù)器
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
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
以上輸出就是初始化完畢了,注意:保留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。輸出類似于:
這里可以看出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才算是初始化完成了。
當(dāng)出現(xiàn)某個(gè)pod的狀態(tài)異常時(shí),可以使用kubectl describe pod $namespace來(lái)查看錯(cuò)誤的原因
1.kubeadm join使用初始化輸出的信息
2.在主節(jié)點(diǎn)上,用于kubectl查看從節(jié)點(diǎn)現(xiàn)在是否已就緒
文章來(lái)自公眾號(hào):睿江云計(jì)算
睿江云官網(wǎng)鏈接:https://www.eflycloud.com/home?from=RJ0024
免責(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)容。