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.

  1. 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.

    Accédez au centre de téléchargement FlexNet et sélectionnez le fichier correspondant à votre environnement. Vous pouvez également télécharger directement le fichier d'installation depuis les URL suivantes :

  2. 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**

    1. 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.

    2. 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.

    3. Lorsque l'invite Choisissez la plateforme s'affiche, sélectionnez Kubernetes.

    4. 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.

    5. 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 vers 127.0.0.1, qui est généralement utilisé par localhost.

    6. 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 code resources.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.

  3. 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 par bitnami/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.

  4. Créez une clé et un certificat SSL, puis stockez-les dans le fichier velocity-secret.yml.

    1. 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.

    2. 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

    3. Chiffrez le certificat.

      Le fragment de code suivant illustre comment chiffrer le certificat sous Linux :

      cat certificate.pem | base64

    4. Copiez le certificat chiffré, puis collez-le dans le champ tls.crt dans le fichier velocity-secret.yml.

    5. Chiffrez la clé privée et collez-la dans le champ tls.key dans le fichier velocity-secret.yml.

    6. 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

  5. Activez votre entrée et veillez à ce qu'elle désigne votre hôte en procédant comme suit :

    1. 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

    2. Si vous utilisez Minikube, utilisez plutôt la commande suivante pour activer l'entrée : minikube addons enable ingress.

  6. Remarque : Si vous installez HCL Accelerate dans un cluster Amazon Elastic Kubernetes Service, modifiez la version de kube de kubeVersion:'>=1.11.0' en kubeVersion:'>=1.11.0-r0' dans le fichier chart.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

  7. 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

    ```

  8. 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 :

Sujet parent : Installation