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.
OpenShift-rutter
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: falseDe å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.
Klass för delad förvaring
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.
Hemligheter
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 serverSkapa ett tjänstekonto
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-saUppdatera sedan
my-values.yamlför att använda det nya tjänstekontot. Ställ in följande nycklar till namnet på tjänstekontotbitwarden-sasom 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.podServiceAccountHä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-sanote
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.