Aller au contenu

Installation sur Google Kubernetes Engine

Installer l'Analyzer sur Google Kubernetes Engine

Prérequis

  • Avoir un compte GCP avec les permissions pour créer et administrer des clusters Kubernetes.
  • Un projet GCP avec l'API Kubernetes active.
  • Avoir une machine avec kubectl, gcloud et helm installés.

Installer les outils nécessaires

Sur la machine ou VM que vous utiliserez pour administrer le cluster :

Télécharger les charts Helm

Vous pouvez télécharger les charts helm avec :

wget https://api.latence.ca/software/k8s-analyzer.zip

Créer un cluster

  • Une fois l'API Kubernetes activée et que vous avez les permissions nécessaires pour créer et administrer un cluster, nous allons en créer un.
  • Sur la page de votre projet, cliquez sur Kubernetes Engine.

  • Une fois dans l'onglet Clusters, cliquez sur Create et sélectionnez le cluster Standard.

  • Dans la section Cluster basics, nommez votre Analyzer.
  • Cliquez sur default pool et définissez le nombre de nœuds à 1, cochez la case Enable cluster autoscaler.

  • Plus bas sur la page, définissez le Minimum number of nodes à 1 et le Maximum number of nodes à 2.

  • Cliquez sur l'onglet Nodes à gauche et changez le type d'image de Container-Optimized OS with containerd vers Ubuntu with containerd.
  • Dans la section Machine configuration, définissez le type de machine pour répondre aux exigences d'hébergement de l'Analyzer comme décrit dans docs.latence.ca.
  • Définissez la taille du disque de démarrage à 20 Go comme requis pour que l'Analyzer fonctionne correctement.

  • Si votre application peut gérer un environnement moins stable, sélectionnez Enable nodes on spot VMs, puisque c'est un environnement de démo/test, nous pouvons cocher la case. Cela réduira également le coût du cluster.

  • Dans l'onglet Automation à gauche, sélectionnez Enable vertical Pod autoscaling.

  • Finalement, vous pouvez cliquer sur Create et attendre que votre cluster soit configuré.

Installer l'Analyzer

Vous pouvez vous connecter à distance à votre cluster en utilisant cette commande dans votre terminal :

gcloud container clusters get-credentials <cluster-name> --zone <cluster-zone> --project <project-name>
  • Vous pouvez voir les composants en cours d'exécution de votre cluster en entrant :
kubectl get all
  • Nous devrons modifier un paramètre dans notre fichier values.yaml :

1) La Licence Latencetech.

  • Définissez votre licence.

  • Une fois la licence définie, nous pouvons installer l'Analyzer en exécutant cette commande :
helm install analyzer k8s-analyzer/
  • Attendez 60 secondes pour que tous les services et pods soient déployés.
  • Vous pouvez vérifier l'état du déploiement en exécutant :
kubectl get all
  • Une fois terminé, vous pouvez obtenir l'adresse IP externe où votre Analyzer a été déployé en exécutant cette commande :
kubectl get svc

Si vous avez activé le Load Balancer depuis le fichier values.yaml, vous obtiendrez 2 adresses externes :

  • une pour Grafana et Influxdb
  • une pour Kafka qui devra être utilisée dans la configuration du qos-agent

API

Si l'API ne fonctionne pas, supprimez le configmap et relancez

kubectl delete cm org-config
helm uninstall analyzer k8s-analyzer/
helm install analyzer k8s-analyzer/

Pour obtenir votre clé API, vous pouvez consulter les logs du conteneur latencetech_api avec :

kubectl logs <pod ID>

Installer l'Agent sur Google Kubernetes Engine

Prérequis

  • Avoir un compte GCP avec les permissions pour créer et administrer des clusters Kubernetes.
  • Un projet GCP avec l'API Kubernetes active.
  • Avoir une machine avec kubectl, gcloud et helm installés.

Installer les outils nécessaires

Sur la machine ou VM que vous utiliserez pour administrer le cluster :

Télécharger les charts Helm

Vous pouvez télécharger les charts helm avec :

wget https://api.latence.ca/software/k8s-agent.zip

Créer un cluster

  • Une fois l'API Kubernetes activée et que vous avez les permissions nécessaires pour créer et administrer un cluster, nous allons en créer un.
  • Sur la page de votre projet, cliquez sur Kubernetes Engine.

  • Une fois dans l'onglet Clusters, cliquez sur Create et sélectionnez le cluster Standard.

  • Dans la section Cluster basics, nommez votre Analyzer.
  • Cliquez sur default pool et définissez le nombre de nœuds à 1, cochez la case Enable cluster autoscaler.

  • Plus bas sur la page, définissez le Minimum number of nodes à 1 et le Maximum number of nodes à 3.

  • Cliquez sur l'onglet Nodes à gauche et changez le type d'image de Container-Optimized OS with containerd vers Ubuntu with containerd.
  • Dans la section Machine configuration, définissez le type de machine pour répondre aux exigences d'hébergement de l'Analyzer comme décrit dans docs.latence.ca.
  • Définissez la taille du disque de démarrage à 10 Go comme requis pour que l'Analyzer fonctionne correctement.

  • Si votre application peut gérer un environnement moins stable, sélectionnez Enable nodes on spot VMs, puisque c'est un environnement de démo/test, nous pouvons cocher la case. Cela réduira également le coût du cluster.

  • Dans l'onglet Automation à gauche, sélectionnez Enable vertical Pod autoscaling.

  • Finalement, vous pouvez cliquer sur Create et attendre que votre cluster soit configuré.

Installer l'Agent

Vous pouvez vous connecter à distance à votre cluster en utilisant cette commande dans votre terminal :

gcloud container clusters get-credentials <cluster-name> --zone <cluster-zone> --project <project-name>
  • Vous pouvez voir les composants en cours d'exécution de votre cluster en entrant :
kubectl get all

Nous devrons modifier quatre paramètres dans notre fichier values.yaml : 1) La Licence Latencetech. 2) L'IP du Reflector. 3) L'IP de l'Analyzer. 4) L'ID de l'Agent. 5) L'ID du Customer (un entier).

  • Définissez votre licence.

  • Définissez les paramètres suivants.
# Agent Environment Variables
agent:
    LTI_agent_id: "TO-BE-SET"
    LTI_customer_id: "TO-BE-SET"
    LTI_reflector: "TO-BE-SET"
    ANALYZER_IP: "TO-BE-SET"
  • Vous pouvez modifier les autres paramètres appartenant au qos-agent dans la section qui suit.
  • Une fois tous les paramètres définis, nous pouvons installer l'agent en exécutant cette commande :
helm install agent k8s-agent/
  • Vous pouvez vérifier l'état du déploiement en exécutant :
kubectl get all

Installer un Reflector sur Google Kubernetes Engine

Prérequis

  • Avoir un compte GCP avec les permissions pour créer et administrer des clusters Kubernetes.
  • Un projet GCP avec l'API Kubernetes active.
  • Avoir une machine avec kubectl, gcloud et helm installés.

Installer les outils nécessaires

Sur la machine ou VM que vous utiliserez pour administrer le cluster :

Télécharger les charts Helm

Vous pouvez télécharger les charts helm avec :

wget https://api.latence.ca/software/k8s-reflector.zip

Créer un cluster

  • Une fois l'API Kubernetes activée et que vous avez les permissions nécessaires pour créer et administrer un cluster, nous allons en créer un.
  • Sur la page de votre projet, cliquez sur Kubernetes Engine.

  • Une fois dans l'onglet Clusters, cliquez sur Create et sélectionnez le cluster Standard.

  • Dans la section Cluster basics, nommez votre Analyzer.
  • Cliquez sur default pool et définissez le nombre de nœuds à 1, cochez la case Enable cluster autoscaler.

  • Plus bas sur la page, définissez le Minimum number of nodes à 1 et le Maximum number of nodes à 3.

  • Cliquez sur l'onglet Nodes à gauche et changez le type d'image de Container-Optimized OS with containerd vers Ubuntu with containerd.
  • Dans la section Machine configuration, définissez le type de machine pour répondre aux exigences d'hébergement de l'Analyzer comme décrit dans docs.latence.ca.
  • Définissez la taille du disque de démarrage à 10 Go comme requis pour que l'Analyzer fonctionne correctement.

  • Si votre application peut gérer un environnement moins stable, sélectionnez Enable nodes on spot VMs, puisque c'est un environnement de démo/test, nous pouvons cocher la case. Cela réduira également le coût du cluster.

  • Dans l'onglet Automation à gauche, sélectionnez Enable vertical Pod autoscaling.

  • Finalement, vous pouvez cliquer sur Create et attendre que votre cluster soit configuré.

Configurer le Cluster

Vous pouvez vous connecter à distance à votre cluster en utilisant cette commande dans votre terminal :

gcloud container clusters get-credentials <cluster-name> --zone <cluster-zone> --project <project-name>
  • Vous pouvez voir les composants en cours d'exécution de votre cluster en entrant :
kubectl get all

Nous devons maintenant créer une IP statique pour notre reflector afin que nos agents puissent communiquer avec lui. Nous avons 2 Load Balancers en cours d'exécution et nous aurons besoin qu'ils aient la même IP externe.

  • Dans les paramètres de notre compte GCP, allez dans la section VPC network > IP addresses.

  • Cliquez sur Reserve an external IP address.

  • Choisissez un nom, définissez une description et NE L'ATTACHEZ PAS à des instances. Cliquez sur Reserve.

  • Cela nous donnera alors une adresse IP que nous pourrons définir dans le fichier values.yaml comme Static IP.

Installer le Reflector

Nous devrons modifier trois paramètres dans notre fichier values.yaml : 1) La Licence Latencetech. 2) L'ID du Reflector. 3) L'IP statique de notre reflector

  • Définissez votre licence.

  • Définissez les paramètres suivants, le common ID est 1 et utilisez l'adresse IP réservée ci-dessus comme IP statique.

  • Une fois tous les paramètres définis, nous pouvons installer le reflector en exécutant cette commande :
helm install reflector k8s-reflector/
  • Vous pouvez vérifier l'état du déploiement en exécutant :
kubectl get all