zoukankan      html  css  js  c++  java
  • 升级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

  • 相关阅读:
    [转]VS 2008 新特性一览
    [转]WCF开发框架形成之旅WCF的几种寄宿方式
    [转]失业的程序员(五):商战之前
    [ 转]Android折叠列表 ExpandableList
    [转]extjs入门——开始
    [转]Jquery操作select
    Ext JS 下载 及 是否收费
    [转]WCF服务的批量寄宿
    [转]Android高手进阶教程(十七)之Android中Intent传递对象的两种方法(Serializable,Parcelable)!
    mat之三PermGen Metaspace永久代内存分析
  • 原文地址:https://www.cnblogs.com/dongguangming/p/13029148.html
Copyright © 2011-2022 走看看