From 6c5553e74ecb8040dc40a1e730353c1d2f71b2b7 Mon Sep 17 00:00:00 2001 From: weekface Date: Thu, 18 Jun 2020 15:25:40 +0800 Subject: [PATCH] zh: tidb-operator offline installation (#400) * operator offline installation * Apply suggestions from code review Co-authored-by: Ran * address comment * address comment * Apply suggestions from code review Co-authored-by: Ran Co-authored-by: DanielZhangQD <36026334+DanielZhangQD@users.noreply.github.com> Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com> --- zh/deploy-tidb-operator.md | 178 ++++++++++++++++++++--- zh/tidb-toolkit.md | 281 +++++++++++++++++++------------------ 2 files changed, 304 insertions(+), 155 deletions(-) diff --git a/zh/deploy-tidb-operator.md b/zh/deploy-tidb-operator.md index 02d6f48e24..7f2eed99ab 100644 --- a/zh/deploy-tidb-operator.md +++ b/zh/deploy-tidb-operator.md @@ -42,58 +42,198 @@ Kubernetes 集群建议启用 [RBAC](https://kubernetes.io/docs/admin/authorizat ## 安装 TiDB Operator +### 创建 CRD + TiDB Operator 使用 [Custom Resource Definition (CRD)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) 扩展 Kubernetes,所以要使用 TiDB Operator,必须先创建 `TidbCluster` 自定义资源类型。只需要在你的 Kubernetes 集群上创建一次即可: {{< copyable "shell-regular" >}} ```shell -kubectl apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/master/manifests/crd.yaml && \ -kubectl get crd tidbclusters.pingcap.com +kubectl apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.0/manifests/crd.yaml +``` + +如果服务器没有外网,需要先用有外网的机器下载 `crd.yaml` 文件,然后再进行安装: + +{{< copyable "shell-regular" >}} + +```shell +wget https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.0/manifests/crd.yaml +kubectl apply -f ./crd.yaml +``` + +如果显示如下信息表示 CRD 安装成功: + +{{< copyable "shell-regular" >}} + +```shell +kubectl get crd +``` + +```shell +NAME CREATED AT +backups.pingcap.com 2020-06-11T07:59:40Z +backupschedules.pingcap.com 2020-06-11T07:59:41Z +restores.pingcap.com 2020-06-11T07:59:40Z +tidbclusterautoscalers.pingcap.com 2020-06-11T07:59:42Z +tidbclusters.pingcap.com 2020-06-11T07:59:38Z +tidbinitializers.pingcap.com 2020-06-11T07:59:42Z +tidbmonitors.pingcap.com 2020-06-11T07:59:41Z ``` -创建 `TidbCluster` 自定义资源类型后,接下来在 Kubernetes 集群上安装 TiDB Operator。 +### 安装 + +创建以上各种自定义资源类型后,接下来在 Kubernetes 集群上安装 TiDB Operator,有两种安装方式:在线和离线安装 TiDB Operator。 + +#### 在线安装 TiDB Operator 1. 获取你要安装的 `tidb-operator` chart 中的 `values.yaml` 文件: {{< copyable "shell-regular" >}} ```shell - mkdir -p /home/tidb/tidb-operator && \ - helm inspect values pingcap/tidb-operator --version=${chart_version} > /home/tidb/tidb-operator/values-tidb-operator.yaml + mkdir -p ${HOME}/tidb-operator && \ + helm inspect values pingcap/tidb-operator --version=${chart_version} > ${HOME}/tidb-operator/values-tidb-operator.yaml ``` > **注意:** > - > `${chart_version}` 在后续文档中代表 chart 版本,例如 `v1.0.0`,可以通过 `helm search -l tidb-operator` 查看当前支持的版本。 + > `${chart_version}` 在后续文档中代表 chart 版本,例如 `v1.1.0`,可以通过 `helm search -l tidb-operator` 查看当前支持的版本。 2. 配置 TiDB Operator - TiDB Operator 里面会用到 `k8s.gcr.io/kube-scheduler` 镜像,如果下载不了该镜像,可以修改 `/home/tidb/tidb-operator/values-tidb-operator.yaml` 文件中的 `scheduler.kubeSchedulerImageName` 为 `registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler`。 + TiDB Operator 里面会用到 `k8s.gcr.io/kube-scheduler` 镜像,如果无法下载该镜像,可以修改 `${HOME}/tidb-operator/values-tidb-operator.yaml` 文件中的 `scheduler.kubeSchedulerImageName` 为 `registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler`。 + + 其他项目例如:`limits`、`requests` 和 `replicas`,请根据需要进行修改。 3. 安装 TiDB Operator {{< copyable "shell-regular" >}} ```shell - helm install pingcap/tidb-operator --name=tidb-operator --namespace=tidb-admin --version=${chart_version} -f /home/tidb/tidb-operator/values-tidb-operator.yaml && \ + helm install pingcap/tidb-operator --name=tidb-operator --namespace=tidb-admin --version=${chart_version} -f ${HOME}/tidb-operator/values-tidb-operator.yaml && \ kubectl get po -n tidb-admin -l app.kubernetes.io/name=tidb-operator ``` -## 自定义 TiDB Operator +4. 升级 TiDB Operator -通过修改 `/home/tidb/tidb-operator/values-tidb-operator.yaml` 中的配置自定义 TiDB Operator。后续文档使用 `values.yaml` 指代 `/home/tidb/tidb-operator/values-tidb-operator.yaml`。 + 如果需要升级 TiDB Operator,请先修改 `${HOME}/tidb-operator/values-tidb-operator.yaml` 文件,然后执行下面的命令进行升级: -TiDB Operator 有两个组件: + {{< copyable "shell-regular" >}} -* tidb-controller-manager -* tidb-scheduler + ```shell + helm upgrade tidb-operator pingcap/tidb-operator -f ${HOME}/tidb-operator/values-tidb-operator.yaml + ``` -这两个组件是无状态的,通过 `Deployment` 部署。你可以在 `values.yaml` 中自定义资源 `limit`、`request` 和 `replicas`。 +#### 离线安装 TiDB Operator -修改为 `values.yaml` 后,执行下面命令使配置生效: +如果服务器没有外网,需要按照下面的步骤来离线安装 TiDB Operator: -{{< copyable "shell-regular" >}} +1. 下载 `tidb-operator` chart -```shell -helm upgrade tidb-operator pingcap/tidb-operator --version=${chart_version} -f /home/tidb/tidb-operator/values-tidb-operator.yaml -``` + 如果服务器上没有外网,就无法通过配置 Helm repo 来安装 TiDB Operator 组件以及其他应用。这时,需要在有外网的机器上下载集群安装需用到的 chart 文件,再拷贝到服务器上。 + + 通过以下命令,下载 `tidb-operator` chart 文件: + + {{< copyable "shell-regular" >}} + + ```shell + wget http://charts.pingcap.org/tidb-operator-v1.1.0.tgz + ``` + + 将 `tidb-operator-v1.1.0.tgz` 文件拷贝到服务器上并解压到当前目录: + + {{< copyable "shell-regular" >}} + + ```shell + tar zxvf tidb-operator.v1.1.0.tgz + ``` + +2. 下载 TiDB Operator 运行所需的 Docker 镜像 + + 如果服务器没有外网,需要在有外网的机器上将 TiDB Operator 用到的所有 Docker 镜像下载下来并上传到服务器上,然后使用 `docker load` 将 Docker 镜像安装到服务器上。 + + TiDB Operator 用到的 Docker 镜像有: + + {{< copyable "shell-regular" >}} + + ```shell + pingcap/tidb-operator:v1.1.0 + pingcap/tidb-backup-manager:v1.1.0 + bitnami/kubectl:latest + pingcap/advanced-statefulset:v0.3.3 + k8s.gcr.io/kube-scheduler:v1.16.9 + ``` + + 其中 `k8s.gcr.io/kube-scheduler:v1.16.9` 请跟你的 Kubernetes 集群的版本保持一致即可,不用单独下载。 + + 接下来通过下面的命令将所有这些镜像下载下来: + + {{< copyable "shell-regular" >}} + + ```shell + docker pull pingcap/tidb-operator:v1.1.0 + docker pull pingcap/tidb-backup-manager:v1.1.0 + docker pull bitnami/kubectl:latest + docker pull pingcap/advanced-statefulset:v0.3.3 + + docker save -o tidb-operator-v1.1.0.tar pingcap/tidb-operator:v1.1.0 + docker save -o tidb-backup-manager-v1.1.0.tar pingcap/tidb-backup-manager:v1.1.0 + docker save -o bitnami-kubectl.tar bitnami/kubectl:latest + docker save -o advanced-statefulset-v0.3.3.tar pingcap/advanced-statefulset:v0.3.3 + ``` + + 接下来将这些 Docker 镜像上传到服务器上,并执行 `docker load` 将这些 Docker 镜像安装到服务器上: + + {{< copyable "shell-regular" >}} + + ```shell + docker load -i tidb-operator-v1.1.0.tar + docker load -i tidb-backup-manager-v1.1.0.tar + docker load -i bitnami-kubectl.tar + docker load -i advanced-statefulset-v0.3.3.tar + ``` + +3. 配置 TiDB Operator + + TiDB Operator 内嵌了一个 `kube-scheduler` 用来实现自定义调度器,请修改 `./tidb-operator/values.yaml` 文件来配置这个内置 `kube-scheduler` 组件的 Docker 镜像名字和版本,例如你的 Kubernetes 集群中的 `kube-scheduler` 使用的镜像为 `k8s.gcr.io/kube-scheduler:v1.16.9`,请这样设置 `./tidb-operator/values.yaml`: + + ```shell + ... + scheduler: + serviceAccount: tidb-scheduler + logLevel: 2 + replicas: 1 + schedulerName: tidb-scheduler + resources: + limits: + cpu: 250m + memory: 150Mi + requests: + cpu: 80m + memory: 50Mi + kubeSchedulerImageName: k8s.gcr.io/kube-scheduler + kubeSchedulerImageTag: v1.16.9 + ... + ``` + + 其他项目例如:`limits`、`requests` 和 `replicas`,请根据需要进行修改。 + +4. 安装 TiDB Operator + + 使用下面的命令安装 TiDB Operator: + + {{< copyable "shell-regular" >}} + + ```shell + helm install ./tidb-operator --name=tidb-operator --namespace=tidb-admin + ``` + +5. 升级 TiDB Operator + + 如果需要升级 TiDB Operator,请先修改 `./tidb-operator/values.yaml` 文件,然后执行下面的命令进行升级: + + {{< copyable "shell-regular" >}} + + ```shell + helm upgrade tidb-operator ./tidb-operator + ``` diff --git a/zh/tidb-toolkit.md b/zh/tidb-toolkit.md index daf6edb0d7..d97394b12f 100644 --- a/zh/tidb-toolkit.md +++ b/zh/tidb-toolkit.md @@ -138,223 +138,232 @@ tidb-ctl schema in mysql [Helm](https://helm.sh/) 是一个 Kubernetes 的包管理工具,确保安装的 Helm 版本为 >= 2.11.0 && < 3.0.0 && != [2.16.4](https://github.com/helm/helm/issues/7797)。安装步骤如下: -1. 参考[官方文档](https://v2.helm.sh/docs/using_helm/#installing-helm)安装 Helm 客户端。 +### 安装 Helm 客户端 - 如果服务器没有外网,需要先将 Helm 客户端在有外网的机器上下载下来,然后再拷贝到服务器上,这里以安装 Helm 客户端 `2.16.7` 为例: +参考[官方文档](https://v2.helm.sh/docs/using_helm/#installing-helm)安装 Helm 客户端。 - {{< copyable "shell-regular" >}} +如果服务器没有外网,需要先将 Helm 客户端在有外网的机器上下载下来,然后再拷贝到服务器上,这里以安装 Helm 客户端 `2.16.7` 为例: - ```shell - wget https://get.helm.sh/helm-v2.16.7-linux-amd64.tar.gz - tar zxvf helm-v2.16.7-linux-amd64.tar.gz - ``` +{{< copyable "shell-regular" >}} - 解压之后,有以下文件: +```shell +wget https://get.helm.sh/helm-v2.16.7-linux-amd64.tar.gz +tar zxvf helm-v2.16.7-linux-amd64.tar.gz +``` - ```shell - linux-amd64/ - linux-amd64/README.md - linux-amd64/tiller - linux-amd64/helm - linux-amd64/LICENSE - ``` +解压之后,有以下文件: - 请自行将 `linux-amd64/helm` 文件拷贝到服务器上,并将其放到 `/usr/local/bin/` 目录下即可。 +```shell +linux-amd64/ +linux-amd64/README.md +linux-amd64/tiller +linux-amd64/helm +linux-amd64/LICENSE +``` - 然后执行 `helm verison -c`,如果正常输出则表示 Helm 客户端安装成功: +请自行将 `linux-amd64/helm` 文件拷贝到服务器上,并将其放到 `/usr/local/bin/` 目录下即可。 - {{< copyable "shell-regular" >}} +然后执行 `helm verison -c`,如果正常输出则表示 Helm 客户端安装成功: - ```shell - helm version -c - ``` +{{< copyable "shell-regular" >}} - ```shell - Client: &version.Version{SemVer:"v2.16.7", GitCommit:"5f2584fd3d35552c4af26036f0c464191287986b", GitTreeState:"clean"} - ``` +```shell +helm version -c +``` -2. 安装 Helm 服务端 +```shell +Client: &version.Version{SemVer:"v2.16.7", GitCommit:"5f2584fd3d35552c4af26036f0c464191287986b", GitTreeState:"clean"} +``` - 在集群中应用 Helm 服务端组件 `tiller` 所需的 `RBAC` 规则,并安装 `tiller`: +### 安装 Helm 服务端 - {{< copyable "shell-regular" >}} +### 安装 RBAC - ```shell - kubectl apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.0/manifests/tiller-rbac.yaml && \ - helm init --service-account=tiller --upgrade - ``` +如果 Kubernetes 集群没有启用 `RBAC`,请跳过此小节,直接安装 Tiller 即可。 - 如果服务器没有外网,需要先用有外网的机器下载 `tiller-rbac.yaml` 文件: +Helm 服务端是一个名字叫 `tiller` 的服务, 请首先安装 `tiller` 所需的 `RBAC` 规则: - {{< copyable "shell-regular" >}} +{{< copyable "shell-regular" >}} - ```shell - wget https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.0/manifests/tiller-rbac.yaml - ``` +```shell +kubectl apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.0/manifests/tiller-rbac.yaml +``` - 将 `tiller-rbac.yaml` 文件拷贝到服务器上并安装 `tiller`: +如果服务器没有外网,需要先用有外网的机器下载 `tiller-rbac.yaml` 文件: - {{< copyable "shell-regular" >}} +{{< copyable "shell-regular" >}} - ```shell - kubectl apply -f tiller-rbac.yaml - helm init --service-account=tiller --skip-refresh - ``` +```shell +wget https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.0/manifests/tiller-rbac.yaml +``` - Helm 服务端是一个名字叫 `tiller` 的服务,是作为一个 Pod 运行在 Kubernetes 集群里的。这个 Pod 使用的镜像是 `gcr.io/kubernetes-helm/tiller:v2.16.7`,如果无法访问 gcr.io,你可以尝试 mirror 仓库: +将 `tiller-rbac.yaml` 文件拷贝到服务器上并安装 `RBAC`: - {{< copyable "shell-regular" >}} +{{< copyable "shell-regular" >}} - ``` shell - helm init --service-account=tiller --upgrade --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:$(helm version --client --short | grep -Eo 'v[0-9]\.[0-9]+\.[0-9]+') - ``` +```shell +kubectl apply -f tiller-rbac.yaml +``` - 如果服务器没有外网或者无法访问 `gcr.io` 和 `registry.cn-hangzhou.aliyuncs.com`,需要先将 `tiller` Docker 镜像在有外网的机器下载下来: +### 安装 Tiller - {{< copyable "shell-regular" >}} +Helm 服务端是一个名字叫 `tiller` 的服务,是作为一个 Pod 运行在 Kubernetes 集群里的。使用下面的命令安装 `tiller`: - ``` shell - docker pull gcr.io/kubernetes-helm/tiller:v2.16.7 - docker save -o tiller-v2.16.7.tar gcr.io/kubernetes-helm/tiller:v2.16.7 - ``` +{{< copyable "shell-regular" >}} - 将 `tiller-v2.16.7.tar` 文件拷贝到服务器上,执行 `docker load` 命令将其 load 到服务器上: +```shell +helm init --service-account=tiller --upgrade +``` - {{< copyable "shell-regular" >}} +`tiller` 这个Pod 使用的镜像是 `gcr.io/kubernetes-helm/tiller:v2.16.7`,如果服务器无法访问 gcr.io,你可以尝试 mirror 仓库: - ``` shell - docker load -i tiller-v2.16.7.tar - ``` +{{< copyable "shell-regular" >}} - 通过下面命令确认 `tiller` Pod 进入 running 状态: +``` shell +helm init --service-account=tiller --upgrade --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:$(helm version --client --short | grep -Eo 'v[0-9]\.[0-9]+\.[0-9]+') +``` - {{< copyable "shell-regular" >}} +如果服务器没有外网,需要先将 `tiller` 所使用的 Docker 镜像在有外网的机器下载下来: - ```shell - kubectl get po -n kube-system -l name=tiller - ``` +{{< copyable "shell-regular" >}} - 如果 Kubernetes 集群没有启用 `RBAC`,那么可以直接使用下列命令安装 `tiller`: +``` shell +docker pull gcr.io/kubernetes-helm/tiller:v2.16.7 +docker save -o tiller-v2.16.7.tar gcr.io/kubernetes-helm/tiller:v2.16.7 +``` - {{< copyable "shell-regular" >}} +将 `tiller-v2.16.7.tar` 文件拷贝到服务器上,执行 `docker load` 命令将其 load 到服务器上: - ```shell - helm init --upgrade - ``` +{{< copyable "shell-regular" >}} -3. 配置 Helm repo +``` shell +docker load -i tiller-v2.16.7.tar +``` - Kubernetes 应用在 Helm 中被打包为 chart。PingCAP 针对 Kubernetes 上的 TiDB 部署运维提供了多个 Helm chart: +最后通过下面命令安装 `tiller` 并确认 `tiller` Pod 进入 Running 状态: - * `tidb-operator`:用于部署 TiDB Operator; - * `tidb-cluster`:用于部署 TiDB 集群; - * `tidb-backup`:用于 TiDB 集群备份恢复; - * `tidb-lightning`:用于 TiDB 集群导入数据; - * `tidb-drainer`:用于部署 TiDB Drainer; - * `tikv-importer`:用于部署 TiKV Importer; +{{< copyable "shell-regular" >}} - 这些 chart 都托管在 PingCAP 维护的 helm chart 仓库 `https://charts.pingcap.org/` 中,你可以通过下面的命令添加该仓库: +```shell +helm init --service-account=tiller --skip-refresh +kubectl get po -n kube-system -l name=tiller +``` - {{< copyable "shell-regular" >}} +### 配置 Helm repo - ```shell - helm repo add pingcap https://charts.pingcap.org/ - ``` +Kubernetes 应用在 Helm 中被打包为 chart。PingCAP 针对 Kubernetes 上的 TiDB 部署运维提供了多个 Helm chart: - 添加完成后,可以使用 `helm search` 搜索 PingCAP 提供的 chart: +* `tidb-operator`:用于部署 TiDB Operator; +* `tidb-cluster`:用于部署 TiDB 集群; +* `tidb-backup`:用于 TiDB 集群备份恢复; +* `tidb-lightning`:用于 TiDB 集群导入数据; +* `tidb-drainer`:用于部署 TiDB Drainer; +* `tikv-importer`:用于部署 TiKV Importer; - - 如果 Helm 版本 < 2.16.0: +这些 chart 都托管在 PingCAP 维护的 helm chart 仓库 `https://charts.pingcap.org/` 中,你可以通过下面的命令添加该仓库: - {{< copyable "shell-regular" >}} +{{< copyable "shell-regular" >}} - ```shell - helm search pingcap -l - ``` +```shell +helm repo add pingcap https://charts.pingcap.org/ +``` - - 如果 Helm 版本 >= 2.16.0: +添加完成后,可以使用 `helm search` 搜索 PingCAP 提供的 chart: - {{< copyable "shell-regular" >}} +- 如果 Helm 版本 < 2.16.0: - ```shell - helm search pingcap -l --devel - ``` + {{< copyable "shell-regular" >}} - ``` - NAME CHART VERSION APP VERSION DESCRIPTION - pingcap/tidb-backup v1.0.0 A Helm chart for TiDB Backup or Restore - pingcap/tidb-cluster v1.0.0 A Helm chart for TiDB Cluster - pingcap/tidb-operator v1.0.0 tidb-operator Helm chart for Kubernetes - ... - ``` + ```shell + helm search pingcap -l + ``` - 当新版本的 chart 发布后,你可以使用 `helm repo update` 命令更新本地对于仓库的缓存: +- 如果 Helm 版本 >= 2.16.0: {{< copyable "shell-regular" >}} + ```shell + helm search pingcap -l --devel + ``` + ``` - helm repo update + NAME CHART VERSION APP VERSION DESCRIPTION + pingcap/tidb-backup v1.0.0 A Helm chart for TiDB Backup or Restore + pingcap/tidb-cluster v1.0.0 A Helm chart for TiDB Cluster + pingcap/tidb-operator v1.0.0 tidb-operator Helm chart for Kubernetes + ... ``` - Helm 的常用操作有部署(`helm install`)、升级(`helm upgrade`)、销毁(`helm del`)、查询(`helm ls`)。Helm chart 往往都有很多可配置参数,通过命令行进行配置比较繁琐,因此推荐使用 YAML 文件的形式来编写这些配置项,基于 Helm 社区约定俗称的命名方式,我们在文档中将用于配置 chart 的 YAML 文件称为 `values.yaml` 文件。 +当新版本的 chart 发布后,你可以使用 `helm repo update` 命令更新本地对于仓库的缓存: - 执行部署、升级、销毁等操作前,可以使用 `helm ls` 查看集群中已部署的应用: +{{< copyable "shell-regular" >}} - {{< copyable "shell-regular" >}} +``` +helm repo update +``` - ```shell - helm ls - ``` +### Helm 常用操作 - 在执行部署和升级操作时,必须指定使用的 chart 名字(`chart-name`)和部署后的应用名(`release-name`),还可以指定一个或多个 `values.yaml` 文件来配置 chart。此外,假如对 chart 有特定的版本需求,则需要通过 `--version` 参数指定 `chart-version` (默认为最新的 GA 版本)。命令形式如下: +Helm 的常用操作有部署(`helm install`)、升级(`helm upgrade`)、销毁(`helm del`)、查询(`helm ls`)。Helm chart 往往都有很多可配置参数,通过命令行进行配置比较繁琐,因此推荐使用 YAML 文件的形式来编写这些配置项。基于 Helm 社区约定俗称的命名方式,在文档中将用于配置 chart 的 YAML 文件称为 `values.yaml` 文件。 - * 执行安装: +执行部署、升级、销毁等操作前,可以使用 `helm ls` 查看集群中已部署的应用: - {{< copyable "shell-regular" >}} +{{< copyable "shell-regular" >}} - ```shell - helm install ${chart_name} --name=${release_name} --namespace=${namespace} --version=${chart_version} -f ${values_file} - ``` +```shell +helm ls +``` - * 执行升级(升级可以是修改 `chart-version` 升级到新版本的 chart,也可以是修改 `values.yaml` 文件更新应用配置): +在执行部署和升级操作时,必须指定使用的 chart 名字(`chart-name`)和部署后的应用名(`release-name`),还可以指定一个或多个 `values.yaml` 文件来配置 chart。此外,假如对 chart 有特定的版本需求,则需要通过 `--version` 参数指定 `chart-version` (默认为最新的 GA 版本)。命令形式如下: - {{< copyable "shell-regular" >}} +* 执行安装: - ```shell - helm upgrade ${release_name} ${chart_name} --version=${chart_version} -f ${values_file} - ``` + {{< copyable "shell-regular" >}} - 最后,假如要删除 helm 部署的应用,可以执行: + ```shell + helm install ${chart_name} --name=${release_name} --namespace=${namespace} --version=${chart_version} -f ${values_file} + ``` + +* 执行升级(升级可以是修改 `chart-version` 升级到新版本的 chart,也可以是修改 `values.yaml` 文件更新应用配置): {{< copyable "shell-regular" >}} ```shell - helm del --purge ${release_name} + helm upgrade ${release_name} ${chart_name} --version=${chart_version} -f ${values_file} ``` - 更多 helm 的相关文档,请参考 [Helm 官方文档](https://helm.sh/docs/)。 +最后,假如要删除 helm 部署的应用,可以执行: -4. 离线情况下使用 Helm chart +{{< copyable "shell-regular" >}} - 如果服务器上没有外网,就无法通过配置 Helm repo 来安装 TiDB Operator 组件以及其他应用。这时,我们需要在有外网的机器上下载集群安装需用到的 chart 文件,再拷贝到服务器上。 +```shell +helm del --purge ${release_name} +``` - 通过以下命令,下载集群安装时需要的 chart 文件: +更多 helm 的相关文档,请参考 [Helm 官方文档](https://helm.sh/docs/)。 - {{< copyable "shell-regular" >}} +### 离线情况下使用 Helm chart - ```shell - wget http://charts.pingcap.org/tidb-operator-v1.1.0.tgz - wget http://charts.pingcap.org/tidb-drainer-v1.1.0.tgz - wget http://charts.pingcap.org/tidb-lightning-v1.1.0.tgz - ``` +如果服务器上没有外网,就无法通过配置 Helm repo 来安装 TiDB Operator 组件以及其他应用。这时,需要在有外网的机器上下载集群安装需用到的 chart 文件,再拷贝到服务器上。 - 将这些 chart 文件拷贝到服务器上并解压,可以通过 `helm install` 命令使用这些 chart 来安装相应组件,以 `tidb-operator` 为例: +通过以下命令,下载集群安装时需要的 chart 文件: - {{< copyable "shell-regular" >}} +{{< copyable "shell-regular" >}} - ```shell - tar zxvf tidb-operator.v1.1.0.tgz - helm install ./tidb-operator --name=${release_name} --namespace=${namespace} -f ${values_file} - ``` +```shell +wget http://charts.pingcap.org/tidb-operator-v1.1.0.tgz +wget http://charts.pingcap.org/tidb-drainer-v1.1.0.tgz +wget http://charts.pingcap.org/tidb-lightning-v1.1.0.tgz +``` + +将这些 chart 文件拷贝到服务器上并解压,可以通过 `helm install` 命令使用这些 chart 来安装相应组件,以 `tidb-operator` 为例: + +{{< copyable "shell-regular" >}} + +```shell +tar zxvf tidb-operator.v1.1.0.tgz +helm install ./tidb-operator --name=${release_name} --namespace=${namespace} +``` ## 使用 Terraform