时代,要看的比其他人至少早两年

 

继上篇我的博文升级Postman:https://blog.csdn.net/dong19891210/article/details/106458776,这次计划升级Kubernetes,要跟上时代,看这个明显落伍了升级Kubernetes版本至1.18 Cloud 第1张升级Kubernetes版本至1.18 Cloud 第2张​

发现和官网的相差十个多等级 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

我就一一记录下升级步骤

1.  更改yum源

切换到

cd /etc/yum.repos.d 
升级Kubernetes版本至1.18 Cloud 第3张

然后删除里面的默认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 
升级Kubernetes版本至1.18 Cloud 第4张

最后记得执行以下命令,让新yum源生效:

yum clean all && yum makecache
升级Kubernetes版本至1.18 Cloud 第5张

升级Kubernetes版本至1.18 Cloud 第6张升级Kubernetes版本至1.18 Cloud 第7张​

 

2.    升级docker

先看下老版本的docker

升级Kubernetes版本至1.18 Cloud 第8张升级Kubernetes版本至1.18 Cloud 第9张​

请先卸载老版本的docker,要不然会出现

升级Kubernetes版本至1.18 Cloud 第10张升级Kubernetes版本至1.18 Cloud 第11张​

执行以下命令

yum list installed | grep docker
升级Kubernetes版本至1.18 Cloud 第12张

看装的docker列表

升级Kubernetes版本至1.18 Cloud 第13张升级Kubernetes版本至1.18 Cloud 第14张​

删除它们

yum remove -y docker*.x86_64
升级Kubernetes版本至1.18 Cloud 第15张

此时再次执行

yum list installed | grep docker
升级Kubernetes版本至1.18 Cloud 第16张

升级Kubernetes版本至1.18 Cloud 第17张升级Kubernetes版本至1.18 Cloud 第18张​

然后执行docker安装:

yum -y install docker-ce
升级Kubernetes版本至1.18 Cloud 第19张

升级Kubernetes版本至1.18 Cloud 第20张升级Kubernetes版本至1.18 Cloud 第21张​

下载进行中。。。。。。

升级Kubernetes版本至1.18 Cloud 第22张升级Kubernetes版本至1.18 Cloud 第23张​

安装完毕,然后启动docker

 systemctl start docker
升级Kubernetes版本至1.18 Cloud 第24张

 升级Kubernetes版本至1.18 Cloud 第25张升级Kubernetes版本至1.18 Cloud 第26张​

最后设置docker开机自启动功能

systemctl enable docker 
升级Kubernetes版本至1.18 Cloud 第27张

升级Kubernetes版本至1.18 Cloud 第28张升级Kubernetes版本至1.18 Cloud 第29张​

很熟悉,spring生态里有很多@Enable开头的注解,也是表示启用某功能的意思

至此,docker也已升级完毕!!!

顺便修改下机器主机名

hostnamectl set-hostname  master
升级Kubernetes版本至1.18 Cloud 第30张

升级Kubernetes版本至1.18 Cloud 第31张升级Kubernetes版本至1.18 Cloud 第32张​

再次打开一个窗口就能看的主机名已被改了

升级Kubernetes版本至1.18 Cloud 第33张升级Kubernetes版本至1.18 Cloud 第34张​

 

3  .升级Kubernetes

前提跟docker类似,记得卸载老版本的kubernetes

升级Kubernetes版本至1.18 Cloud 第35张升级Kubernetes版本至1.18 Cloud 第36张​

配置阿里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
升级Kubernetes版本至1.18 Cloud 第37张

然后再次生成yum信息·

yum clean all && yum makecache
升级Kubernetes版本至1.18 Cloud 第38张

然后执行命令

yum list kubelet --showduplicates | sort -r
升级Kubernetes版本至1.18 Cloud 第39张

查看哪个版本的kubernetes可用

升级Kubernetes版本至1.18 Cloud 第40张升级Kubernetes版本至1.18 Cloud 第41张​

有最新的,说明此yum源不错,很齐全

然后执行最新安装命令

yum install -y kubelet-1.18.3-0 kubeadm-1.18.3-0 kubectl-1.18.3-0
升级Kubernetes版本至1.18 Cloud 第42张

升级Kubernetes版本至1.18 Cloud 第43张升级Kubernetes版本至1.18 Cloud 第44张​

安装完毕升级Kubernetes版本至1.18 Cloud 第45张升级Kubernetes版本至1.18 Cloud 第46张​

设置为开机自启动 

systemctl enable kubelet && systemctl start kubelet 
升级Kubernetes版本至1.18 Cloud 第47张
执行以下命令列出所需镜像,可以手动下载,也可以不用手动下载,master初始化时会自动下载。
升级Kubernetes版本至1.18 Cloud 第48张
kubeadm --kubernetes-version=v1.18.3 config images list
升级Kubernetes版本至1.18 Cloud 第49张

升级Kubernetes版本至1.18 Cloud 第50张升级Kubernetes版本至1.18 Cloud 第51张​

初始化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
升级Kubernetes版本至1.18 Cloud 第52张

出现以下问题升级Kubernetes版本至1.18 Cloud 第53张升级Kubernetes版本至1.18 Cloud 第54张​

那就关掉swap:

 swapoff -a
升级Kubernetes版本至1.18 Cloud 第55张

由于之前该机器已装过etcd

升级Kubernetes版本至1.18 Cloud 第56张升级Kubernetes版本至1.18 Cloud 第57张​

那就关闭ectd服务升级Kubernetes版本至1.18 Cloud 第58张
升级Kubernetes版本至1.18 Cloud 第59张​

 

目录/var/lib/etcd/既然不空,那就强制删除  

 升级Kubernetes版本至1.18 Cloud 第60张升级Kubernetes版本至1.18 Cloud 第61张​

然后新建拉去镜像脚本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 
升级Kubernetes版本至1.18 Cloud 第62张

然后执行  

sh images.sh
升级Kubernetes版本至1.18 Cloud 第63张

升级Kubernetes版本至1.18 Cloud 第64张升级Kubernetes版本至1.18 Cloud 第65张​

慢慢拉镜像

升级Kubernetes版本至1.18 Cloud 第66张升级Kubernetes版本至1.18 Cloud 第67张​

再次执行初始化工作:

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
升级Kubernetes版本至1.18 Cloud 第68张

升级Kubernetes版本至1.18 Cloud 第69张升级Kubernetes版本至1.18 Cloud 第70张​

然后按照提示设置普通账户权限

mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
升级Kubernetes版本至1.18 Cloud 第71张

 接着部署网络插件flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
升级Kubernetes版本至1.18 Cloud 第72张

升级Kubernetes版本至1.18 Cloud 第73张升级Kubernetes版本至1.18 Cloud 第74张​

 

终于升级到了最新版!!!

建议裸机安装,不要像我一样用装过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 
升级Kubernetes版本至1.18 Cloud 第75张

至此,三大设施(Spring及衍生、postman、kubernetes及组合)全已升级完毕

升级Kubernetes版本至1.18 Cloud 第76张升级Kubernetes版本至1.18 Cloud 第77张​

 

小结:不建议此种方式安装升级,还是以前源码式安装比较牢靠。

 

参考:

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

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄