Skip to main content

在线安装

在能访问公网镜像仓库的集群上,通过一条 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://<您配置的域名>/
公有云上不要用默认的 NodePort

公有云托管 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 后,即可用浏览器打开。

LoadBalancer 的公网 IP 默认不固定

删除重建 Service 会拿到新 IP。如果需要稳定地址,请在云厂商预先创建静态公网 IP,并通过 Service 注解绑定(例如 Azure 的 service.beta.kubernetes.io/azure-pip-name)。

验证方法​

curl -s http://<刚获得的访问地址>/api/v1/status

返回 {"status":"ok", ...} 即表示安装成功;随后请参考安装许可证完成许可证配置。

相关文档​