使用 Helm 部署
先阅读《写在前面》
在继续操作之前,我们推荐您先阅读《写在前面》,这可以快速帮助你了解 Halo。
先决条件
- 拥有可用的 1.19 或更高版本的 Kubernetes 集群
- 安装有 Helm 客户端 3.2 或更高的版本
- 指定 StorageClass 自动创建存储卷时需要底层存储驱动支持
- 用户对 Kubernetes 及 Helm 相关概念及如何使用有基本了解
快速部署
通过以下命令可以使用默认安装参数快速部署 Halo。默认参数下该 Chart 会自动部署 PostgreSQL 数据库给 Halo 使用,同时 Halo 工作目录及 PostgreSQL 数据目录通过指定 StorageClass 的方式自动创建存储卷进行持久化。
命令执行成功后会返回类似下文中的提示,通过提示中的命令可以获取到 NodePort 方式的 Halo 访问地址及默认的控制台管理员用户名和密码。
默认 PostgreSQL 参数
- 使用 Halo Helm Chart 仓库中 values.yaml 文件中的默认参数进行安装;
- 关于 PostgreSQL 数据库的更多参数说明,请参考 Bitnami PostgreSQL Chart,在原有参数格式上增加
postgresql.前缀即可。
卸载
使用命令 helm uninstall halo 可卸载已安装的 Halo 应用,其中 halo 为安装时指定的 Halo 应用名称。
卸载前备份数据
卸载应用前请确认数据库及 Halo 工作空间中的文件已进行备份或不再需要。
使用 MySQL 数据库
当用户希望使用 MySQL 数据库而非默认的 PostgreSQL 数据库时,可以参考以下命令进行部署。
自动安装 MySQL 参数
mysql.enabled=true:自动安装 MySQL 数据库;postgresql.enabled=false:不自动安装 PostgreSQL 数据库;- 关于 mysql 的更多参数说明,请参考 Bitnami MySQL Chart,在原有参数格式上增加
mysql.前缀即可。
使用已有的数据库
当用户希望使用已有的数据库而非自动安装新数据库时,可以参考以下命令进行部署。
外部数据库参数
mysql.enabled=false:不自动安装 MySQL 数据库;postgresql.enabled=false:不自动安装 PostgreSQL 数据库;externalDatabase.platform=mysql:外部数据库类型,例如postgresql、mysql;externalDatabase.host=mysql:外部数据库连接地址;externalDatabase.port=3306:外部数据库连接端口;externalDatabase.user=halo:外部数据库用户名;externalDatabase.password=0P0gJrCyzz:外部数据库密码;externalDatabase.database=halo:外部数据库库名;
创建 Ingress
当用户希望通过 Ingress 将 Halo 应用暴露到 Kubernetes 集群外进行访问时,可以参考以下安装参数。
对于已有的 Halo 应用,可以通过如下命令更新应用参数,为 Halo 应用创建 Ingress。
其他参数
完整参数列表请参考 Halo 项目的 Helm Chart 仓库。