Déploiement OpenShift
Cet article se penche sur la manière dont vous pourriez modifier votre déploiement de
Routes OpenShift
Cet exemple démontrera les
Désactiver l'ingress par défaut
Accédez à
my-values.yaml.Désactivez l'ingress par défaut en spécifiant
ingress.enabled: false:
Bashgeneral:
domain: "replaceme.com"
ingress:
enabled: falseLes valeurs d'ingress restantes ne nécessitent pas de modification, car la définition ingress.enabled: false incitera le graphique à les ignorer.
Ajouter un manifeste brut pour les itinéraires
Localisez la section rawManifests dans my-values.yaml. Cette section est où les manifestes de Route OpenShift seront assignés.
Un exemple de fichier pour une section rawManifests qui utilise OpenShift Routes peut être téléchargé saisir: lien hypertexte d'actif id: 330r6BrWsFLL9FLZbPSLIc.
note
Dans l'exemple fourni ci-dessus, destinationCACertificate a été défini comme une chaîne de caractères vide. Cela utilisera la configuration de certificat par défaut dans OpenShift. Alternativement, spécifiez ici un nom de certificat, ou vous pouvez utiliser Let's Encrypt en suivant kubernetes.io/tls-acme: "true" aux annotations pour chaque route.
Classe de stockage partagé
Une classe de stockage partagé est requise pour la plupart des déploiements OpenShift. Le stockage ReadWriteMany doit être activé. Cela peut être fait par la méthode de votre choix, une option est d'utiliser le
Secrets
La commande oc peut être utilisée pour déployer des secrets. Un identifiant d'installation valide et une clé peuvent être récupérés sur
La commande suivante est un exemple :
warning
Cet exemple enregistrera des commandes dans l'historique de votre shell. D'autres méthodes peuvent être envisagées pour définir un secret de manière sécurisée dans les paramètres.
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 serverCréez un compte de service
Un compte de service dans OpenShift est nécessaire car chaque conteneur doit exécuter des commandes élevées au démarrage. Ces commandes sont bloquées par les SCC restreints d'OpenShift. Nous devons créer un compte de service et l'attribuer à la SCC anyuid.
Exécutez les commandes suivantes avec l'outil de ligne de commande
oc:Bashoc create sa bitwarden-sa oc adm policy add-scc-to-user anyuid -z bitwarden-saEnsuite, mettez à jour
my-values.yamlpour utiliser le nouveau compte de service. Définissez les clés suivantes sur le nom du compte de servicebitwarden-saqui a été créé à l'étape précédente :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.podServiceAccountVoici un exemple dans le fichier
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
Vous pouvez créer votre propre SCC pour affiner la sécurité de ces pods.