Installation sur Kubernetes#
Vous pouvez installer IBM™ UrbanCode Velocity sur un cluster Kubernetes.
L'ID que vous utilisez pour installer le produit doit être capable d'apporter des modifications à l'environnement hôte. Les outils requis par tous les scénarios d'installation comprennent les éléments suivants :
-
Docker installé sur le système hôte.
Remarque : Si vous utilisez Docker pour Windows, assurez-vous qu'il utilise des conteneurs de type Linux. IBM UrbanCode Velocity ne prend pas en charge les conteneurs de type Windows.
-
Connexion Internet. Lors de l'installation, les fichiers et les images de conteneur sont extraits des emplacements distants. Si vous n'êtes pas en mesure d'accéder à Internet au cours de l'installation, vous pouvez télécharger les fichiers au préalable et effectuer l'installation hors ligne. IBM UrbanCode Velocity est compatible avec les navigateurs suivants : Chrome, Firefox et Edge.
Remarque : Les fichiers d'installation utilisés pour l'installation en ligne sont différents de ceux utilisés pour l'installation connectée à Internet. Veillez à télécharger le fichier adéquat en fonction de votre environnement d'installation.
En plus des exigences relatives à tous les scénarios d'installation, les éléments suivants sont requis pour une installation Kubernetes ou Minikube :
- Kubernetes 1.4+ avec API bêta activés
- Si vous souhaitez utiliser Minikube, il doit être installé sur un hyperviseur adapté à votre système d'exploitation. Sous Linux et Windows, vous pourriez utiliser respectivement Oracle Virtual Box et Hyper-V.
- La CLI utilisée pour Minkube et Kubernetes, Kubectl, installée et configurée.
- Helm version 2.6.0 ou ultérieure Helm est le gestionnaire de packages Kubernetes. Helm utilise charts pour gérer les ressources Kubernetes, comme celles qui comprennent UrbanCode Velocity.
- La base de données MongoDB installée avec un volume persistant. Une version 3.4 ou ultérieure est requise. Les instructions quant à l'installation de MongoDB sont fournies ci-dessous.
- Pour Minikube, ajoutez l'adresse IP de Minikube à votre fichier hôte et affectez-lui un nom d'hôte. Kubernetes exige un nom d'hôte, plutôt qu'une simple adresse IP. Sous Linux, l'emplacement du fichier est etc/hosts, et C:\Windows\System32\drivers\etc\hosts sous Windows.
- Si vous optez pour l'installation hors ligne, vous avez besoin d'un espace libre de 4 Go dans votre répertoire
/tmp
ou\temp
.
Obtenez une clé. La clé vous permet de terminer l'installation. Rendez-vous sur le portail Web UrbanCode Velocity afin d'obtenir votre clé. Après avoir rempli le formulaire, vous pouvez copier la clé d'accès. Stockez la clé à un emplacement facilement accessible, car vous allez l'utiliser lors de l'installation.
Remarque : Veillez à sélectionner une clé adaptée à la version du produit que vous souhaitez installer. Les clés pour la Standard Edition ne fonctionnent pas avec la Community Edition, et vice versa.
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.
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/velocity-se-hcl-install-latest-linux
- Windows : https://hcl-velocity-binaries.s3.amazonaws.com/velocity-se-hcl-install-latest-win.exe
- Mac OS : https://hcl-velocity-binaries.s3.amazonaws.com/velocity-se-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 :
./<velocity-installation-file\> **--license=accept**
-
Lorsque l'invite Veuillez saisir votre clé d'accès Velocity s'affiche, entrez votre clé d'accès la version de SE.
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 Choisissez la plateforme s'affiche, sélectionnez
Kubernetes
. -
Lorsque l'invite Entrez l'emplacement où les fichiers Velocity vont être installés s'affiche, entrez l'emplacement où vous souhaitez installer les fichiers du 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 Velocity 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.
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 MongoDB :
helm install \ --name velocity-mongo stable/mongodb \ --set database.password=mongo \ --set database.user=mongo \ --set database.name=velocity
Remarque : Si Helm ne parvient pas à trouver la charte, essayez d'exécuter la commande suivante :
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
. Si votre organisation utilise un autre référentiel, remplacez-le parstable/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 stable/mongodb \ --set database.password=mongo \ --set database.user=mongo \ --set database.name=velocity
-
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: <BASE64 Encoded> tls.key: <Base64 Encoded> kind: Secret metadata: name: velocitytls namespace: default type: Opaque
-
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 commandes suivantes :
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
-
Si vous utilisez Minikube, aidez-vous de la commande suivante pour activer l'entrée :
minikube addons enable ingress
.
-
-
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-ibm-mongodb-dev:27017/velocity
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-ibm-mongodb-dev:27017/velocity
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.
-
nom utilisateur
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.
-
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-ibm-mongodb-dev.
-
database_name
Nom de la base de données qu'utilisera UrbanCode™ Velocity. 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-ibm-mongodb-dev:27017/velocity
Si vous utilisez la base de données MongoDB HCL par défaut, assurez-vous d'accorder à l'utilisateur MongoDB des droits d'écriture complets.
-
-
nom
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
-
-
Exécutez la commande
helm install
pour installer les images UrbanCode Velocity 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 à IBM UrbanCode Velocity 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