upgrade kubernetes
This commit is contained in:
@ -139,7 +139,7 @@ module.exports = {
|
||||
children: [
|
||||
['install-k8s', '安装 Kubernetes 单Master节点'],
|
||||
'install-kubernetes',
|
||||
'install-k8s-upgrade',
|
||||
['install-k8s-upgrade', '升级 Kubernetes 集群'],
|
||||
'install-kubectl'
|
||||
]
|
||||
},
|
||||
|
||||
@ -2,17 +2,144 @@
|
||||
description: 通过 kubeadm 升级 kubernetes 集群
|
||||
---
|
||||
|
||||
# 升级 Kubernetes 集群
|
||||
# Kubernetes 爆发严重漏洞:可能影响所有开源版本,请尽快升级
|
||||
|
||||
文档完善中
|
||||
参考文档: kubernetes 官网文档 [kubeadm upgrade](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/)
|
||||
|
||||
参考文档:Info Q 文章 [Kubernetes 爆发严重漏洞:可能影响所有开源版本](https://www.infoq.cn/article/2lxylPOCU4cf9MR2S5fp)
|
||||
|
||||
::: danger 严重漏洞
|
||||
* CVE-2019-9512 Ping Flood:攻击者向 HTTP/2 对等体 (peer) 发送连续 ping,导致对等体建立内部响应队列。这可能消耗过多 CPU 和内存——这取决于该数据的队列多高效,从而可能导致拒绝服务攻击。
|
||||
* CVE-2019-9514 Rest Flood:攻击者打开多路数据流,并在每路数据流上发送无效请求,从而从对等体获得 RST_STREAM 帧数据流。这会消耗过多的内存、CPU 或 CPU 和内存——这取决于对等体如何将 RST_STREAM 帧列入队列,从而可能导致拒绝服务攻击。
|
||||
:::
|
||||
|
||||
::: warning 请升级到补丁版本
|
||||
Kubernetes 已经发布补丁以修复漏洞,建议所有管理员尽快升级到补丁版本,以帮助管理员应对漏洞:
|
||||
|
||||
* Kubernetes v1.15.3 - go1.12.9
|
||||
* Kubernetes v1.14.6 - go1.12.9
|
||||
* Kubernetes v1.13.10 - go1.11.13
|
||||
|
||||
:::
|
||||
|
||||
## 前提条件
|
||||
|
||||
* 您使用 kubeadm 安装了 kubernetes v1.15.0 / v1.15.1 / v1.15.2 集群
|
||||
* 您想要将其升级到最新的版本 kubernetes v1.15.3
|
||||
|
||||
## 升级 kubeadm
|
||||
::: tip
|
||||
www.kuboard.cn 目前只能提供 kubernetes v1.15.0 / v1.15.1 / v1.15.2 到 kubernetes v1.15.3 的升级文档,其他版本的集群,请参考 kubernetes 官网文档 [kubeadm upgrade](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/)
|
||||
:::
|
||||
|
||||
## 升级 kubeadm/kubelet/kubectl
|
||||
|
||||
在所有节点(包括 master、worker 节点)执行命令
|
||||
|
||||
``` sh
|
||||
yum install kubeadm
|
||||
# 在所有节点执行(包括 master 和 worker 节点)
|
||||
yum install -y kubelet-1.15.3 kubeadm-1.15.3 kubectl-1.15.3
|
||||
systemctl daemon-reload
|
||||
systemctl restart kubelet
|
||||
```
|
||||
|
||||
## 查看集群配置
|
||||
|
||||
在第一个 master 节点执行命令
|
||||
|
||||
``` sh
|
||||
# 只在第一个 master 节点执行
|
||||
kubeadm config view
|
||||
```
|
||||
|
||||
输入结果如下所示:(根据集群配置不一样,您的结果可能不同)
|
||||
|
||||
``` yaml {15,17}
|
||||
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` 的执行结果,修改了如下字段:
|
||||
* imageRepository 的值修改为:registry.cn-hangzhou.aliyuncs.com/google_containers
|
||||
* kubernetesVersion 的值修改为: v1.15.3
|
||||
``` yaml {15,17}
|
||||
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: {}
|
||||
```
|
||||
|
||||
## 执行 kubeadm upgrade 命令
|
||||
|
||||
在第一个 master 节点上执行:
|
||||
|
||||
查看升级后的变化
|
||||
|
||||
``` sh
|
||||
# 只在第一个 master 节点执行
|
||||
kubeadm upgrade diff --config kubeadm-config-upgrade.yaml
|
||||
```
|
||||
|
||||
执行升级 dry-run
|
||||
|
||||
``` sh
|
||||
# 只在第一个 master 节点执行
|
||||
kubeadm upgrade apply --config kubeadm-config-upgrade.yaml --dry-run
|
||||
```
|
||||
|
||||
执行升级动作
|
||||
|
||||
``` sh
|
||||
# 只在第一个 master 节点执行
|
||||
kubeadm upgrade apply --config kubeadm-config-upgrade.yaml
|
||||
```
|
||||
|
||||
## 检查升级结果
|
||||
|
||||
在第一个 master 节点执行
|
||||
|
||||
``` sh
|
||||
# 只在第一个 master 节点执行
|
||||
kubectl get nodes -o wide
|
||||
kubectl version
|
||||
kubeadm config view
|
||||
```
|
||||
|
||||
@ -16,7 +16,7 @@ description: Kubernetes 学习路径推荐
|
||||
## **Kubernetes 进阶**
|
||||
* [通过互联网访问您的应用](/learning/k8s-intermediate/ingress.html)
|
||||
* [使用 ConfigMap 配置您的应用程序](/learning/k8s-intermediate/config-map.html)
|
||||
|
||||
* [使用私有 registry 中的 docker 镜像](/learning/k8s-intermediate/private-registry.md)
|
||||
|
||||
## **课程推荐**
|
||||
|
||||
|
||||
11
learning/carreer/career.md
Normal file
11
learning/carreer/career.md
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
description: 不少初学者加我微信后,都表示感到迷茫,问我学会 K8S 未来能挣多少钱,问将来自己的职业发展该怎么走。在这里作为一个十多年的老兵,算是分享一下自己的一些观点吧,也许对年轻的你会有用。
|
||||
---
|
||||
|
||||
# 技术人的职业发展之我见
|
||||
|
||||
国内技术从业者的
|
||||
|
||||
# 职场价值衡量体系
|
||||
|
||||
# 跳槽
|
||||
@ -2,7 +2,7 @@
|
||||
description: 通过Kuboard 配置 Kubernetes,使用私有 registry 中的 docker 镜像
|
||||
---
|
||||
|
||||
# 使用私有 registry 中的 docker 镜像
|
||||
# 使用私有 Registry 中的 docker 镜像
|
||||
|
||||
企业通常会因为如下几个原因,需要搭建自己的私有 docker registry:
|
||||
* 限制 docker 镜像的分发范围,例如:只允许在内网分发,或者只允许被授权的用户获取 docker 镜像
|
||||
|
||||
@ -125,6 +125,7 @@ Kuboard 为 Kubernetes 初学者设计了如下学习路径:
|
||||
* **Kubernetes 进阶**
|
||||
* [通过互联网访问您的应用](/learning/k8s-intermediate/ingress.html)
|
||||
* [使用 ConfigMap 配置您的应用程序](/learning/k8s-intermediate/config-map.html)
|
||||
* [使用私有 Registry 中的 docker 镜像](/learning/k8s-intermediate/private-registry.md)
|
||||
* 进阶路线一
|
||||
* 在实际项目中锻炼,完成各种与微服务、容器化、Kubernetes更多高级功能的学习、理解和应用
|
||||
* **适合人群:** 身边有人带路,并且技术功底比较强的人,能够自行翻阅大量 docker / kubernetes 的官网英文资料。这些人在完成上面的 Kubernetes 入门教程之后,基本上可以在项目中开始实战了。
|
||||
|
||||
Reference in New Issue
Block a user