• 已编辑

升级 Gateway 至 v1.0.4

从 Gateway 升级至 v1.0.4(开源版本)

操作指南

注意事项

如果安装时设定了自定义参数,请先备份,并在升级时重新设置:

helm get values -n kubesphere-system ks-core | grep -v 'USER-SUPPLIED VALUES' > bak-values.yaml

步骤 1:更新扩展组件仓库

# 不带自定义参数
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.4.tgz --debug --wait --set ksExtensionRepository.image.tag=v1.1.4

# 带自定义参数
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.4.tgz --debug --wait -f bak-values.yaml --set ksExtensionRepository.image.tag=v1.1.4

步骤 2:触发扩展组件仓库更新

kubectl patch repository extensions-museum --type=json -p='[{"op": "replace", "path": "/status", "value": {}}]'

更新网关版本到 v1.0.4

更新扩展组件配置

将概览-》升级 中的配置粘贴到扩展组件配置更新框中

步骤 3:升级网关版本至 v1.0.4

升级完成后,请根据扩展组件页面的“升级”部分,更新 Gateway 扩展组件配置。

重启 Gateway apiserver

kubectl rollout restart deploy -n extension-gateway gateway-agent-backend-apiserver

更新已存在网关

如果集群中已经开启了网关,更新操作会导致业务中断,请提前预留更新窗口。

1. 备份网关配置

进入网关详情页,点击 编辑,记录当前的自定义配置。

2. 记录 nodePort(若需保持端口一致)

应用负载 > 服务 中,查找 kubesphere-controls-system 下网关服务,记录 nodePort 端口。

3. 禁用网关

在网关详情页点击 禁用

注意:该步骤会导致业务中断。

4. 重新启用网关

若存在自定义配置,请重新设置,确保 nodePort 保持一致(如有需要请点击“编辑 YAML”进行设置)。

检查 Nginx Ingress 版本

确保使用的版本为:

kubesphere-nginx-ingress-4.12.1

13 天 后

在进行 helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.4.tgz --debug --wait --set ksExtensionRepository.image.tag=v1.1.4 这一步时,会卡死在这里(需要翻墙?)

    qq280948982

    日志如下:

    # helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.4.tgz --debug --wait --set ksExtensionRepository.image.tag=v1.1.4

    history.go:56: 2025-04-15 12:03:14.556479792 +0800 CST m=+0.492753739 [debug] getting history for release ks-core

    upgrade.go:164: 2025-04-15 12:03:17.191571071 +0800 CST m=+3.127845018 [debug] preparing upgrade for ks-core

    upgrade.go:172: 2025-04-15 12:03:24.193172985 +0800 CST m=+10.129446930 [debug] performing update for ks-core

    upgrade.go:375: 2025-04-15 12:03:29.307570666 +0800 CST m=+15.243844609 [debug] creating upgraded release for ks-core

    client.go:486: 2025-04-15 12:03:29.517117286 +0800 CST m=+15.453391215 [debug] Starting delete for "ks-core-ks-crds-pre-upgrade-scripts" ConfigMap

    wait.go:104: 2025-04-15 12:03:29.56365139 +0800 CST m=+15.499925334 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s

    client.go:142: 2025-04-15 12:03:29.736309646 +0800 CST m=+15.672583594 [debug] creating 1 resource(s)

    client.go:486: 2025-04-15 12:03:29.78388619 +0800 CST m=+15.720160124 [debug] Starting delete for "ks-core-pre-upgrade-crd" ServiceAccount

    wait.go:104: 2025-04-15 12:03:29.787580742 +0800 CST m=+15.723854684 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s

    client.go:142: 2025-04-15 12:03:29.963061005 +0800 CST m=+15.899334951 [debug] creating 1 resource(s)

    client.go:486: 2025-04-15 12:03:29.981399077 +0800 CST m=+15.917673015 [debug] Starting delete for "ks-core-pre-upgrade-crd" ClusterRoleBinding

    wait.go:104: 2025-04-15 12:03:29.989227405 +0800 CST m=+15.925501342 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s

    client.go:142: 2025-04-15 12:03:30.083330733 +0800 CST m=+16.019604682 [debug] creating 1 resource(s)

    client.go:486: 2025-04-15 12:03:30.094392164 +0800 CST m=+16.030666103 [debug] Starting delete for "ks-core-ks-crds-pre-upgrade" Job

    client.go:490: 2025-04-15 12:03:30.098353416 +0800 CST m=+16.034627366 [debug] Ignoring delete failure for "ks-core-ks-crds-pre-upgrade" batch/v1, Kind=Job: jobs.batch "ks-core-ks-crds-pre-upgrade" not found

    wait.go:104: 2025-04-15 12:03:30.098556724 +0800 CST m=+16.034830664 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s

    client.go:142: 2025-04-15 12:03:30.208906147 +0800 CST m=+16.145180089 [debug] creating 1 resource(s)

    client.go:712: 2025-04-15 12:03:30.238697686 +0800 CST m=+16.174971622 [debug] Watching for changes to Job ks-core-ks-crds-pre-upgrade with timeout of 5m0s

    client.go:740: 2025-04-15 12:03:30.252782095 +0800 CST m=+16.189056043 [debug] Add/Modify event for ks-core-ks-crds-pre-upgrade: ADDED

    client.go:779: 2025-04-15 12:03:30.252810697 +0800 CST m=+16.189084637 [debug] ks-core-ks-crds-pre-upgrade: Jobs active: 0, jobs failed: 0, jobs succeeded: 0

    client.go:740: 2025-04-15 12:03:30.282963388 +0800 CST m=+16.219237352 [debug] Add/Modify event for ks-core-ks-crds-pre-upgrade: MODIFIED

    client.go:779: 2025-04-15 12:03:30.282993204 +0800 CST m=+16.219267142 [debug] ks-core-ks-crds-pre-upgrade: Jobs active: 0, jobs failed: 0, jobs succeeded: 0

    client.go:740: 2025-04-15 12:03:31.291420327 +0800 CST m=+17.227694273 [debug] Add/Modify event for ks-core-ks-crds-pre-upgrade: MODIFIED

    client.go:779: 2025-04-15 12:03:31.291462633 +0800 CST m=+17.227736577 [debug] ks-core-ks-crds-pre-upgrade: Jobs active: 1, jobs failed: 0, jobs succeeded: 0

      qq280948982 kubectl -n kubesphere-system get pod 看下是否有pod失败, describe pod 看下失败原因是什么

        stoneshi-yunify

        在执行过程中查看 pod 的状态如下:

        kubectl -n kubesphere-system get pod

        NAME READY STATUS RESTARTS AGE

        extensions-museum-654d687dc4-5glfh 1/1 Running 0 14h

        ks-apiserver-58d497c678-btsl9 1/1 Running 1 (159d ago) 164d

        ks-console-86bf8855b8-8px8r 1/1 Running 1 (159d ago) 164d

        ks-controller-manager-58555b859d-v4cxv 1/1 Running 5 (22h ago) 164d

        ks-core-ks-crds-pre-upgrade-zj8fw 0/1 ContainerCreating 0 47s

        restart-extensions-museum-29074560-9vvfj 0/1 Completed 0 2d14h

        restart-extensions-museum-29076000-m8scb 0/1 Completed 0 38h

        restart-extensions-museum-29077440-4hgcr 0/1 Completed 0 14h

        其中 ks-core-ks-crds-pre-upgrade-zj8fw 一直长时间处于 ContainerCreating 状态,通过 kubectl describe pod ks-core-ks-crds-pre-upgrade-zj8fw -n kubesphere-system 命令查看详情发现从 docker.io 拉取镜像拉不下来,如下:

        Failed to pull image “docker.io/kubesphere/kubectl:v1.27.16”: failed to pull and unpack image “docker.io/kubesphere/kubectl:v1.27.16”: failed to resolve reference “docker.io/kubesphere/kubectl:v1.27.16”: failed to do request: Head “https://registry-1.docker.io/v2/kubesphere/kubectl/manifests/v1.27.16”: dial tcp 199.96.59.19:443: i/o timeout

        已经找到解决方案了,谢谢