Installation sur Kubernetes#
Vous pouvez installer HCL™ Accelerate sur un cluster Kubernetes.
Vous installez le produit en exécutant le script d'installation qui copie la charte Helm sur votre environnement et qui définit les paramètres d'installation. Lorsque le script est terminé, vous exécutez les commandes Helm Kubernetes qui extraient les images du produit d'un référentiel GitHub et les placent dans le cluster défini dans la charte Helm.
En outre, vous connectez votre installation à une base de données MongoDB et vous configurez un certificat SSL. Si vous utilisez Minikube, vous devez également configurer une entrée.
Si vous devez modifier les paramètres par défaut du projet, les options d'installation sont stockées dans le fichier \<installation>\values.yaml
. D'autres paramètres sont conservés dans les fichiers yaml du répertoire \<installation>\templates
. Par exemple, pour configurer des pods Argo éphémères, vous pouvez modifier le paramètre du programme d'exécution dans le fichier .../templates/workflow-controller-configmap.yaml
.
Remarque : Pour éviter les problèmes de droits liés au contrôle de compte utilisateur (UAC) Windows, utilisez PowerShell en tant qu'administrateur.
-
Téléchargez le fichier d'installation correspondant à votre environnement.
Remarque : Pour les installations macOS et Linux, définissez les droits appropriés avant d'exécuter le fichier :
sudo chmod +x
.- Linux : https://hcl-velocity-binaries.s3.amazonaws.com/accelerate-hcl-install-latest-linux
- Windows : https://hcl-velocity-binaries.s3.amazonaws.com/accelerate-hcl-install-latest-win.exe
- Mac OS : https://hcl-velocity-binaries.s3.amazonaws.com/accelerate-hcl-install-latest-macos
- Exécutez le fichier exécutable téléchargé.
-
Exécutez le script d'installation et répondez aux invites, comme expliqué dans la procédure suivante.
Lorsque le script démarre, vous êtes invité à accepter la licence. Vous pouvez explicitement accepter la licence sans l'afficher, en joignant le paramètre suivante à la commande :
./<accelerate-installation-file\> **--license=accept**
-
Lorsque l'invite Veuillez saisir votre clé d'accès HCL Accelerate s'affiche, entrez la clé d'accès de la version de votre système d'exploitation.
Si vous avez déjà installé une version de SE, la clé déjà configurée est la valeur par défaut.
Remarque : Assurez-vous d'avoir entré la clé correspondant à la version adéquate.
-
Lorsque l'invite Entrez votre clé de chiffrement ou laissez vide pour utiliser la valeur par défaut. La clé doit comprendre au moins 8 caractères s'affiche, entrez votre clé de chiffrement ou laissez vide pour utiliser la clé de chiffrement par défaut.
Remarque : La clé de chiffrement doit comprendre au moins 8 caractères. Enregistrez la clé de chiffrement afin de l'utiliser pour d'autres mises à niveau.
-
Lorsque l'invite Choisissez la plateforme s'affiche, sélectionnez
Kubernetes
. -
Lorsque l'invite Entrez l'emplacement où les fichiers HCL Accelerate vont être installés s'affiche, entrez l'emplacement où vous souhaitez installer les fichiers de produit.
Les fichiers sont copiés vers le répertoire spécifié dans un sous-répertoire intitulé
product_version_number
. -
Lorsque l'invite Veuillez saisir le nom d'hôte où vous allez exécuter HCL Accelerate s'affiche, saisissez le nom d'hôte où les utilisateurs peuvent accéder à l'interface Web.
Le nom d'hôte doit se rapporter à un nom sur votre serveur DNS ou dans le fichier hosts du serveur. Sous Linux, l'emplacement du fichier est etc/hosts, et C:\Windows\System32\drivers\etc\hosts sous Windows.
Remarque : Vous ne pouvez pas utiliser localhost comme nom d'hôte. Si vous n'avez aucun nom d'hôte défini, vous pouvez utiliser
127.0.0.1.nip.io
à des fins de test. Cet emplacement va effectuer une redirection vers127.0.0.1
, qui est généralement utilisé par localhost. -
Pour appliquer des limites aux ressources, définissez les valeurs des indicateurs de ressource pour tous les conteneurs et utilisez l'indicateur
customConfigFile
pour définir le chemin du fichier JSON qui contient les valeurs spécifiées pour les services individuels.Voici un exemple de commande d'installation utilisant les nouveaux indicateurs :
/velocity-ibm-install-1-5-5-macos --resourcesRequestsCpu 60m --customConfigFile resources.json
Vous pouvez utiliser les indicateurs suivants dans la commande :
resourceLimitsMemory
resourceLimitscpu
resourceRequestMemory
resourceRequestcpu
customConfigFile
Remarque : Voici un exemple de coderesources.json
.
{ "resources": { "limits": { "memory": { "default": "1Gi", "application-api": "3Gi" }, "cpu": { "application-api": "2" }, }, "requests": { "memory": { "release-events-ui": "256Mi" }, "cpu": { "multi-app-pipeline-api": "45m", "release-events-ui": "55m" } } } }
La charte Helm est copiée vers
/my\_installation/version\_number/velocity-version.tgz
. Les propriétés d'installation sont enregistrées dans un fichier situé sur/home/ucv/settings.json
. -
-
Si vous n'avez pas installé de base de données MongoDB, installez-en une maintenant. Suivez les instructions fournies dans le référentiel GitHub de MongoDB.
Vous trouverez ci-dessous un exemple de commande pour l'installation de la version 3.6 de MongoDB :
helm install \ --name velocity-mongo --set persistence.enabled=false, mongodbRootPassword=password --set image.tag=3.6 bitnami/mongodb
Remarque : Pour installer la version 4.0 de MongoDB remplacez la ligne correspondante par
--set image.tag=4.0
Remarque : Pour installer la version 4.2 de MongoDB remplacez la ligne correspondante par
--set image.tag=4.2
Remarque : Si Helm ne parvient pas à trouver la charte, essayez d'exécuter la commande suivante :
helm repo add bitnami https://charts.bitnami.com/bitnami
. Si votre organisation utilise un autre référentiel, remplacez-le parbitnami/mongodb
.Remarque : Si vous utilisez Helm 3.0 ou une version ultérieure, modifiez la propriété du nom en
velocity-mongo
, comme dans l'exemple suivant :helm install velocity-mongo --set persistence.enabled=false, mongodbRootPassword=password --set image.tag=3.6 bitnami/mongodb
Pour vérifier l'installation, vous pouvez utiliser les commandes suivantes :
helm list
helm status velocity-mongo
Pour répertorier tous les pods de l'espace de nom, utilisez la commande suivante :
kubectl get pods
Après l'installation de MongoDB, utilisez la commande ci-dessous pour obtenir le mot de passe chiffré
kubectl get secrets velocity-mongo-mongodb -o yaml
Recherchez le champ
mongodb-root-password:
dans le mot de passe chiffré.Utilisez la commande
echo -n "enter the mongodb-root-password" | base64 --decode
pour déchiffrer le mot de passe chiffré.Utilisez le mot de passe déchiffré pour connecter l'application.
-
Créez une clé et un certificat SSL, puis stockez-les dans le fichier velocity-secret.yml.
-
Créez le fichier velocity-secret.yml.
Collez le fragment de code suivant dans votre fichier :
``` apiVersion: v1 data: tls.crt:
tls.key: kind: Secret metadata: name: velocitytls namespace: default type: Opaque ```
Remarque : Assurez-vous que le code ne contient pas de retours à la ligne.
-
Générez une clé publique et un certificat privé.
Vous pouvez utiliser OpenSSL, qui est installé sur la plupart des distributions Linux, pour générer le certificat et la clé. Sous Windows, Git est la manière la plus simple d'obtenir OpenSSL. Git installe une copie dans son répertoire Program Files\Git\usr\bin. L'exemple suivant crée un certificat nommé certificate.pem :
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
-
Chiffrez le certificat.
Le fragment de code suivant illustre comment chiffrer le certificat sous Linux :
cat certificate.pem | base64
-
Copiez le certificat chiffré, puis collez-le dans le champ tls.crt dans le fichier velocity-secret.yml.
-
Chiffrez la clé privée et collez-la dans le champ
tls.key
dans le fichier velocity-secret.yml. -
Appliquez le fichier velocity-secret.yml à votre installation.
Vous pouvez utiliser la commande kubectl pour appliquer votre secret :
kubectl apply -f velocity-secret.yml
Si le processus aboutit, un message similaire à celui-ci s'affiche :
secret/velocitytls created
-
-
Activez votre entrée et veillez à ce qu'elle désigne votre hôte en procédant comme suit :
-
Pour une installation Kubernetes complète, vous pouvez utiliser les deux commandes suivantes :
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install velocity-ingress bitnami/nginx-ingress-controller
-
Si vous utilisez Minikube, utilisez plutôt la commande suivante pour activer l'entrée :
minikube addons enable ingress
.
-
-
Remarque : Si vous installez HCL Accelerate dans un cluster Amazon Elastic Kubernetes Service, modifiez la version de kube de
kubeVersion:'>=1.11.0'
enkubeVersion:'>=1.11.0-r0'
dans le fichierchart.yml
.Déterminez les propriétés de configuration pour la commande helm install.
Le fichier
values.yaml
est situé dans/my\_installation/version\_number/velocity-version.tgz
. Le fragment de code suivant affiche une commande standard :helm install \ --name uc-velocity \ ./velocity-<version\>-helm.tgz \ --set access.key=my\_access\_key \ --set license=accept \ --set url.domain=my\_hostname \ --set mongo.url=mongodb://mongo:mongo@velocity-mongo-mongodb:27017 --set license=accept
Si vous utilisez Helm 3.0 ou une version ultérieure, supprimez la propriété du nom, comme dans l'exemple suivant :
helm install uc-velocity \ ./velocity-<version\>-helm.tgz \ --set access.key=my\_access\_key \ --set license=accept \ --set url.domain=my\_hostname \ --set mongo.url=mongodb://mongo:mongo@velocity-mongo-mongodb:27017 --set license=accept
Les propriétés dépendent de votre environnement. Les propriétés suivantes sont requises. Les propriétés facultatives sont communiquées plus tard.
-
access.key
Clé d'accès au produit obtenue précédemment.
-
url.domain
Nom d'hôte de votre nœud maître ou nom d'hôte Ingress.
-
mongo.url
URL de la base de données MongoDB. Spécifiez les paramètres suivants.
-
username
ID utilisateur utilisé pour l'authentification auprès de la base de données MongoDB. Par exemple, mongo.
-
mot_de_passe
Mot de passe associé pour l'authentification auprès de la base de données MongoDB. Par exemple, mongo.
-
authSource
Si vous vous connectez à une base de données MongoDB authentifiée, vous pouvez utiliser authSource pour spécifier la base de données dans laquelle les utilisateurs authentifiés sont définis. Par exemple, si l'utilisateur admin est défini dans la base de données admin, vous pouvez utiliser mongodb://root:password@velocity-mongo-mongodb?authSource=admin.
-
port
Numéro de port de la base de données MongoDB. Utilisez la valeur indiquée dans l'exemple, soit 27017.
-
service_name
URL de la base de données MongoDB ou nom du service MongoDB en cas d'exécution dans le cluster Kubernetes. Par exemple, velocity-mongo-mongodb.
-
database_name
Nom de la base de données qui doit être utilisée par HCL™ Accelerate. Par exemple, velocity.
Remarque : Si vous avez utilisé la commande d'installation à l'étape précédente pour installer MongoDB, utilisez les valeurs suivantes pour la propriété mongo.url.
--set mongo.url=mongodb://mongo:mongo@velocity-mongo-mongodb:27017
Si vous utilisez la base de données MongoDB Bitnami par défaut, assurez-vous d'accorder à l'utilisateur MongoDB des droits d'écriture complets.
-
-
name
L'espace de nom où le tableau Helm est appliqué, et le nom du tableau Helm. Obsolète pour Helm 3.0 ou version ultérieure.
--name uc-velocity ./velocity-<version\>-helm.tgz
-
-
Si vous devez appliquer des limites aux ressources, modifiez le paramètre du programme d'exécution dans le fichier
velocity/templates/workflow-controller-configmap.yaml
.Par exemple, pour limiter les pods Argo éphémères, vous pouvez utiliser les valeurs de paramètre suivantes :
``` ... data: config: | containerRuntimeExecutor: kubelet namespace: velocity executor: resources: limits: cpu: 1 memory: 2Gi requests: cpu: 50m memory: 512Mi
```
-
Exécutez la commande
helm install
pour installer les images HCL Accelerate dans votre cluster Kubernetes.Après avoir exécuté la commande, Kubernetes affiche des informations de statut relatives à l'installation.
Reportez-vous à la section REMARQUES affichée, relative à l'emplacement du tableau de bord de l'administrateur Minikube. Vous gérez l'installation de Minikube sur le tableau de bord Admin.
Lorsque tous les conteneurs ont le statut running
, l'installation est terminée et vous pouvez accéder à HCL Accelerate via l'URL que vous avez indiquée dans la charte Helm. Vous pouvez actualiser l'affichage du statut à l'aide de la commande kubectl suivante : kubectl get pods
. Le nom d'utilisateur Admin par défaut est admin, et le mot de passe par défaut est admin.
Les paramètres de la charte Helm suivants sont facultatifs :
-
apitoken
Une chaîne ou un identificateur global unique aléatoires utilisés pour vérifier l'authenticité des appels et des données d'API.
-
Licence
Automatise l'acceptation de licence. Utilisez la valeur accept pour accepter la licence.
-
ciphertoken
Une valeur hexadécimale de 32 octets utilisée pour vérifier l'authenticité des appels et des données d'API.
-
hamackey
Une valeur hexadécimale de 32 octets utilisée pour vérifier l'authenticité des appels et des données d'API.
-
Loglevel
Le niveau de consignation. Valeurs pour cette propriété : tous, débogage, informations, avertissement, erreur, erreur irrécupérable et désactivé. La valeur par défaut est tous.
Sujet parent : Installation