install/install-k8s-upgrade.md
参考文档:Info Q 文章 Kubernetes 爆发严重漏洞:可能影响所有开源版本 参考文档:51CTO 安全频道 Kubernetes的严重漏洞将所有服务器暴露在DoS攻击面前!
参考文档: kubernetes 文档 kubeadm upgrade
::: danger 严重漏洞
::: warning 请升级到补丁版本 Kubernetes 已经发布补丁以修复漏洞,建议所有管理员尽快升级到补丁版本,以帮助管理员应对漏洞:
:::
::: tip www.kuboard.cn 是一款免费的基于 Kubernetes 的微服务管理界面,目前只能提供 kubernetes v1.15.0 / v1.15.1 / v1.15.2 到 kubernetes v1.15.3 的升级文档,其他版本的集群,请参考 kubernetes 文档 kubeadm upgrade :::
在所有节点(包括 master、worker 节点)执行命令
# 在所有节点执行(包括 master 和 worker 节点)
yum install -y kubelet-1.15.3 kubeadm-1.15.3 kubectl-1.15.3
systemctl daemon-reload
systemctl restart kubelet
在第一个 master 节点执行命令
# 只在第一个 master 节点执行
kubeadm config view
输入结果如下所示:(根据集群配置不一样,您的结果可能不同)
apiServer:
extraArgs:
authorization-mode: Node,RBAC
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: apiserver.demo:6443
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: k8s.gcr.io
kind: ClusterConfiguration
kubernetesVersion: v1.15.0
networking:
dnsDomain: cluster.local
serviceSubnet: 10.96.0.0/12
scheduler: {}
创建文件 kubeadm-config-upgrade.yaml
文件内容如下所示,根据前面 kubeadm config view 的执行结果,修改了如下字段:
apiServer:
extraArgs:
authorization-mode: Node,RBAC
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: apiserver.demo:6443
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.15.3
networking:
dnsDomain: cluster.local
serviceSubnet: 10.96.0.0/12
scheduler: {}
在第一个 master 节点上执行:
查看升级后的变化
# 只在第一个 master 节点执行
kubeadm upgrade diff --config kubeadm-config-upgrade.yaml
执行升级 dry-run
# 只在第一个 master 节点执行
kubeadm upgrade apply --config kubeadm-config-upgrade.yaml --dry-run
执行升级动作
# 只在第一个 master 节点执行
kubeadm upgrade apply --config kubeadm-config-upgrade.yaml
针对所有的 worker 节点,执行
# 只在 worker 节点执行(所有的 worker 节点)
kubeadm upgrade node
在第一个 master 节点执行
# 只在第一个 master 节点执行
kubectl get nodes -o wide
kubectl version
kubeadm config view