OpenShift 部署
对应的官方文档地址
本文探讨了如何根据 OpenShift 特定功能调整您的 Bitwarden 自托管 Helm Chart 部署。
要求
在继续安装之前,请确保满足以下要求:
已安装 kubectl。
已安装 Helm 3。
您拥有 SSL 证书和密钥,或者可以通过证书提供商创建 SSL 证书和密钥。
您拥有 SMTP 服务器或可以访问云 SMTP 提供商。
一个支持 ReadWriteMany 的存储类。
您有一个从 https://bitwarden.com/host 获取到的安装 ID 和密钥。
无根模式要求
Bitwarden 会在启动时检测您的环境是否限制了用户容器的运行身份,并在检测到限制时自动以无根模式启动部署。要成功以无根模式部署,需满足以下两个选项之一:
部署外部 MSSQL 数据库,而不是 Helm 图表中默认包含的 SQL 容器。
使用服务账户、pod 安全上下文或其他方法为包含的 SQL 容器分配高级权限。
OpenShift 路由
这个示例将演示 OpenShift 路由而不是默认的入口控制器。
禁用默认入口
1、访问 my-values.yaml 。
2、通过指定 ingress.enabled: false 禁用默认的入口
general:
domain: "replaceme.com"
ingress:
enabled: false剩下的入口值不需要做修改,因为设置 ingress.enabled: false 后将提示图表忽略它们。
添加路由的 raw manifest
在 my-values.yaml 中找到 rawManifests 部分。这部分是指定 OpenShift Route 清单的地方。
可以 ⬇️下载一个使用 OpenShift 路由的 rawManifests 部分的示例文件。
共享存储类
大多数 OpenShift 部署都需要一个共享的存储类。必须启用 ReadWriteMany 存储。这可以通过您选择的方法来完成,其中一个选项是使用 NFS Subdir 外部预配程序。
机密
可以使用 oc 命令来部署机密。有效的安装 ID 和密钥可以从 bitwarden.com/host/ 获取。有关更多信息,请参阅我的安装 ID 和安装密钥是用来干什么的?
以下命令是一个示例:
此示例将命令记录到您的 shell 历史记录中。可以考虑使用其他方法来安全地设置机密。
oc create secret generic custom-secret -n bitwarden \
--from-literal=globalSettings__installation__id="REPLACE" \
--from-literal=globalSettings__installation__key="REPLACE" \
--from-literal=globalSettings__mail__smtp__username="REPLACE" \
--from-literal=globalSettings__mail__smtp__password="REPLACE" \
--from-literal=globalSettings__yubico__clientId="REPLACE" \
--from-literal=globalSettings__yubico__key="REPLACE" \
--from-literal=globalSettings__hibpApiKey="REPLACE" \
--from-literal=SA_PASSWORD="REPLACE" # If using SQL pod
# --from-literal=globalSettings__sqlServer__connectionString="REPLACE" # If using your own SQL server最后更新于