mirror of https://github.com/easzlab/kubeasz.git
docs update
parent
db98229cae
commit
37b07e9bcc
|
@ -55,7 +55,7 @@ epoch timestamp cluster status node.total node.data shards pri relo i
|
|||
- 3.安装 elasticsearch chart
|
||||
|
||||
``` bash
|
||||
$ cd /etc/ansible/manifests/es-cluster
|
||||
$ cd /etc/kubeasz/manifests/es-cluster
|
||||
# 如果你的helm安装没有启用tls证书,请忽略以下--tls参数
|
||||
$ helm install --tls --name es-cluster --namespace elastic -f es-values.yaml elasticsearch
|
||||
```
|
||||
|
@ -84,7 +84,7 @@ $ curl $NODE_IP:29200/_cat/health
|
|||
|
||||
$ curl $NODE_IP:29200/_cat/indices?v
|
||||
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
|
||||
root@k8s401:/etc/ansible# curl 10.100.97.41:29200/_cat/nodes?
|
||||
root@k8s401:/etc/kubeasz# curl 10.100.97.41:29200/_cat/nodes?
|
||||
172.31.2.4 27 80 5 0.09 0.11 0.21 mi - es-cluster-elasticsearch-master-0
|
||||
172.31.1.7 30 97 3 0.39 0.29 0.27 i - es-cluster-elasticsearch-client-778df74c8f-skh8l
|
||||
172.31.3.7 20 97 3 0.11 0.17 0.18 i - es-cluster-elasticsearch-client-778df74c8f-7fj4k
|
||||
|
|
|
@ -14,7 +14,7 @@ Mariadb 是从 MySQL 衍生出来的开源关系型数据库,目前兼容 mysq
|
|||
按照惯例,直接把 chart 下载到本地,然后把配置复制 values.yaml 出来进行修改,这样方便以后整体更新 chart,安装实际使用需要修改配置文件
|
||||
|
||||
``` bash
|
||||
$ cd /etc/ansible/manifests/mariadb-cluster
|
||||
$ cd /etc/kubeasz/manifests/mariadb-cluster
|
||||
# 编辑 my-values.yaml 修改以下部分
|
||||
|
||||
service:
|
||||
|
@ -67,7 +67,7 @@ slave:
|
|||
使用 helm 安装
|
||||
|
||||
``` bash
|
||||
$ cd /etc/ansible/manifests/mariadb-cluster
|
||||
$ cd /etc/kubeasz/manifests/mariadb-cluster
|
||||
$ helm install --name mariadb --namespace default -f my-values.yaml ./mariadb
|
||||
```
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
|
||||
``` bash
|
||||
# 部署dashboard 主yaml配置文件
|
||||
$ kubectl create -f /etc/ansible/manifests/dashboard/1.6.3/kubernetes-dashboard.yaml
|
||||
$ kubectl create -f /etc/kubeasz/manifests/dashboard/1.6.3/kubernetes-dashboard.yaml
|
||||
# 部署基本密码认证配置[可选],密码文件位于 /etc/kubernetes/ssl/basic-auth.csv
|
||||
$ kubectl create -f /etc/ansible/manifests/dashboard/1.6.3/ui-admin-rbac.yaml
|
||||
$ kubectl create -f /etc/ansible/manifests/dashboard/1.6.3/ui-read-rbac.yaml
|
||||
$ kubectl create -f /etc/kubeasz/manifests/dashboard/1.6.3/ui-admin-rbac.yaml
|
||||
$ kubectl create -f /etc/kubeasz/manifests/dashboard/1.6.3/ui-read-rbac.yaml
|
||||
```
|
||||
|
||||
请在另外窗口打开 [kubernetes-dashboard.yaml](../../manifests/dashboard/1.6.3/kubernetes-dashboard.yaml)
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
### 安装
|
||||
|
||||
``` bash
|
||||
$ kubectl apply -f /etc/ansible/manifests/efk/
|
||||
$ kubectl apply -f /etc/ansible/manifests/efk/es-without-pv/
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/efk/
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/efk/es-without-pv/
|
||||
```
|
||||
|
||||
### 验证
|
||||
|
@ -75,12 +75,12 @@ Kibana is running at https://192.168.1.10:8443/api/v1/namespaces/kube-system/ser
|
|||
|
||||
``` bash
|
||||
# 如果之前已经安装了默认的EFK,请用以下两个命令先删除它
|
||||
$ kubectl delete -f /etc/ansible/manifests/efk/
|
||||
$ kubectl delete -f /etc/ansible/manifests/efk/es-without-pv/
|
||||
$ kubectl delete -f /etc/kubeasz/manifests/efk/
|
||||
$ kubectl delete -f /etc/kubeasz/manifests/efk/es-without-pv/
|
||||
|
||||
# 安装静态PV 的 EFK
|
||||
$ kubectl apply -f /etc/ansible/manifests/efk/
|
||||
$ kubectl apply -f /etc/ansible/manifests/efk/es-static-pv/
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/efk/
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/efk/es-static-pv/
|
||||
```
|
||||
+ 目录`es-static-pv` 下首先是利用 NFS服务预定义了三个 PV资源,然后在 `es-statefulset.yaml`定义中使用 `volumeClaimTemplates` 去匹配使用预定义的 PV资源;注意 PV参数:`accessModes` `storageClassName` `storage`容量大小必须两边匹配。
|
||||
|
||||
|
@ -138,13 +138,13 @@ es0 es1 es2
|
|||
|
||||
``` bash
|
||||
# 如果之前已经安装了默认的EFK或者静态PV EFK,请用以下命令先删除它
|
||||
$ kubectl delete -f /etc/ansible/manifests/efk/
|
||||
$ kubectl delete -f /etc/ansible/manifests/efk/es-without-pv/
|
||||
$ kubectl delete -f /etc/ansible/manifests/efk/es-static-pv/
|
||||
$ kubectl delete -f /etc/kubeasz/manifests/efk/
|
||||
$ kubectl delete -f /etc/kubeasz/manifests/efk/es-without-pv/
|
||||
$ kubectl delete -f /etc/kubeasz/manifests/efk/es-static-pv/
|
||||
|
||||
# 安装动态PV 的 EFK
|
||||
$ kubectl apply -f /etc/ansible/manifests/efk/
|
||||
$ kubectl apply -f /etc/ansible/manifests/efk/es-dynamic-pv/
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/efk/
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/efk/es-dynamic-pv/
|
||||
```
|
||||
+ 首先 `nfs-client-provisioner.yaml` 创建一个工作 POD,它监听集群的 PVC请求,并当 PVC请求来到时调用 `nfs-client` 去请求 `nfs-server`的存储资源,成功后即动态生成对应的 PV资源。
|
||||
+ `nfs-dynamic-storageclass.yaml` 定义 NFS存储类型的类型名 `nfs-dynamic-class`,然后在 `es-statefulset.yaml`中必须使用这个类型名才能动态请求到资源。
|
||||
|
@ -208,7 +208,7 @@ $ curl -X DELETE elasticsearch-logging:9200/logstash-xxxx.xx.xx
|
|||
基于 alpine:3.8 创建镜像`es-index-rotator` [查看Dockerfile](../../dockerfiles/es-index-rotator/Dockerfile),然后创建一个cronjob去完成清理任务
|
||||
|
||||
```
|
||||
$ kubectl apply -f /etc/ansible/manifests/efk/es-index-rotator/
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/efk/es-index-rotator/
|
||||
```
|
||||
|
||||
#### 验证日志清理
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
# Helm
|
||||
|
||||
`Helm`致力于成为k8s集群的应用包管理工具,希望像linux 系统的`RPM` `DPKG`那样成功;确实在k8s上部署复杂一点的应用很麻烦,需要管理很多yaml文件(configmap,controller,service,rbac,pv,pvc等等),而helm能够整齐管理这些文档:版本控制,参数化安装,方便的打包与分享等。
|
||||
- 建议积累一定k8s经验以后再去使用helm;对于初学者来说手工去配置那些yaml文件对于快速学习k8s的设计理念和运行原理非常有帮助,而不是直接去使用helm,面对又一层封装与复杂度。
|
||||
- 本文参考 helm 官网安全实践启用 TLS 认证,参考 https://docs.helm.sh/using_helm/#securing-your-helm-installation
|
||||
|
||||
## 安全安装 helm(在线)
|
||||
|
||||
以下步骤以 helm/tiller 版本 v2.14.1 为例,在helm客户端和tiller服务器间建立安全的SSL/TLS认证机制;tiller服务器和helm客户端都是使用同一CA签发的`client cert`,然后互相识别对方身份。建议通过本项目提供的`ansible role`安装,符合官网上介绍的安全加固措施,在ansible控制端运行:
|
||||
``` bash
|
||||
# 1.配置默认helm参数 vi /etc/ansible/roles/helm/defaults/main.yml
|
||||
# 2.执行安装
|
||||
$ ansible-playbook /etc/ansible/roles/helm/helm.yml
|
||||
```
|
||||
- 注意:默认仅在第一个master节点初始化helm客户端,如果需要在其他节点初始化helm客户端,请修改 roles/helm/helm.yml 文件的 hosts 定义,然后再次执行`ansible-playbook /etc/ansible/roles/helm/helm.yml`即可
|
||||
|
||||
简单介绍下`/roles/helm/tasks/main.yml`中的步骤
|
||||
|
||||
- 1-下载最新release的helm客户端到/etc/ansible/bin目录下
|
||||
- 2-由集群CA签发helm客户端证书和私钥
|
||||
- 3-由集群CA签发tiller服务端证书和私钥
|
||||
- 4-创建tiller专用的RBAC配置,只允许helm在指定的namespace查看和安装应用
|
||||
- 5-安全安装tiller到集群,tiller服务启用tls验证
|
||||
- 6-配置helm客户端使用tls方式与tiller服务端通讯
|
||||
|
||||
## 安全安装 helm(离线)
|
||||
在内网环境中,由于不能访问互联网,无法连接repo地址,使用上述的在线安装helm的方式会报错。因此需要使用离线安装的方法来安装。要注意的是tiller的镜像版本必须为v2.14.1,否则会不匹配。
|
||||
离线安装步骤:
|
||||
|
||||
```bash
|
||||
# 1.创建本地repo
|
||||
mkdir -p /opt/helm-repo
|
||||
# 2.启动helm repo server,如果要其他服务器访问,改为本地IP
|
||||
nohup helm serve --address 127.0.0.1:8879 --repo-path /opt/helm-repo &
|
||||
# 3.更改helm 配置文件
|
||||
将/etc/ansible/roles/helm/defaults/main.yml中repo的地址改为 http://127.0.0.1:8879
|
||||
cat <<EOF >/etc/ansible/roles/helm/defaults/main.yml
|
||||
helm_namespace: kube-system
|
||||
helm_cert_cn: helm001
|
||||
tiller_sa: tiller
|
||||
tiller_cert_cn: tiller001
|
||||
tiller_image: easzlab/tiller:v2.14.1
|
||||
#repo_url: https://kubernetes-charts.storage.googleapis.com
|
||||
repo_url: http://127.0.0.1:8879
|
||||
history_max: 5
|
||||
# 如果默认官方repo 网络访问不稳定可以使用如下的阿里云镜像repo
|
||||
#repo_url: https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
|
||||
EOF
|
||||
# 4.运行安全helm命令
|
||||
ansible-playbook /etc/ansible/roles/helm/helm.yml
|
||||
```
|
||||
## 使用helm安装应用到k8s上
|
||||
|
||||
请阅读本项目文档[helm安装prometheus监控](prometheus.md)
|
|
@ -21,7 +21,7 @@ $ kubectl -n kube-system create secret tls traefik-cert --key=tls.key --cert=tls
|
|||
## 3.创建 traefik-controller,增加 traefik.toml 配置文件及https 端口暴露等,详见该 yaml 文件
|
||||
|
||||
``` bash
|
||||
$ kubectl apply -f /etc/ansible/manifests/ingress/traefik/tls/traefik-controller.yaml
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/ingress/traefik/tls/traefik-controller.yaml
|
||||
```
|
||||
|
||||
## 4.创建 https ingress 例子
|
||||
|
@ -47,7 +47,7 @@ spec:
|
|||
tls:
|
||||
- secretName: traefik-cert
|
||||
# 创建https ingress
|
||||
$ kubectl apply -f /etc/ansible/manifests/ingress/traefik/tls/hello-tls.ing.yaml
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/ingress/traefik/tls/hello-tls.ing.yaml
|
||||
# 注意根据hello示例,需要在default命名空间创建对应的secret: traefik-cert
|
||||
$ kubectl create secret tls traefik-cert --key=tls.key --cert=tls.crt
|
||||
```
|
||||
|
@ -78,9 +78,9 @@ https://hello.test.com:23457
|
|||
$ kubectl get svc -n kube-system | grep dashboard
|
||||
kubernetes-dashboard NodePort 10.68.211.168 <none> 443:39308/TCP 3d11h
|
||||
```
|
||||
前提2:`/etc/ansible/manifests/ingress/traefik/tls/traefik-controller.yaml`的配置文件`traefik.toml`开启了`insecureSkipVerify = true`
|
||||
前提2:`/etc/kubeasz/manifests/ingress/traefik/tls/traefik-controller.yaml`的配置文件`traefik.toml`开启了`insecureSkipVerify = true`
|
||||
|
||||
配置 dashboard ingress:`kubectl apply -f /etc/ansible/manifests/ingress/traefik/tls/k8s-dashboard.ing.yaml` 内容如下:
|
||||
配置 dashboard ingress:`kubectl apply -f /etc/kubeasz/manifests/ingress/traefik/tls/k8s-dashboard.ing.yaml` 内容如下:
|
||||
|
||||
```
|
||||
apiVersion: networking.k8s.io/v1beta1
|
||||
|
|
|
@ -26,7 +26,7 @@ Traefik 提供了一个简单好用 `Ingress controller`,下文侧重讲解 in
|
|||
#### 安装 traefik ingress-controller
|
||||
|
||||
``` bash
|
||||
kubectl create -f /etc/ansible/manifests/ingress/traefik/traefik-ingress.yaml
|
||||
kubectl create -f /etc/kubeasz/manifests/ingress/traefik/traefik-ingress.yaml
|
||||
```
|
||||
+ 注意需要配置 `RBAC`授权
|
||||
+ 注意`trafik pod`中 `80`端口为 traefik ingress-controller的服务端口,`8080`端口为 traefik 的管理WEB界面;为后续配置方便指定`80` 端口暴露`NodePort`端口为 `23456`(对应于在hosts配置中`NODE_PORT_RANGE`范围内可用端口)
|
||||
|
@ -58,7 +58,7 @@ test-hello 1 1 1 1 56s
|
|||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
test-hello ClusterIP 10.68.124.115 <none> 80/TCP 1m
|
||||
```
|
||||
+ 然后为这个应用创建 ingress,`kubectl create -f /etc/ansible/manifests/ingress/test-hello.ing.yaml`
|
||||
+ 然后为这个应用创建 ingress,`kubectl create -f /etc/kubeasz/manifests/ingress/test-hello.ing.yaml`
|
||||
|
||||
``` bash
|
||||
# test-hello.ing.yaml内容
|
||||
|
@ -81,7 +81,7 @@ spec:
|
|||
|
||||
#### 为 traefik WEB 管理页面创建 ingress 规则
|
||||
|
||||
`kubectl create -f /etc/ansible/manifests/ingress/traefik/traefik-ui.ing.yaml`
|
||||
`kubectl create -f /etc/kubeasz/manifests/ingress/traefik/traefik-ui.ing.yaml`
|
||||
|
||||
``` bash
|
||||
# traefik-ui.ing.yaml内容
|
||||
|
@ -116,9 +116,9 @@ spec:
|
|||
|
||||
``` bash
|
||||
# 修改traefik-ingress 使用 LoadBalancer服务
|
||||
$ sed -i 's/NodePort$/LoadBalancer/g' /etc/ansible/manifests/ingress/traefik/traefik-ingress.yaml
|
||||
$ sed -i 's/NodePort$/LoadBalancer/g' /etc/kubeasz/manifests/ingress/traefik/traefik-ingress.yaml
|
||||
# 创建traefik-ingress
|
||||
$ kubectl apply -f /etc/ansible/manifests/ingress/traefik/traefik-ingress.yaml
|
||||
$ kubectl apply -f /etc/kubeasz/manifests/ingress/traefik/traefik-ingress.yaml
|
||||
# 验证
|
||||
$ kubectl get svc --all-namespaces |grep traefik
|
||||
kube-system traefik-ingress-service LoadBalancer 10.68.163.243 192.168.1.241 80:23456/TCP,8080:37088/TCP 1m
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
```
|
||||
helm install manifests/jenkins/ --name jenkins
|
||||
```
|
||||
如果通过/etc/ansible/roles/helm/helm.yml安装的helm,安装过程会出现如下错误
|
||||
如果通过/etc/kubeasz/roles/helm/helm.yml安装的helm,安装过程会出现如下错误
|
||||
|
||||
``` bash
|
||||
E0703 08:40:22.376225 19888 portforward.go:331] an error occurred forwarding 41655 -> 44134: error forwarding port 44134 to pod 5098414beaaa07140a4ba3240690b1ce989ece01e5db33db65eec83bd64bdedf, uid : exit status 1: 2018/07/03 08:40:22 socat[19991] E write(5, 0x1aec120, 3424): Connection reset by peer
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
- 3.安装 Log-Pilot
|
||||
|
||||
``` bash
|
||||
kubectl apply -f /etc/ansible/manifests/efk/log-pilot/log-pilot-filebeat.yaml
|
||||
kubectl apply -f /etc/kubeasz/manifests/efk/log-pilot/log-pilot-filebeat.yaml
|
||||
```
|
||||
|
||||
- 4.创建示例应用,采集日志
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
# 修复kubelet默认允许匿名访问
|
||||
|
||||
kubelet默认启动参数`--anonymous-auth=true`风险非常大,黑客可以在集群中植入挖坑程序,甚至通过这个漏洞获取宿主系统root权限。感谢 `cqspirit` [PR #192](https://github.com/easzlab/kubeasz/pull/192) 提醒
|
||||
|
||||
## 关于漏洞的危害
|
||||
|
||||
据我所知k8s v1.5+ 所有版本的kubelet组件的默认启动参数是允许匿名访问kubelet的(默认的大坑),你可以使用如下命令检查你的集群:
|
||||
`curl -sk https://$NodeIP:10250/runningpods/`
|
||||
- 如果返回了运行的pod信息,说明是允许匿名访问的,
|
||||
- 如果返回`Unauthorized`,说明是安全的
|
||||
|
||||
部分关于该漏洞的讨论参考如下:
|
||||
- [kubelet-exploit](https://github.com/kayrus/kubelet-exploit)
|
||||
- [Kubernetes-From-Container-To-Cluster](https://raesene.github.io/blog/2016/10/08/Kubernetes-From-Container-To-Cluster/)
|
||||
- [Analysis of a Kubernetes hack -- Backdooring through kubelet](https://www.reddit.com/r/netsec/comments/847994/analysis_of_a_kubernetes_hack_backdooring_through/)
|
||||
|
||||
## 漏洞的修复
|
||||
|
||||
最新代码已经修复,参考[官方文档说明](https://kubernetes.io/docs/admin/kubelet-authentication-authorization/),已有集群可以登录ansible控制端操作如下:
|
||||
``` bash
|
||||
$ cd /etc/ansible
|
||||
$ git pull origin master
|
||||
$ ansible-playbook 22.upgrade.yml -t restart_master,restart_node
|
||||
```
|
|
@ -1,31 +0,0 @@
|
|||
## 前言
|
||||
|
||||
`kubeasz`项目开始于`2017.11`,从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进;项目的发展需要各位的共同参与和贡献,希望越做越好,为国内k8s学习、实践者提供更多帮助。
|
||||
现在是很好的时间节点,梳理项目的`TodoList`/`Milestones`,以下是现有的一些想法,欢迎大家在[这里](https://github.com/easzlab/kubeasz/issues/188)参与讨论。
|
||||
|
||||
### 项目 TodoList
|
||||
|
||||
<table border="0">
|
||||
<tr>
|
||||
<th>类型</th>
|
||||
<th>描述</th>
|
||||
<th>备注</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>基础服务</td>
|
||||
<td>集群监控告警-prometheus</td>
|
||||
<td>已完成基础,待优化</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>应用服务</td>
|
||||
<td>服务治理-istio跟进</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>基础服务</td>
|
||||
<td>ingress-nginx</td>
|
||||
<td>待集成manifests及使用文档</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
@ -2,11 +2,20 @@
|
|||
|
||||
集群升级存在一定风险,请谨慎操作。
|
||||
|
||||
- 在当前支持k8s大版本基础上升级任意小版本,比如当前安装集群为1.19.0,你可以方便的升级到任何1.19.x版本
|
||||
- 支持k8s相同大版本基础上升级任意小版本,比如当前安装集群为1.25.0,你可以方便的升级到任何1.25.x版本
|
||||
- 不建议跨大版本升级,一般大版本更新时k8s api有一些变动
|
||||
|
||||
### 备份etcd数据
|
||||
### 备份etcd数据
|
||||
|
||||
- 升级前对 etcd数据做备份,在任意 etcd节点上执行:
|
||||
- 自动备份
|
||||
|
||||
`kubeasz`项目也可以如下方便执行备份(假设集群名为k8s-01),详情阅读文档[备份恢复](cluster_restore.md)
|
||||
|
||||
```
|
||||
dk ezctl backup k8s-01
|
||||
```
|
||||
|
||||
- 手动备份 etcd数据,在任意 etcd节点上执行:
|
||||
|
||||
``` bash
|
||||
# snapshot备份
|
||||
|
@ -15,16 +24,12 @@ $ ETCDCTL_API=3 etcdctl snapshot save backup.db
|
|||
$ ETCDCTL_API=3 etcdctl --write-out=table snapshot status backup.db
|
||||
```
|
||||
|
||||
`kubeasz`项目也可以如下方便执行备份(假设集群名为k8s-01)
|
||||
### k8s 升级小版本
|
||||
|
||||
- `ezctl backup k8s-01`,详情阅读文档[备份恢复](cluster_restore.md)
|
||||
快速升级`k8s`小版本,比较常见如`Bug修复` `特性发布`时使用。
|
||||
|
||||
### 快速k8s版本升级
|
||||
|
||||
快速升级是指只升级`k8s`版本,比较常见如`Bug修复` `重要特性发布`时使用。
|
||||
|
||||
- 首先去官网release下载待升级的k8s版本,例如`https://dl.k8s.io/v1.11.5/kubernetes-server-linux-amd64.tar.gz`
|
||||
- 解压下载的tar.gz文件,找到如下`kube*`开头的二进制,复制替换ansible控制端目录`/etc/ansible/bin`对应文件
|
||||
- 首先去官网release下载待升级的k8s版本,例如`https://dl.k8s.io/v1.25.4/kubernetes-server-linux-amd64.tar.gz`
|
||||
- 解压下载的tar.gz文件,找到如下`kube*`开头的二进制,复制替换kubeasz控制端目录`/etc/kubeasz/bin`对应文件
|
||||
- kube-apiserver
|
||||
- kube-controller-manager
|
||||
- kubectl
|
||||
|
@ -32,14 +37,14 @@ $ ETCDCTL_API=3 etcdctl --write-out=table snapshot status backup.db
|
|||
- kube-proxy
|
||||
- kube-scheduler
|
||||
|
||||
- 在ansible控制端执行`ezctl upgrade k8s-01` 即可完成k8s 升级,不会中断业务应用
|
||||
- 在kubeasz控制端执行`dk ezctl upgrade k8s-01` 即可完成k8s 升级,不会中断业务应用
|
||||
|
||||
|
||||
### 其他升级说明
|
||||
|
||||
其他升级是指升级k8s组件包括:`etcd版本` `docker版本`,一般不需要用到,不建议升级,以下仅作说明。
|
||||
|
||||
- 1.下载所有组件相关新的二进制解压并替换 `/etc/ansible/bin/` 目录下文件
|
||||
- 1.下载所有组件相关新的二进制解压并替换 `/etc/kubeasz/bin/` 目录下文件
|
||||
|
||||
- 2.升级 etcd: `ansible-playbook -i clusters/k8s-01/hosts -e @clusters/k8s-01/config.yml -t upgrade_etcd playbooks/02.etcd.yml`
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ kube-router是一个简单、高效的网络插件,它提供一揽子解决方
|
|||
|
||||
## 配置
|
||||
|
||||
本项目提供多种网络插件可选,如果需要安装kube-router,请在/etc/ansible/hosts文件中设置变量 `CLUSTER_NETWORK="kube-router"`,更多设置请查看`roles/kube-router/defaults/main.yml`
|
||||
本项目提供多种网络插件可选,如果需要安装kube-router,请在/etc/kubeasz/hosts文件中设置变量 `CLUSTER_NETWORK="kube-router"`,更多设置请查看`roles/kube-router/defaults/main.yml`
|
||||
|
||||
- kube-router需要在所有master节点和node节点安装
|
||||
|
||||
|
|
Loading…
Reference in New Issue