资讯动态

Kubeapps 快速上手:Helm 安装、启动 Dashboard 并部署第一个 WordPress 应用

发布时间:2026/10/13 12:21:49 来源:尧图企业网站定制
云原生后端前端【免费下载链接】kubeappsA web-based UI for deploying and managing applications in Kubernetes clusters项目地址https://gitcode.com/gh_mirrors/ku/kubeapps点击查看免费下载Kubeapps 是一个面向 Kubernetes 集群的云原生应用管理平台提供浏览、部署和运维应用全生命周期的 Web 界面。本文基于 Kubeapps 官方入门教程带你完成一次完整的实践用 Helm 安装 Kubeapps、创建演示用访问凭证、通过kubectl port-forward启动 Dashboard并部署、查看和卸载一个 WordPress 示例应用。读完并跟做完本文你将掌握 Kubeapps 的安装方式、API Token 认证原理与 Dashboard 的核心使用流程。前置条件在开始之前请确认你的环境满足以下条件依据 官方教程一个可用的 Kubernetes 集群v1.21以及已安装并配置好、能与集群通信的helmv3.2.0和kubectl命令行工具Kubeapps 已在 AKS、GKE、kind、minikube 和 Docker for Desktop Kubernetes 上测试通过Kubeapps 支持启用了 RBAC 的集群推荐在启用 RBAC 的集群上安装以获得更高安全性。在 GKE 上安装 Kubeapps 需要拥有 Owner 角色或 Container Engine Admin 角色。Step 1安装 Kubeapps推荐通过 Bitnami 官方 Kubeapps chart 安装最新版本。安装命令为kubectl create namespace kubeapps helm install kubeapps --namespace kubeapps oci://registry-1.docker.io/bitnamicharts/kubeapps以上命令会将 Kubeapps 部署到集群的kubeapps命名空间安装过程可能需要几分钟。待 Pod 全部运行后再继续下一步。从仓库中的 chart 结构看Chart.yaml当前仓库维护的 chart 版本为17.1.1一次安装会部署多个协同工作的组件组件职责源码/镜像frontendNGINX 前端入口对外暴露 HTTP 服务templates/frontenddashboardReact 构建的 Web 界面dashboard/srckubeapps-apisgRPC API 服务提供包仓库与应用管理接口cmd/kubeapps-apisapprepository-controller同步 AppRepository 与 Helm 仓库索引cmd/apprepository-controllerasset-syncer将包索引写入 PostgreSQL 并失效缓存cmd/asset-synceroci-catalog提供 OCI 目录如 Docker Hub列表能力cmd/oci-catalogpinniped-proxyPinniped 认证代理cmd/pinniped-proxy其中frontend的 Service 名称由 frontend/service.yaml 中的common.names.fullname模板生成即等于 release 名称kubeapps——这正是后文port-forward svc/kubeapps能直接生效的原因而 Dashboard 的 Service 名称则带-internal-dashboard后缀见 _helpers.tpl 中的kubeapps.dashboard.fullname定义。更详细的安装、配置与升级参数请查阅 chart README。Step 2创建访问 Kubeapps 和 Kubernetes 的演示凭证对于正式面向用户的生产安装应当 配置 OAuth2/OIDC 提供方 来启用安全认证但仅为了快速体验更简单的做法是创建一个 Kubernetes ServiceAccount用它的 API Token 通过 Kubeapps 认证 Kubernetes API Server。注意生产环境中不建议给用户分配cluster-admin角色请参见 访问控制文档 为不同用户配置细粒度访问控制。Linux/macOSkubectl create --namespace default serviceaccount kubeapps-operator kubectl create clusterrolebinding kubeapps-operator --clusterrolecluster-admin --serviceaccountdefault:kubeapps-operator cat EOF | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: kubeapps-operator-token namespace: default annotations: kubernetes.io/service-account.name: kubeapps-operator type: kubernetes.io/service-account-token EOFWindowskubectl create --namespace default serviceaccount kubeapps-operator kubectl create clusterrolebinding kubeapps-operator --clusterrolecluster-admin --serviceaccountdefault:kubeapps-operator apiVersion: v1 kind: Secret metadata: name: kubeapps-operator-token namespace: default annotations: kubernetes.io/service-account.name: kubeapps-operator type: kubernetes.io/service-account-token | kubectl apply -f -创建完成后获取 TokenLinux/macOSkubectl get --namespace default secret kubeapps-operator-token -o go-template{{.data.token | base64decode}}WindowsPowerShell[Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($(kubectl get --namespace default secret kubeapps-operator-token -o jsonpath{.data.token})))WindowsCMD创建名为GetDashToken.cmd的文件内容如下ECHO OFF REM Get the Base64 encoded token kubectl get --namespace default secret kubeapps-operator-token -o jsonpath{.data.token} b64.txt REM Decode The Token DEL token.txt certutil -decode b64.txt token.txt在命令提示符中运行GetDashToken.cmdToken 内容即保存在token.txt中。机制说明上面创建的 Secret 类型为kubernetes.io/service-account-token并通过注解kubernetes.io/service-account.name绑定到kubeapps-operatorServiceAccount——Kubernetes API Server 检测到该 Secret 后会签发一个长期有效的 Bearer Token。之后你在 Dashboard 登录页粘贴的正是这个 TokenDashboard 的登录组件参见 TokenLogin.tsx将其提交给后端Kubeapps 再以该身份调用 Kubernetes API Server因此该凭证的 RBAC 权限决定了你在 Kubeapps 中能看到和操作的范围。Step 3启动 Kubeapps DashboardKubeapps 安装完成后在本地运行以下命令建立安全访问通道kubectl port-forward -n kubeapps svc/kubeapps 8080:80这会启动一个 HTTP 代理将本机 8080 端口转发到集群内的kubeapps前端服务。在浏览器中访问 http://127.0.0.1:8080/ 即可打开 Dashboard 登录页将上一步生成的 Token 粘贴到登录框中完成认证即可进入 Kubeapps Dashboard浏览集群中已部署的应用与可用的应用目录。注意如果是为其他人部署 Kubeapps应使用LoadBalancer/NodePort类型的 Service 或配置 Ingress 代替kubectl port-forward。仓库中的 ingress.yaml 支持ingress.hostname、ingress.extraHosts、TLS 与 cert-manager 注解等配置相关参数见 values.yaml。Step 4部署应用——WordPressDashboard 启动后即可开始向集群部署应用。以部署 WordPress 为例使用Deploy按钮或点击Catalog页面从已配置的任意仓库中的包列表里选择应用。本例假设要部署 WordPress可在搜索框中检索点击Deploy按钮进入 Chart 详情页。Kubeapps 会提示你输入 release 名称和应用配置值表单由 Chart 的valuesYAML驱动可在相邻的 YAML 标签页中查看原始内容点击Deploy按钮开始部署。你可以直接在浏览器中跟踪新部署的状态页面顶部显示状态、应用的access URL以及应用包含的secret页面下方可以看到各个资源以及 Ready Pod 数量将鼠标悬停在status上可以看到各工作负载中 Ready/总 Pod 数。访问 WordPress 站点运行Notes部分给出的命令获取 URL或直接点击页面上显示的 HTTP/HTTPS URL。注意取决于云服务商应用的可访问 URL 可能需要一段时间才能就绪在 URL 分配前 Service 会保持 Pending 状态。如果使用的是 Minikube需要在终端运行minikube tunnel应用才能分配 IP 地址。获取登录凭证查看Notes部分可获取 WordPress 账号登录信息也可以点击wordpress-password旁边的眼睛图标直接查看密码。可选 Step 5卸载/删除 WordPress如果希望卸载 WordPress只需在应用详情页点击Delete按钮Kubeapps 会通过 Helm 卸载该 release 并级联删除相关资源。后续步骤完成本篇快速上手后建议沿着仓库内文档继续深入访问控制为不同用户配置基于 RBAC 的细粒度权限配置 OIDC 提供方用 OAuth2/OIDC 替代演示 Token 实现正式用户认证chart README完整的安装、配置与升级参数说明含values.yaml全量参数管理包仓库添加私有/自定义 Helm 仓库ROADMAP了解 Kubeapps 项目规划。Kubeapps 核心能力概览从公有或私有仓库浏览并部署打包应用通过直观的 UI 自定义部署配置升级、管理和删除集群中已部署的应用通过 API 管理包仓库与应用实现见 cmd/kubeapps-apis。赞分享云原生后端前端【免费下载链接】kubeappsA web-based UI for deploying and managing applications in Kubernetes clusters项目地址https://gitcode.com/gh_mirrors/ku/kubeapps点击查看免费下载相关推荐Kubeapps 快速上手从 Helm 安装到在 Kubernetes 集群中部署首个 WordPress 应用Kubeapps 快速上手从 Helm 安装到在 Kubernetes 集群中部署首个 WordPress 应用 Kubeapps 是运行在 Kubernet云原生后端前端Nuclio 快速上手用 Docker 一键启动 Dashboard 并部署你的第一个 Serverless 函数Nuclio 快速上手用 Docker 一键启动 Dashboard 并部署你的第一个 Serverless 函数 Nuclio 是一个高性能的 Server云原生后端微服务5分钟上手Helm从安装到部署第一个Kubernetes应用5分钟上手Helm从安装到部署第一个Kubernetes应用 你还在手动编写Kubernetes YAML文件吗还在为应用版本管理和回滚烦恼吗本文将带你5云原生容器编排CLI运维创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑