OpenShift 部署
对应的官方文档地址
本文探讨了如何根据 OpenShift 特定功能调整您的 Bitwarden 自托管 Helm Chart 部署。
要求
在继续安装之前,请确保满足以下要求:
已安装 kubectl。
已安装 Helm 3。
您拥有 SSL 证书和密钥,或者可以通过证书提供商创建 SSL 证书和密钥。
您拥有 SMTP 服务器或可以访问云 SMTP 提供商。
一个支持 ReadWriteMany 的存储类。
您有一个从 https://bitwarden.com/host 获取到的安装 ID 和密钥。
无根模式要求
Bitwarden 会在启动时检测您的环境是否限制了用户容器的运行身份,并在检测到限制时自动以无根模式启动部署。要成功以无根模式部署,需满足以下两个选项之一:
部署外部 MSSQL 数据库,而不是 Helm 图表中默认包含的 SQL 容器。
虽然 Microsoft 要求 SQL 容器必须以 root 身份运行,但在执行应用程序代码之前,容器启动将逐步降级至非 root 用户。
OpenShift 路由
这个示例将演示 OpenShift 路由而不是默认的入口控制器。
禁用默认入口
1、访问 my-values.yaml 。
2、通过指定 ingress.enabled: false 禁用默认的入口
剩下的入口值不需要做修改,因为设置 ingress.enabled: false 后将提示图表忽略它们。
添加路由的 raw manifest
在 my-values.yaml 中找到 rawManifests 部分。这部分是指定 OpenShift Route 清单的地方。
可以 ⬇️下载一个使用 OpenShift 路由的 rawManifests 部分的示例文件。
在上面提供的示例中, destinationCACertificate 被设置为空字符串。这将使用 OpenShift 中的默认证书设置。也可以在此处指定证书名称,或者按照该指南使用 Let's Encrypt。如果这样做,您将需要为每个路由的注释中添加 kubernetes.io/tls-acme: "true" 。
共享存储类
大多数 OpenShift 部署都需要一个共享的存储类。必须启用 ReadWriteMany 存储。这可以通过您选择的方法来完成,其中一个选项是使用 NFS Subdir 外部预配程序。
机密
可以使用 oc 命令来部署机密。有效的安装 ID 和密钥可以从 bitwarden.com/host/ 获取。有关更多信息,请参阅我的安装 ID 和安装密钥是用来干什么的?
以下命令是一个示例:
此示例将命令记录到您的 shell 历史记录中。可以考虑使用其他方法来安全地设置机密。
最后更新于