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

 

继上篇我的博文升级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实战
拒绝背锅 运筹帷幄