使用 Kubeadm 升级 Kubernetes 版本

升级最新版 kubelet kubeadm kubectl (阿里云镜像)

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  setenforce 0  yum install -y kubelet kubeadm kubectl  systemctl enable kubelet && systemctl start kubelet  

查看此版本的容器镜像版本

$ kubeadm config images list    k8s.gcr.io/kube-apiserver:v1.12.1  k8s.gcr.io/kube-controller-manager:v1.12.1  k8s.gcr.io/kube-scheduler:v1.12.1  k8s.gcr.io/kube-proxy:v1.12.1  k8s.gcr.io/pause:3.1  k8s.gcr.io/etcd:3.2.24  k8s.gcr.io/coredns:1.2.2  

查询可用的版本

$ yum list --showduplicates | grep 'kubeadm|kubectl|kubelet'  

拉取容器镜像(github)

echo ""  echo "=========================================================="  echo "Pull Kubernetes v1.12.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.12.1  docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.12.1  docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.12.1  docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.12.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.2      ## 添加Tag  docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.12.1 k8s.gcr.io/kube-apiserver:v1.12.1  docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.12.1 k8s.gcr.io/kube-scheduler:v1.12.1  docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.12.1 k8s.gcr.io/kube-controller-manager:v1.12.1  docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.12.1 k8s.gcr.io/kube-proxy:v1.12.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.2 k8s.gcr.io/coredns:1.2.2    echo ""  echo "=========================================================="  echo "Pull Kubernetes v1.12.1 Images FINISHED."  echo "into registry.cn-hangzhou.aliyuncs.com/openthings, "  echo "           by [email protected]://my.oschina.net/u/2306127."  echo "=========================================================="    echo ""  

备注:或参考https://www.cnblogs.com/Irving/p/9818440.html的镜像脚本

查询需要升级的信息

$ kubeadm upgrade plan  

升级 Master 节点

$ kubeadm upgrade apply v1.12.1  

Node 节点升级

升级对应的 kubelet kubeadm kubectl 的版本,拉取对应版本的镜像即可。

查询各节点信息与 pod 信息

$ kubectl get nodes  $ kubectl get pod --all-namespaces -o wide  

原文出处:cnblogs -> https://www.cnblogs.com/Irving/p/9836051.html

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。