分层解决方案:Helm 图表与 Kubernetes
您必须拥有 ABP Business 或更高级别的许可证才能使用 Kubernetes 功能。
本文档解释如何使用 Helm 图表将分层解决方案部署到 Kubernetes 集群。分层解决方案模板为每个应用程序和基础设施(Redis、RabbitMQ 等)都包含了 Helm 图表。您可以使用这些图表将解决方案部署到 Kubernetes 集群中。您可以在解决方案的 etc/helm 文件夹中查看这些 Helm 图表。
文件夹结构
Helm 图表的文件夹结构如下:
根据您在创建解决方案时选择的模板选项,您可能会拥有不同的图表。
- bookstore: 适用于
Bookstore解决方案的 Helm 图表。文件夹名称应与您的项目名称相同。- charts: 解决方案的子图表。每个应用程序和基础设施都有其自己的图表。
- templates: 解决方案的模板。它包括入口主机 URL。
- Chart.yaml: 图表元数据文件。
- values.bookstore-local.yaml: 用于 Kubernetes 配置文件 的值覆盖文件。其命名应遵循您的项目名称规范。
- values.yaml: 图表的默认值文件。
- build-all-images.ps1: 用于构建解决方案所有 Docker 镜像的 PowerShell 脚本。
- build-image.ps1: 用于构建指定项目的 Docker 镜像的 PowerShell 脚本。
- create-tls-secrets.ps1: 用于为入口控制器创建本地 TLS 密钥的 PowerShell 脚本。当您尝试 拦截服务 并在本地运行时,这一点很重要。
- install.ps1: 用于将解决方案安装到 Kubernetes 集群的 PowerShell 脚本。您可以覆盖默认的参数值。
- uninstall.ps1: 用于从 Kubernetes 集群卸载解决方案的 PowerShell 脚本。您可以覆盖默认的参数值。
安装 Helm 图表
您可以使用 install.ps1 脚本将解决方案安装到 Kubernetes 集群。该脚本包含以下参数:
- ChartName: 默认值为项目名称。您可以创建不同的图表并指定图表名称。在 ABP Studio 的 Kubernetes 主图表 功能中,安装图表 命令会自动设置图表名称。
- Namespace: 用于安装 Kubernetes 资源的命名空间。默认值是带有
-local后缀的项目名称。 - ReleaseName: Helm 图表的发布名称。默认值是带有
-local后缀的项目名称。 - DotnetEnvironment: 运行应用程序的环境。默认值为
Staging。 - User: 负责安装 Kubernetes 资源的用户。如果您在 指定用户 中配置了用户名,应用程序将自动设置。
在运行脚本之前,您需要构建解决方案的 Docker 镜像。您可以使用 build-all-images.ps1 脚本来构建解决方案的所有 Docker 镜像。之后,请确保您拥有用于入口控制器的 Kubernetes TLS 密钥。在创建解决方案时会自动创建它;但是,如果您从存储库克隆解决方案,则需要手动创建。您可以使用 create-tls-secrets.ps1 脚本来创建 TLS 密钥。然后,您可以运行 install.ps1 脚本将解决方案安装到 Kubernetes 集群。
卸载 Helm 图表
您可以使用 uninstall.ps1 脚本从 Kubernetes 集群卸载解决方案。该脚本包含以下参数:
- Namespace: 用于卸载 Helm 图表的命名空间。默认值是带有
-local后缀的项目名称。 - ReleaseName: Helm 图表的发布名称。默认值是带有
-local后缀的项目名称。 - User: 负责卸载 Kubernetes 资源的用户。如果您在 指定用户 中配置了用户名,应用程序将自动设置。
您可以运行 uninstall.ps1 脚本从 Kubernetes 集群卸载解决方案。
./uninstall.ps1
此外,在 ABP Studio 的 Kubernetes 功能中,您可以更轻松地执行相同的操作。您可以使用“安装图表”和“卸载图表”命令来安装和卸载解决方案到 Kubernetes 集群。同时,使用“构建 Docker 镜像”命令来构建解决方案的 Docker 镜像。
抠丁客




