在线安装
在能访问公网镜像仓库的集群上,通过一条 helm install 命令即可完成 SupKube 与内置 Velero 的安装。
前置条件
- 已完成安装前置条件中的检查。
- 集群可以拉取
supkube.azurecr.io上的镜像(该仓库已开启匿名拉取)。
第一步:构建 Chart 依赖
SupKube 的 Chart 内置了 Velero 作为子 Chart,首次安装前需要先拉取子 Chart 包:
helm repo add vmware-tanzu https://vmware-tanzu.github.io/helm-charts
helm dependency build supkube-helm/supkube
第二步:选择 UI 暴露方式
安装前需要确定前端服务如何对外暴露,Chart 提供 4 种模式,二选一即可,之后随时可以用 helm upgrade 切换:
| 模式 | 适用场景 | 访问方式 |
|---|---|---|
NodePort(默认) | 本地开发集群、能直接访问节点 IP 的私有环境 | http://<任意节点 IP>:30888/ |
LoadBalancer | 公有云托管集群(AKS/GKE/EKS) | 云厂商分配的公网 IP(kubectl get svc -w 等待几分钟) |
ClusterIP | 不希望暴露到集群外,按需临时访问 | kubectl port-forward |
ingress.enabled=true | 有域名 + TLS 证书的生产环境 | https://<您配置的域名>/ |
公有云托管 Kubernetes(AKS/GKE/EKS)的节点通常没有公网 IP,NodePort 从集群外部访问不到。生产安装请显式指定 --set service.frontend.type=LoadBalancer 或启用 ingress。
第三步:执行安装
以 LoadBalancer 模式、使用内置 Dex 演示登录为例:
helm install supkube supkube-helm/supkube \
-n supkube --create-namespace \
--set eula.accept=true \
--set eula.email=ops@example.com \
--set eula.company="Example Inc" \
--set backend.image.repository=supkube.azurecr.io/backend \
--set backend.image.tag=<镜像 tag,见下方如何查询> \
--set frontend.image.repository=supkube.azurecr.io/frontend \
--set frontend.image.tag=<镜像 tag,见下方如何查询> \
--set service.frontend.type=LoadBalancer \
--set auth.dex.publicURL=http://192.0.2.10 \
--wait --timeout 15m --burst-limit 300
查询可用镜像 tag:
az acr repository show-tags --name supkube --repository backend --orderby time_desc --top 5 -o tsv
eula.accept 与 auth.dex.publicURL 是强制项eula.accept 不为 true 时安装会直接失败。若 auth.dex.enabled=true(默认如此)却没有设置 auth.dex.publicURL,安装同样会失败——这是刻意设计,publicURL 必须填写"浏览器访问 SupKube 时使用的外部地址"(例如上面例子里的 http://192.0.2.10,生产环境通常是 https:// + 域名)。填错(比如仍填 localhost)不会报错,但登录后会静默失败。
命名空间请使用 supkube(如上例的 -n supkube)——许可证校验、多集群注册、内置审计事件三个子系统的命名空间是硬编码的,与您自定义的发布命名空间无关,用别的命名空间安装会导致这三项功能读取不到数据,详见架构 · 核心组件。
安装完成后
helm install 结束时会打印 NOTES.txt,内容会根据您选择的暴露模式给出对应的访问地址;例如 LoadBalancer 模式会提示:
kubectl -n supkube get svc supkube-frontend -w
等 EXTERNAL-IP 从 <pending> 变为具体 IP 后,即可用浏览器打开。
删除重建 Service 会拿到新 IP。如果需要稳定地址,请在云厂商预先创建静态公网 IP,并通过 Service 注解绑定(例如 Azure 的 service.beta.kubernetes.io/azure-pip-name)。
验证方法
curl -s http://<刚获得的访问地址>/api/v1/status
返回 {"status":"ok", ...} 即表示安装成功;随后请参考安装许可证完成许可证配置。