OpenShift 部署
对应的官方文档地址
本文探讨了如何根据 OpenShift 特定功能调整您的 Bitwarden 自托管 Helm Chart 部署。
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
创建服务账户
OpenShift 中需要一个服务账户,因为每个容器都需要在启动时运行提升的命令。这些命令被 OpenShift 的受限 SCC 所阻止。我们需要创建一个服务账户并将其分配给 anyuid
SCC。
1、请使用 oc
命令行工具运行以下命令:
oc create sa bitwarden-sa
oc adm policy add-scc-to-user anyuid -z bitwarden-sa
2、接下来,更新 my-values.yaml
以使用新的服务账户。将以下键设置为上一步创建的服务账户 bitwarden-sa
的名称:
component.admin.podServiceAccount
component.api.podServiceAccount
component.attachments.podServiceAccount
component.events.podServiceAccount
component.icons.podServiceAccount
component.identity.podServiceAccount
component.notifications.podServiceAccount
component.scim.podServiceAccount
component.sso.podServiceAccount
component.web.podServiceAccount
database.podServiceAccount
这是在 my-values.yaml
文件中的一个例子:
component:
# The Admin component
admin:
# Additional deployment labels
labels: {}
# Image name, tag, and pull policy
image:
name: bitwarden/admin
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "128Mi"
cpu: "100m"
securityContext:
podServiceAccount: bitwarden-sa
最后更新于