溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

升級kubeadm/kubectl/kubelet版本和升級Kubernetes集群的方法

發(fā)布時(shí)間:2021-09-14 15:14:01 來源:億速云 閱讀:602 作者:chen 欄目:云計(jì)算

這篇文章主要講解了“升級kubeadm/kubectl/kubelet版本和升級Kubernetes集群的方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“升級kubeadm/kubectl/kubelet版本和升級Kubernetes集群的方法”吧!

    1、升級kubeadm/kubectl/kubelet版本

    sudo apt install kubeadm=1.13.1-00 kubectl=1.13.1-00 kubelet=1.13.1-00

    查看該版本的容器鏡像版本:

    kubeadm config images list

    輸出如下:

    ~# kubeadm config images list
    
    k8s.gcr.io/kube-apiserver:v1.13.1
    k8s.gcr.io/kube-controller-manager:v1.13.1
    k8s.gcr.io/kube-scheduler:v1.13.1
    k8s.gcr.io/kube-proxy:v1.13.1
    k8s.gcr.io/pause:3.1
    k8s.gcr.io/etcd:3.2.24
    k8s.gcr.io/coredns:1.2.6

    2、拉取容器鏡像

    原始的kubernetes鏡像文件在gcr上,不能直接下載。我給鏡像到了阿里云的杭州機(jī)房的容器倉庫里,拉取還是比較快的。

    echo ""
    echo "=========================================================="
    echo "Pull Kubernetes v1.13.1 Images from aliyuncs.com ......"
    echo "=========================================================="
    echo ""
    
    MY_REGISTRY=registry.cn-hangzhou.aliyuncs.com/openthings
    
    ## 拉取鏡像
    docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.13.1
    docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.13.1
    docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.13.1
    docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.13.1
    docker pull ${MY_REGISTRY}/k8s-gcr-io-etcd:3.2.24
    docker pull ${MY_REGISTRY}/k8s-gcr-io-pause:3.1
    docker pull ${MY_REGISTRY}/k8s-gcr-io-coredns:1.2.6
    
    
    ## 添加Tag
    docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1
    docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.13.1 k8s.gcr.io/kube-scheduler:v1.13.1
    docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.13.1 k8s.gcr.io/kube-controller-manager:v1.13.1
    docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.13.1 k8s.gcr.io/kube-proxy:v1.13.1
    docker tag ${MY_REGISTRY}/k8s-gcr-io-etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
    docker tag ${MY_REGISTRY}/k8s-gcr-io-pause:3.1 k8s.gcr.io/pause:3.1
    docker tag ${MY_REGISTRY}/k8s-gcr-io-coredns:1.2.6 k8s.gcr.io/coredns:1.2.6
    
    echo ""
    echo "=========================================================="
    echo "Pull Kubernetes v1.13.1 Images FINISHED."
    echo "into registry.cn-hangzhou.aliyuncs.com/openthings, "
    echo "           by openthings@https://my.oschina.net/u/2306127."
    echo "=========================================================="
    
    echo ""

    保存為shell腳本,然后執(zhí)行。

    • 或者,下載腳本:https://github.com/openthings/kubernetes-tools/blob/master/kubeadm/2-images/

    3、升級Kubernetes集群

    全新安裝:

    #指定IP地址,1.13.1版本:
    # sudo kubeadm init --kubernetes-version=v1.13.1 --apiserver-advertise-address=10.1.1.100 --pod-network-cidr=10.244.0.0/16 --feature-gates CoreDNS=true

    先查看一下需要升級的各個(gè)組件的版本。

    使用kubeadm upgrade plan ,輸出的版本升級信息如下:

    COMPONENT            CURRENT   AVAILABLE
    API Server           v1.12.3   v1.13.1
    Controller Manager   v1.12.3   v1.13.1
    Scheduler            v1.12.3   v1.13.1
    Kube Proxy           v1.12.3   v1.13.1
    CoreDNS              1.2.6     1.2.6
    Etcd                 3.2.24    3.2.24

    確保上面的容器鏡像已經(jīng)下載(如果沒有提前下載,可能被網(wǎng)絡(luò)阻隔導(dǎo)致掛起),然后執(zhí)行升級:

    kubeadm upgrade -y apply v1.13.1

    看到下面信息,就OK了。

    [upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.13.1". Enjoy!

    然后,配置當(dāng)前用戶環(huán)境:

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

    就可以使用 kubectl version 來查看狀態(tài)和 kubectl cluster-info 查看服務(wù)地址。

    4、工作節(jié)點(diǎn)的升級

    每個(gè)工作節(jié)點(diǎn)需要拉取上面對應(yīng)版本的鏡像,以及安裝kubelet的對應(yīng)版本。

    檢查版本:

    ~$ kubectl version
    
    Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:46:06Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:36:14Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}

    查看Pod信息:

    kubectl get pod --all-namespaces

    完成。

    感謝各位的閱讀,以上就是“升級kubeadm/kubectl/kubelet版本和升級Kubernetes集群的方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對升級kubeadm/kubectl/kubelet版本和升級Kubernetes集群的方法這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI