KubeSphere v4 升级
参考 KubeSphere 3.x 升级至 4.x 数据迁移 KubeSphere v4 安装指南 启用集群网关 升级注意事项 KS 卸载过程中会清理所有组件及数据,请谨慎操作,本文档数据迁移过程中仅对以下数据进行备份: 用户、企业空间、访问控制授权规则(仅限内置角色) KS 的卸载过程不会影响除 KS 及组件之外的资源 如何用到集群网关的记得先备份其配置 升级 在能使用kubectl的节点上执行 yum install -y jq mkdir -p kubespher-v4-upgrade cd kubespher-v4-upgrade 创建1_backup.sh脚本文件 #!/bin/bash kubectl get users.iam.kubesphere.io -o json | jq '.items[].apiVersion = "iam.kubesphere.io/v1beta1"' > backup-users.json kubectl get globalrolebindings.iam.kubesphere.io -o json | jq '.items[]?.apiVersion = "iam.kubesphere.io/v1beta1" | .items[]?.subjects[]?.apiGroup = "iam.kubesphere.io"' > backup-globalrolebindings.json kubectl get clusterrolebindings -l iam.kubesphere.io/user-ref -o json | jq '.items[]?.apiVersion = "iam.kubesphere.io/v1beta1" | .items[]?.subjects[]?.apiGroup = "iam.kubesphere.io" | .items[]?.roleRef.apiGroup = "iam.kubesphere.io"' > backup-clusterrolebindings.json kubectl get rolebindings -A -l iam.kubesphere.io/user-ref -o json | jq '.items[]?.apiVersion = "iam.kubesphere.io/v1beta1" | .items[]?.subjects[]?.apiGroup = "iam.kubesphere.io" | .items[]?.roleRef.apiGroup = "iam.kubesphere.io"' > backup-rolebindings.json kubectl get namespace -l kubesphere.io/workspace -o json | jq '.items[]?.metadata.labels["kubesphere.io/managed"] = "true"' > backup-namespaces.json ## 只需要在 host 集群上执行 kubectl get workspacetemplates.tenant.kubesphere.io -o json | jq '.items[].apiVersion = "tenant.kubesphere.io/v1beta1" | del(.items[].spec.template.spec.networkIsolation)' > backup-workspacetemplates.json ## 只需要在 host 集群上执行 kubectl get workspacerolebindings.iam.kubesphere.io -o json | jq '.items[]?.apiVersion = "iam.kubesphere.io/v1beta1" | .items[]?.subjects[]?.apiGroup = "iam.kubesphere.io" | .items[]?.roleRef.apiGroup = "iam.kubesphere.io" | del(.items[].metadata.resourceVersion) | del(.items[].metadata.ownerReferences)' > backup-workspacerolebindings.json 创建2_uninstall_v3.sh脚本文件 ...