京东秒杀
国美-超级5
索尼Xperia旗舰
限时优惠页 - 京东
自营热卖

升级Kubernetes版本至1.18

悲情剧里的暖色系 1年前   阅读数 329 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

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

继上篇我的博文升级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


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: