升級Kubernetes版本至1.18


時代,要看的比其他人至少早兩年

 

繼上篇我的博文升級Postman:https://blog.csdn.net/dong19891210/article/details/106458776,這次計划升級Kubernetes,要跟上時代,看這個明顯落伍了

發現和官網的相差十個多等級 

我就一一記錄下升級步驟

1.  更改yum源

切換到

cd /etc/yum.repos.d 

然后刪除里面的默認yum配置,不放心的話可以備份,然后執行下載yum源配置

wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo #dokcer yum源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

最后記得執行以下命令,讓新yum源生效:

yum clean all && yum makecache

 

2.    升級docker

先看下老版本的docker

請先卸載老版本的docker,要不然會出現

執行以下命令

yum list installed | grep docker

看裝的docker列表

刪除它們

yum remove -y docker*.x86_64

此時再次執行

yum list installed | grep docker

然后執行docker安裝:

yum -y install docker-ce

下載進行中。。。。。。

安裝完畢,然后啟動docker

 systemctl start docker

 

最后設置docker開機自啟動功能

systemctl enable docker 

很熟悉,spring生態里有很多@Enable開頭的注解,也是表示啟用某功能的意思

至此,docker也已升級完畢!!!

順便修改下機器主機名

hostnamectl set-hostname  master

再次打開一個窗口就能看的主機名已被改了

 

3  .升級Kubernetes

前提跟docker類似,記得卸載老版本的kubernetes

配置阿里yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

然后再次生成yum信息·

yum clean all && yum makecache

然后執行命令

yum list kubelet --showduplicates | sort -r

查看哪個版本的kubernetes可用

有最新的,說明此yum源不錯,很齊全

然后執行最新安裝命令

yum install -y kubelet-1.18.3-0 kubeadm-1.18.3-0 kubectl-1.18.3-0

安裝完畢

設置為開機自啟動 

systemctl enable kubelet && systemctl start kubelet 
執行以下命令列出所需鏡像,可以手動下載,也可以不用手動下載,master初始化時會自動下載。
kubeadm --kubernetes-version=v1.18.3 config images list

初始化master節點,執行以下命令

kubeadm init --apiserver-advertise-address=192.168.8.200 \
 --image-repository registry.aliyuncs.com/google_containers \
 --kubernetes-version v1.18.3 \
 --service-cidr=10.1.0.0/16 \
 --pod-network-cidr=10.244.0.0/16

出現以下問題

那就關掉swap:

 swapoff -a

由於之前該機器已裝過etcd



那就關閉ectd服務

 

目錄/var/lib/etcd/既然不空,那就強制刪除  

 

然后新建拉去鏡像腳本images.sh,鍵入以下內容

# 下面的鏡像應該去除"k8s.gcr.io/"的前綴 images=( kube-apiserver:v1.18.3 kube-controller-manager:v1.18.3 kube-scheduler:v1.18.3 kube-proxy:v1.18.3 pause:3.2 etcd:3.4.3-0 coredns:1.6.7 ) for imageName in ${images[@]} ; do docker pull mirrorgcrio/$imageName docker tag mirrorgcrio/$imageName k8s.gcr.io/$imageName docker rmi mirrorgcrio/$imageName done 

然后執行  

sh images.sh

慢慢拉鏡像

再次執行初始化工作:

kubeadm init --apiserver-advertise-address=192.168.8.200 \
--control-plane-endpoint="192.168.8.200:6443" \ --kubernetes-version v1.18.3 \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=10.244.0.0/16 \ --ignore-preflight-errors all

然后按照提示設置普通賬戶權限

mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config

 接着部署網絡插件flannel

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

 

終於升級到了最新版!!!

建議裸機安裝,不要像我一樣用裝過docker和kubernetes舊版本的機器,這老外天天改動,有出入,就像spring新版和老版本並不完全兼容,追人家的永遠都受制於人!!!!!!

 

yum install -y kubelet-1.18.3-0 kubeadm-1.18.3-0 kubectl-1.18.3-0
kubeadm --kubernetes-version=v1.18.3 config images list

kubeadm init --apiserver-advertise-address=192.168.8.200 \
--control-plane-endpoint="192.168.8.200:6443" \ --kubernetes-version v1.18.3 \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=10.244.0.0/16 \ --ignore-preflight-errors all [root@master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml docker tag k8s.gcr.io/kube-apiserver:v1.18.3 registry.aliyuncs.com/google_containers/kube-apiserver:v1.18.3 docker tag k8s.gcr.io/kube-controller-manager:v1.18.3 registry.aliyuncs.com/google_containers/kube-controller-manager:v1.18.3 docker tag k8s.gcr.io/kube-scheduler:v1.18.3 registry.aliyuncs.com/google_containers/kube-scheduler:v1.18.3 docker tag k8s.gcr.io/kube-proxy:v1.18.3 registry.aliyuncs.com/google_containers/kube-proxy:v1.18.3 docker tag k8s.gcr.io/pause:3.2 registry.aliyuncs.com/google_containers/pause:3.2 docker tag k8s.gcr.io/etcd:3.4.3-0 registry.aliyuncs.com/google_containers/etcd:3.4.3-0 docker tag k8s.gcr.io/coredns:1.6.7 registry.aliyuncs.com/google_containers/coredns:1.6.7 

至此,三大設施(Spring及衍生、postman、kubernetes及組合)全已升級完畢

 

小結:不建議此種方式安裝升級,還是以前源碼式安裝比較牢靠。

 

參考:

0.  升級Kubernetes 1.18前,你不得不知的9件事

 http://dockone.io/article/9952

1.  Kubernetes 1.18: Fit & Finish

https://kubernetes.io/blog/2020/03/25/kubernetes-1-18-release-announcement/

2.   Kubernetes 版本及版本傾斜支持策略  https://kubernetes.io/zh/docs/setup/release/

3.  使用kubeadm在Centos8上部署kubernetes1.18  https://www.kubernetes.org.cn/7189.html

4.  kubernetes/yum/  https://mirrors.aliyun.com/kubernetes/yum/

5.   kubeadm安裝kubenetes1.15.4集群   http://www.shangdixinxi.com/detail-1301548.html

6    Linux下minikube啟動失敗(It seems like the kubelet isn't running or healthy)

http://www.luyixian.cn/news_show_73520.aspx

7. Kubernetes使用中發現的問題和錯誤  https://yq.aliyun.com/articles/679198

8. 備忘錄  https://blog-static.cnblogs.com/files/dongguangming/%E5%9C%A8centos7%E4%B8%8A%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AEKubernetes,docker%E9%9B%86%E7%BE%A4%E7%AE%A1%E7%90%86.js

9.   how to install kubernetes on centos7 or ubuntu18-04 (要 fan qiang) https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-kubernetes-on-centos-7-ubuntu-18-04-16-04-debian-9.html

10.   setting up kubernetes cluster  single-cp ormultiple-cp(也要fan qiang)    https://medium.com/the-tech-inducers/setting-up-kubernetes-cluster-single-cp-or-multiple-cp-a7e8d95b3c0c

11. ubuntu18.04 kubeadm 安裝kubernetes v1.18.3 https://www.taodudu.cc/news/show-58109.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM