OpenShift-distribution
Den här artikeln dyker in i hur du kan ändra din Bitwarden självvärderade Helm Chart-distribution baserat på OpenShifts specifika erbjudanden.
Det här exemplet kommer att visa OpenShift-rutter istället för standardingångskontrollerna.
Inaktivera standardinträde
Öppna
my-values.yaml
.Inaktivera standardingången genom att ange
ingress.enabled: false
:
Bashgeneral:
domain: "replaceme.com"
ingress:
enabled: false
De återstående ingångsvärdena kräver ingen modifiering, eftersom inställningen ingress.enabled: false
kommer att uppmana diagrammet att ignorera dem.
Lägg till råmanifest för rutter
Leta upp avsnittet rawManifests
i my-values.yaml
. Det här avsnittet är där OpenShift Route-manifesterna kommer att tilldelas.
En exempelfil för en rawManifests-sektion
som använder OpenShift Routes kan laddas ner .
note
In the example provided above, destinationCACertificate
has been set to an empty string. This will use the default certificate setup in OpenShift. Alternatively, specify a certificate name here, or you can use Let's Encrypt by following this guide. If you do, you will be required to add kubernetes.io/tls-acme: "true"
to the annotations for each route.
En delad lagringsklass krävs för de flesta OpenShift-distributioner. ReadWriteMany
lagring måste vara aktiverad. Detta kan göras med den metod du väljer, ett alternativ är att använda NFS Subdir External Provisioner.
Kommandot oc
kan användas för att distribuera hemligheter. Ett giltigt installations-ID och nyckel kan hämtas från bitwarden.com/host/. För mer information, se Vad används mitt installations-id och installationsnyckel till?
Följande kommando är ett exempel:
warning
This example will record commands to your shell history. Other methods may be considered to securely set a secret.
Bashoc 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
Ett servicekonto i OpenShift krävs eftersom varje container måste köra förhöjda kommandon vid uppstart. Dessa kommandon blockeras av OpenShifts begränsade SCC:er. Vi måste skapa ett servicekonto och tilldela det till anyuid
SCC.
Kör följande kommandon med kommandoradsverktyget
oc
:Bashoc create sa bitwarden-sa oc adm policy add-scc-to-user anyuid -z bitwarden-sa
Uppdatera sedan
my-values.yaml
för att använda det nya tjänstekontot. Ställ in följande nycklar till namnet på tjänstekontotbitwarden-sa
som skapades i föregående steg:Bashcomponent.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
Här är ett exempel i filen
my-values.yaml
:
Bashcomponent:
# The Admin component
admin:
# Additional deployment labels
labels: {}
# Image name, tag, and pull policy
image:
name: ghcr.io/bitwarden/admin
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "128Mi"
cpu: "100m"
securityContext:
podServiceAccount: bitwarden-sa
note
You can create your own SCC to fine-tune the security of these pods. Managing SCCs in OpenShift describes the out-of-the-box SSCs and how to create your own if desired.