原文地址:kuboard.cn/install/ins…html
參考文檔:Info Q 文章 Kubernetes 爆發嚴重漏洞:可能影響全部開源版本 參考文檔:51CTO 安全頻道 Kubernetes的嚴重漏洞將全部服務器暴露在DoS攻擊面前!node
參考文檔: kubernetes 官網文檔 kubeadm upgradeapi
- CVE-2019-9512 Ping Flood:攻擊者向 HTTP/2 對等體 (peer) 發送連續 ping,致使對等體創建內部響應隊列。這可能消耗過多 CPU 和內存——這取決於該數據的隊列多高效,從而可能致使拒絕服務攻擊。
- CVE-2019-9514 Rest Flood:攻擊者打開多路數據流,並在每路數據流上發送無效請求,從而從對等體得到 RST_STREAM 幀數據流。這會消耗過多的內存、CPU 或 CPU 和內存——這取決於對等體如何將 RST_STREAM 幀列入隊列,從而可能致使拒絕服務攻擊。
Kubernetes 已經發布補丁以修復漏洞,建議全部管理員儘快升級到補丁版本,以幫助管理員應對漏洞:安全
- Kubernetes v1.15.3 - go1.12.9
- Kubernetes v1.14.6 - go1.12.9
- Kubernetes v1.13.10 - go1.11.13
www.kuboard.cn 是一款免費的基於 Kubernetes 的微服務管理界面,目前只能提供 kubernetes v1.15.0 / v1.15.1 / v1.15.2 到 kubernetes v1.15.3 的升級文檔,其餘版本的集羣,請參考 kubernetes 官網文檔 kubeadm upgrade服務器
在全部節點(包括 master、worker 節點)執行命令app
# 在全部節點執行(包括 master 和 worker 節點)
yum install -y kubelet-1.15.3 kubeadm-1.15.3 kubectl-1.15.3
systemctl daemon-reload
systemctl restart kubelet
複製代碼
在第一個 master 節點執行命令ide
# 只在第一個 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.yamlgoogle
文件內容以下所示,根據前面 kubeadm config view
的執行結果,修改了以下字段:spa
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
複製代碼