From ca1877c9f639d2eb8ed04aa8e559d4cb27a99c23 Mon Sep 17 00:00:00 2001 From: "tao.yang" Date: Tue, 16 Jan 2024 18:29:40 +0800 Subject: [PATCH] docs: Update upgrade docs Signed-off-by: tao.yang --- README-zh_CN.md | 2 +- docs/README-zh_CN.md | 2 +- docs/usage/install/upgrade-zh_CN.md | 142 ++++++++++++++++++++ docs/usage/install/upgrade.md | 195 ++++++++++++++-------------- 4 files changed, 242 insertions(+), 99 deletions(-) create mode 100644 docs/usage/install/upgrade-zh_CN.md diff --git a/README-zh_CN.md b/README-zh_CN.md index f1f71894db..c25463fea3 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -29,7 +29,7 @@ Spiderpool 是一个 kubernetes 的 underlay 和 RDMA 网络解决方案,它 Spiderpool 社区将最新的三个 Spiderpool 补丁版本视为稳定版本,并定期维护。之前较旧的 Spiderpool 补丁版本将被视为 EOL(过时版本)。 -如需升级到新的补丁版本,请参阅 [Spiderpool 升级指南](./docs/usage/install/upgrade.md)。 +如需升级到新的补丁版本,请参阅 [Spiderpool 升级指南](./docs/usage/install/upgrade-zh_CN.md)。 下面列出的是当前维护的发布分支及其最新发布的补丁、相应的拉取镜像标签和发布说明: diff --git a/docs/README-zh_CN.md b/docs/README-zh_CN.md index 65c667339a..270e414d94 100644 --- a/docs/README-zh_CN.md +++ b/docs/README-zh_CN.md @@ -29,7 +29,7 @@ Spiderpool 是一个 kubernetes 的 underlay 和 RDMA 网络解决方案,它 Spiderpool 社区将最新的三个 Spiderpool 补丁版本视为稳定版本,并定期维护。之前较旧的 Spiderpool 补丁版本将被视为 EOL(过时版本)。 -如需升级到新的补丁版本,请参阅 [Spiderpool 升级指南](./usage/install/upgrade.md)。 +如需升级到新的补丁版本,请参阅 [Spiderpool 升级指南](./usage/install/upgrade-zh_CN.md)。 下面列出的是当前维护的发布分支及其最新发布的补丁、相应的拉取镜像标签和发布说明: diff --git a/docs/usage/install/upgrade-zh_CN.md b/docs/usage/install/upgrade-zh_CN.md new file mode 100644 index 0000000000..610f40274d --- /dev/null +++ b/docs/usage/install/upgrade-zh_CN.md @@ -0,0 +1,142 @@ +# 升级指南 + +[**English**](./upgrade.md) | **简体中文** + +本升级指南适用于在 Kubernetes 上运行的 Spiderpool。如果您有任何疑问,请随时通过 [Spiderpool Community](../../README-zh_CN.md#6) 联系我们。 + +## 注意事项 + +- 在执行升级之前,请阅读完整的升级指南以了解所有必要的步骤。 + +- 在 Kubernetes 进行 Spiderpool 升级时,Kubernetes 首先将终止已有 Pod,然后拉取新的镜像版本,最后使用新的镜像启动 Pod。为了减少停机时间并防止升级期间发生 `ErrImagePull` 错误,可以参考如下命令,提前拉取对应版本的镜像。 + + ```bash + # 以 docker 为例,请修改 [upgraded-version] 为你升级的版本。 + docker pull ghcr.io/spidernet-io/spiderpool/spiderpool-agent:[upgraded-version] + docker pull ghcr.io/spidernet-io/spiderpool/spiderpool-controller:[upgraded-version] + + # 如果您是中国大陆用户,可以使用镜像源 ghcr.m.daocloud.io + docker pull ghcr.m.daocloud.io/spidernet-io/spiderpool/spiderpool-agent:[upgraded-version] + docker pull ghcr.m.daocloud.io/spidernet-io/spiderpool/spiderpool-controller:[upgraded-version] + ``` + +## 步骤 + +建议每次都升级到 Spiderpool 的最新且被维护的补丁版本。通过 [Stable Releases](../../README-zh_CN.md#2) 了解受到支持的最新补丁版本。 + +### 使用 Helm 升级 Spiderpool + +1. 确保您已安装 [Helm](https://helm.sh/docs/intro/install/) 。 + +2. 设置 Helm 存储库并更新 + + ```bash + helm repo add spiderpool https://spidernet-io.github.io/spiderpool + helm repo update spiderpool + ``` + +3. 删除 spiderpool-init Pod(可选) + + `spiderpool-init` Pod 会帮助初始化环境信息,每次运行完毕后其处于 `complete` 状态。 如果您的环境有 `spiderpool-init` Pod,在升级之前通过 `kubectl delete` 将其删除,否则在 helm upgrade 时,会失败。 + +4. helm upgrade 升级 + + ```bash + # -n 指定你 Spiderpool 所在命名空间,并修改 [upgraded-version] 为你要升级到的版本。 + helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] + ``` + +### 配置升级 + +您可以通过 `--set` 在升级时去更新 Spiderpool 配置,可用的 values 参数,请查看 [values](https://github.com/spidernet-io/spiderpool/tree/main/charts/spiderpool/README.md) 说明文档。 以下示例展示了如何开启 Spiderpool 的 [SpiderSubnet 功能](../spider-subnet-zh_CN.md) + +```bash +helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] --set ipam.enableSpiderSubnet=true +``` + +同时您也可以使用 `--reuse-values` 重用上一个 release 的值并合并来自命令行的任何覆盖。但仅当 Spiderpool chart 版本保持不变时,才可以安全地使用 `--reuse-values` 标志,例如,当使用 helm upgrade 来更改 Spiderpool 配置而不升级 Spiderpool 组件。 `--reuse-values` 使用,参考如下示例: + +```bash +helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] --set ipam.enableSpiderSubnet=true --reuse-values +``` + +相反,如果 Spiderpool chart 版本发生了变化,您想重用现有安装中的值,请将旧值保存在值文件中,检查该文件中是否有任何重命名或弃用的值,然后将其传递给 helm upgrade 命令,您可以使用以下命令检索并保存现有安装中的值: + +```bash +helm get values spiderpool --namespace=kube-system -o yaml > old-values.yaml +helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] -f old-values.yaml +``` + +### 升级回滚 + +有时由于升级过程中遗漏了某个步骤或出现问题,可能需要回滚升级。 要回滚请参考运行如下命令: + +```bash +helm history spiderpool --namespace=kube-system +helm rollback spiderpool [REVISION] --namespace=kube-system +``` + +## 版本具体说明 + +下列的升级注意事项,将随着新版本的发布滚动更新,它们将存在优先级关系(从旧到新),您的当前版本满足任何一项,在进行升级时,需要依次检查从该项到最新的每一个注意事项。 + +### 低于 0.3.6(不包含 0.3.6)升级到更高版本的注意事项 + +在低于 0.3.6 的版本中,使用了 `-` 作为 [SpiderSubnet](../spider-subnet-zh_CN.md) 自动池名称的分隔符。最终很难将其解压以追溯自动池所对应的应用程序的命名空间和名称,在这些版本中 SpiderSubnet 功能是存在设计缺陷的,在最新的补丁版本中,对此做了修改与优化,并且在 0.3.6 往后的版本中支持了 SpiderSubnet 功能的多个网络接口。如上所述,新版本中新建的自动池名称已发生了改变,例如,应用 `kube-system/test-app` 对应的 IPv4 自动池为 `auto4-test-app-eth0-40371`。 同时自动池中被标记了如下的一些 label。 + +```bash +metadata: + labels: + ipam.spidernet.io/interface: eth0 + ipam.spidernet.io/ip-version: IPv4 + ipam.spidernet.io/ippool-cidr: 172-100-0-0-16 + ipam.spidernet.io/ippool-reclaim: "true" + ipam.spidernet.io/owner-application-gv: apps_v1 + ipam.spidernet.io/owner-application-kind: DaemonSet + ipam.spidernet.io/owner-application-name: test-app + ipam.spidernet.io/owner-application-namespace: kube-system + ipam.spidernet.io/owner-application-uid: 2f78ccdd-398e-49e6-a85b-40371db6fdbd + ipam.spidernet.io/owner-spider-subnet: vlan100-v4 +spec: + podAffinity: + matchLabels: + ipam.spidernet.io/app-api-group: apps + ipam.spidernet.io/app-api-version: v1 + ipam.spidernet.io/app-kind: DaemonSet + ipam.spidernet.io/app-name: test-app + ipam.spidernet.io/app-namespace: kube-system +``` + +低于 0.3.6 升级最新补丁版本属于不兼容升级,如果启用了 SpiderSubnet 功能,为使存量自动池可用,需要为存量的自动池增加如上所述的一系列标签,操作如下: + +```bash +kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/owner-application-name": "test-app"}}}' +kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/owner-application-namespace": "kube-system"}}}' +... +``` + +同时 SpiderSubnet 支持了多网络接口,需要为自动池增加对应的网络接口 `label`,如下: + +```bash +kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/interface": "eth0"}}}}' +``` + +### 低于 0.4.0(不包含 0.4.0)升级到更高版本的注意事项 + +由于架构调整,`SpiderEndpoint.Status.OwnerControllerType` 属性从 `None` 更改为 `Pod`。 故查找所有 `Status.OwnerControllerType` 为 `None` 的 SpiderEndpoint 对象,将 `SpiderEndpoint.Status.OwnerControllerType` 属性从 `None` 替换为 `Pod`。 + +### 低于 0.5.0(包含 0.5.0)升级到更高版本的注意事项 + +在高于 0.5.0 的版本中,新增了 [SpiderMultusConfig](../spider-multus-config-zh_CN.md) 和 [Coordinator](../../concepts/coordinator-zh_CN.md) 功能。但由于 helm upgrade 升级时,无法自动去安装对应的 CRD:`spidercoordinators.spiderpool.spidernet.io` 和 `spidermultusconfigs.spiderpool.spidernet.io`。故在升级前,您可以通过以下命令获取最新的稳定版本,并解压 chart 包并应用所有 CRD。 + +```bash +~# helm search repo spiderpool --versions +# 请替换 [upgraded-version] 为要升级到的版本。 +~# helm fetch spiderpool/spiderpool --version [upgraded-version] +~# tar -xvf spiderpool-[upgraded-version].tgz && cd spiderpool/crds +~# ls | grep '\.yaml$' | xargs -I {} kubectl apply -f {} +``` + +### 更多版本升级的注意事项 + + diff --git a/docs/usage/install/upgrade.md b/docs/usage/install/upgrade.md index fa43c238c3..db241c762e 100644 --- a/docs/usage/install/upgrade.md +++ b/docs/usage/install/upgrade.md @@ -1,141 +1,142 @@ -# Upgrading Spiderpool Versions +# Upgrade Guide -This document describes breaking changes, as well as how to fix them, that have occurred at given releases. -Please consult the segments from your current release until now before upgrading your spiderpool. +**English** | [**简体中文**](./upgrade-zh_CN.md) -## Upgrade to 0.3.6 from (<=0.3.5) +This upgrade guide is intended for Spiderpool running on Kubernetes. If you have questions, feel free to ping us on [Spiderpool Community](../../README.md#6). -### Description +## Warning -1. There's a design flaw for SpiderSubnet feature in auto-created IPPool label. - The previous label `ipam.spidernet.io/owner-application` corresponding value uses '-' as separative sign. - For example, we have deployment `ns398-174835790/deploy398-82311862` and the corresponding label value is `Deployment-ns398-174835790-deploy398-82311862`. - It's very hard to unpack it to trace back what the application namespace and name is. - Now, we use '_' rather than '-' as slash for SpiderSubnet feature label `ipam.spidernet.io/owner-application`, and the upper case - will be like `Deployment_ns398-174835790_deploy398-82311862`. - Reference PR: [#1162](https://github.com/spidernet-io/spiderpool/pull/1162) -2. In order to support multiple interfaces with SpiderSubnet feature, we also add one more label for auto-created IPPool. - The key is `ipam.spidernet.io/interface`, and the value is the corresponding interface name. +- Read the full upgrade guide to understand all the necessary steps before performing them. -### Operation steps +- When rolling out an upgrade with Kubernetes, Kubernetes will first terminate the pod followed by pulling the new image version and then finally spin up the new image. In order to reduce the downtime of the agent and to prevent ErrImagePull errors during upgrade. You can refer to the following command to pull the corresponding version of the image in advance. -1. Find all auto-created IPPools, their name format is `auto-${appKind}-${appNS}-${appName}-v${ipVersion}-${uid}` such as `auto-deployment-default-demo-deploy-subnet-v4-69d041b98b41`. - -2. Replace their label, just like this: + ```bash + # Taking docker as an example, please modify [upgraded-version] to your upgraded version. + docker pull ghcr.io/spidernet-io/spiderpool/spiderpool-agent:[upgraded-version] + docker pull ghcr.io/spidernet-io/spiderpool/spiderpool-controller:[upgraded-version] - ```shell - kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/owner-application": ${AppLabelValue}}}}' + # If you are mainland user who is not available to access ghcr.io, you can use the mirror source ghcr.m.daocloud.io + docker pull ghcr.m.daocloud.io/spidernet-io/spiderpool/spiderpool-agent:[upgraded-version] + docker pull ghcr.m.daocloud.io/spidernet-io/spiderpool/spiderpool-controller:[upgraded-version] ``` -3. Add one more label +## Steps - ```shell - kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/interface": "eth0"}}}}' - ``` +It is recommended to always upgrade to the latest and maintained patch version of Spiderpool. Check [Stable Releases](../../README.md#2) to learn about the latest supported patch versions. -4. Update your Spiderpool components version and restart them all. +### Upgrading Spiderpool via Helm -## Upgrade to 0.4.0 from (<0.4.0) +1. Make sure you have [Helm](https://helm.sh/docs/intro/install/) installed. -### Description +2. Setup Helm repository and update -Due to the architecture adjustment, the SpiderEndpoint.Status.OwnerControllerType property is changed from `None` to `Pod`. + ```bash + helm repo add spiderpool https://spidernet-io.github.io/spiderpool + helm repo update spiderpool + ``` -### Operation steps +3. Remove spiderpool-init Pod (optional) -1. Find all SpiderEndpoint objects that their Status OwnerControllerType is `None` + `spiderpool-init` Pod will help initialize environment information, and it will be in `complete` state after each run. If your environment has a `spiderpool-init` Pod, delete it through `kubectl delete` before upgrading, otherwise it will fail during helm upgrade. -2. Replace the subresource SpiderEndpoint.Status.OwnerControllerType property from `None` to `Pod` +4. Upgrade via `helm upgrade` -## Upgrade + ```bash + # -n specifies the namespace where your Spiderpool is located, and modify [upgraded-version] to the version you want to upgrade to. + helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] + ``` -This upgrade guide is intended for Spiderpool running on Kubernetes. If you have questions, feel free to ping us on the [Slack channel](https://app.slack.com/client/T08PSQ7BQ/C05JPU3M48P). +### Configuration upgrade -NOTE: Read the full upgrade guide to understand all the necessary steps before performing them. +You can use `--set` to update the Spiderpool configuration when upgrading. For available values parameters, please see the [values](https://github.com/spidernet-io/spiderpool/tree/main/charts/spiderpool/README.md) documentation. The following example shows how to enable Spiderpool's [SpiderSubnet function](../spider-subnet.md) -### Upgrade steps +```bash +helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] --set ipam.enableSpiderSubnet=true +``` -The following steps will describe how to upgrade all of the components from one stable release to a later stable release. +You can also use `--reuse-values` to reuse the values from the previous release and merge any overrides from the command line. However, it is only safe to use the `--reuse-values` flag if the Spiderpool chart version remains unchanged, e.g. when using helm upgrade to change the Spiderpool configuration without upgrading the Spiderpool components. For `--reuse-values` usage, see the following example: -1. Setup the Helm repository and update: +```bash +helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] --set ipam.enableSpiderSubnet=true --reuse-values +``` - ```bash - ~# helm repo add spiderpool https://spidernet-io.github.io/spiderpool - ~# helm repo update spiderpool - ...Successfully got an update from the "spiderpool" chart repository - Update Complete. ⎈Happy Helming!⎈ - ``` +Conversely, if the Spiderpool chart version has changed and you want to reuse the values from the existing installation, save the old values in a values file, check that file for any renamed or deprecated values, and pass it to helm upgrade command, you can retrieve and save values from existing installations using. -2. If the spiderpool-init pod exists it needs to be removed +```bash +helm get values spiderpool --namespace=kube-system -o yaml > old-values.yaml +helm upgrade spiderpool spiderpool/spiderpool -n kube-system --version [upgraded-version] -f old-values.yaml +``` - Spiderpool-init Pod will help us initialize some environment information. It is very useful to delete it before upgrading. +### Rolling Back - ```bash - ~# kubectl get po -n kube-system spiderpool-init - NAME READY STATUS RESTARTS AGE - spiderpool-init 0/1 Completed 0 49m - ~# kubectl delete po -n kube-system spiderpool-init - pod "spiderpool-init" deleted - ``` +Occasionally, it may be necessary to undo the rollout because a step was missed or something went wrong during upgrade. To undo the rollout run: -3. Update version via helm +```bash +helm history spiderpool --namespace=kube-system +helm rollback spiderpool [REVISION] --namespace=kube-system +``` - (Optional) Spiderpool chart version has changed, you can get the latest stable version with the following command, unzip the chart package and apply all crds. +## Version Specific Notes - ```bash - ~# helm search repo spiderpool --versions - ... - ~# helm fetch spiderpool/spiderpool --version - ... - ~# tar -xvf spiderpool-.tgz && cd spiderpool/crds - ~# ls | grep '\.yaml$' | xargs -I {} kubectl apply -f {} - ``` +The following upgrade notes will be updated on a rolling basis with the release of new versions. They will have a priority relationship (from old to new). If your current version meets any one of them, when upgrading, you need to check in order from that item to Latest on every note. - To upgrade spiderpool using Helm, you can change `` to any stable version. +### Upgrading from a version below 0.3.6 (Excludes 0.3.6) to a higher version - ```bash - helm upgrade --install spiderpool spiderpool/spiderpool --wait --debug --version \ - -n kube-system \ - ``` +In versions lower than 0.3.6, `-` is used as a separator for [SpiderSubnet](../spider-subnet.md) delimiter for autopool names. It was ultimately difficult to extract it to trace the namespace and name of the application to which the autopool corresponded. The SpiderSubnet functionality in these releases was flawed by design, and has been modified and optimised in the latest patch releases, as well as supporting multiple network interfaces for the SpiderSubnet functionality in releases from 0.3.6 onwards. As mentioned above, the names of the new auto pools created in the new release have been changed, e.g., the IPv4 auto pool corresponding to application `kube-system/test-app` is `auto4-test-app-eth0-40371`. At the same time, the auto pool is marked with some labels as follows. - Running the previous command will overwrite the existing cluster's ConfigMap, so it is important to retain any existing options, either by setting them on the command line or storing them in a YAML file, similar to: +```bash +metadata: + labels: + ipam.spidernet.io/interface: eth0 + ipam.spidernet.io/ip-version: IPv4 + ipam.spidernet.io/ippool-cidr: 172-100-0-0-16 + ipam.spidernet.io/ippool-reclaim: "true" + ipam.spidernet.io/owner-application-gv: apps_v1 + ipam.spidernet.io/owner-application-kind: DaemonSet + ipam.spidernet.io/owner-application-name: test-app + ipam.spidernet.io/owner-application-namespace: kube-system + ipam.spidernet.io/owner-application-uid: 2f78ccdd-398e-49e6-a85b-40371db6fdbd + ipam.spidernet.io/owner-spider-subnet: vlan100-v4 +spec: + podAffinity: + matchLabels: + ipam.spidernet.io/app-api-group: apps + ipam.spidernet.io/app-api-version: v1 + ipam.spidernet.io/app-kind: DaemonSet + ipam.spidernet.io/app-name: test-app + ipam.spidernet.io/app-namespace: kube-system +``` - ```bash - ~# kubectl get cm -n kube-system spiderpool-conf -oyaml > my-config.yaml - ``` +Upgrading below 0.3.6 to the latest patch version is an incompatible upgrade. If the SpiderSubnet feature is enabled, you will need to add a series of tags as described above to the stock auto pool in order to make it available to the stock auto pool, as follows: - The `--reuse-values` flag may only be safely used if the Spiderpool chart version remains unchanged, for example when helm upgrade is used to apply configuration changes without upgrading Spiderpool. Instead, if you want to reuse the values from your existing installation, save the old values in a values file, check the file for any renamed or deprecated values, and then pass it to the helm upgrade command as described above. You can retrieve and save the values from an existing installation with the following command: +```bash +kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/owner-application-name": "test-app"}}}' +kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/owner-application-namespace": "kube-system"}}}' +... +``` - ```bash - helm get values spiderpool --namespace=kube-system -o yaml > old-values.yaml - ``` +SpiderSubnet supports multiple network interfaces, you need to add the corresponding network interface `label` for the auto pool as follows: - Helm Optional: +```bash +kubectl patch sp ${auto-pool} --type merge --patch '{"metadata": {"labels": {"ipam.spidernet.io/interface": "eth0"}}}}' +``` - > Spider v0.7.0 brings some changes. Can be adapted through `--set` - > - > 1. In version 0.7.0, spiderpool integrates multus. If you have installed multus, pass `--set multus.multusCNI.install=false` to disable the installation when upgrading. - > 2. In version 0.7.0, the ipam.enableIPv6 value is changed to true by default. Determine the status of this value in your cluster configuration. If it is false, please change it through `--set ipam.enableIPv6=false`. - > 3. In version 0.7.0, the default value of ipam.enableSpiderSubnet was changed to false. Determine the status of this value in your cluster configuration. If it is true, change it with `--set ipam.enableSpiderSubnet=true`. +### Upgrading from a version below 0.4.0 (Excludes 0.4.0) to a higher version -4. verify +Due to architecture adjustment, `SpiderEndpoint.Status.OwnerControllerType` property is changed from `None` to `Pod`. Therefore, find all SpiderEndpoint objects with `Status.OwnerControllerType` of `None` and replace the `SpiderEndpoint.Status.OwnerControllerType` property from `None` to `Pod`. - You can verify that the upgraded version matches by running the following command. +### Upgrading from a version below 0.5.0 (Includes 0.5.0) to a higher version - ```bash - ~# helm list -A - NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION - spiderpool kube-system 3 2023-08-31 23:29:28.884386053 +0800 CST deployed spiderpool- - - ~# kubectl get po -n kube-system | grep spiderpool - spiderpool-agent-22z7f 1/1 Running 0 3m - spiderpool-agent-cjps5 1/1 Running 0 3m - spiderpool-agent-mwpsp 1/1 Running 0 3m - spiderpool-controller-647888ff-g5q4n 1/1 Running 0 3m - spiderpool-init 0/1 Completed 0 3m +In versions higher than 0.5.0, the [SpiderMultusConfig](../spider-multus-config.md) and [Coordinator](../../concepts/coordinator.md) functions are added. However, due to helm upgrade, the corresponding CRDs cannot be automatically installed: `spidercoordinators.spiderpool.spidernet.io` and `spidermultusconfigs.spiderpool.spidernet.io`. Therefore, before upgrading, you can obtain the latest stable version through the following commands, decompress the chart package and apply all CRDs. - ~# kubectl get po -n kube-system spiderpool-controller-647888ff-g5q4n -oyaml |grep image +```bash +~# helm search repo spiderpool --versions +# Please replace [upgraded-version] with the version you want to upgrade to. +~# helm fetch spiderpool/spiderpool --version [upgraded-version] +~# tar -xvf spiderpool-[upgraded-version].tgz && cd spiderpool/crds +~# ls | grep '\.yaml$' | xargs -I {} kubectl apply -f {} +``` - ~# kubectl get po -n kube-system spiderpool-agent-cjps5 -oyaml |grep image +### More notes on version upgrades - ``` +