Installer Tanzu Community Edition

Intégrer Tanzu Community Edition (TCE) à votre infrastructure OVHcloud

Dernière mise à jour le 04/03/2022

Objectif

VMware Tanzu Community Edition (TCE) est une plate-forme Kubernetes complète et simple à gérer.
Vous pouvez déployer ce produit sur votre infrastructure OVHcloud pour profiter de ses fonctionnalités et de son évolutivité.

Ce guide est un exemple d'installation étape par étape de TCE.

Prérequis

En pratique

Réseau

Comme indiqué dans les prérequis ci-dessus, nous utilisons une NSX Edge Gateway pour les services de firewall et de DHCP.
D'autres composants réseau peuvent servir d'alternative, notament pfSense.

Pour paramétrer votre réseau, définissez une adresse IP publique pour l'accès extérieur et un réseau interne avec le service DHCP activé pour l'infrastructure TCE.
Votre datacenter est livré avec un certain nombre d'IPs publiques utilisables pour vos besoins. Elles sont visibles dans l'onglet Configurer du datacenter, dans la section Réseau. Vous verrez également les paramètres de masque et de passerelle sur la page.
Consultez notre documentation pour ajouter un bloc d'IP si vous n'avez plus d'IP publique utilisable.

réseau

Les adresses IP marquées comme Reserved sont utilisées pour les services liés au datacenter et ne sont pas disponibles pour autre chose.

Pour notre exemple, la NSX Edge Services Gateway est paramétrée comme suit avec deux interfaces:

  • une interface externe (Uplink) avec une IP publique principale et une secondaire (xxx.xxx.xxx.225 and xxx.xxx.xxx.226)
  • une interface interne (Internal) avec une IP privée 172.16.13.1 sur le VLAN13
    internal interface
  • le service DHCP distribue un pool d'adresses de 172.16.13.10 à 172.16.13.100 sur le VLAN13
    DHCP
  • Une règle SNAT traduit le réseau 172.16.13.1/24 par l'adresse publique xxx.xxx.xxx.226 pour l'accès externe
    règle SNAT

Dans l'espace client OVHcloud, dans l'onglet Sécurité de votre Hosted Private Cloud, ajoutez les adresses IP publiques utilisées à la liste des adresses autorisées à se connecter.
Les adresses apparaîtront comme « Autorisé et mis en place ».

adresses

Image de noeud

Les clusters TCE nécessitent l'utilisation d'une image pour créer les nœuds. Cette image peut être téléchargée depuis le site Web VMware Customer Connect. Si vous ne possédez pas de compte, vous pouvez en créer un gratuitement.

Sélectionnez la dernière version du fichier OVA à utiliser et téléchargez-la localement.

OVA download

Dans vSphere, faites un clic-droit sur un hôte ou un cluster et sélectionnez Déployer un modèle OVF.

Déploiement modèle OVF

Recherchez le fichier OVA téléchargé et déployez-le.

Déploiement fichier OVA

Pour finir, faites un clic-droit sur la VM et, dans la section Modèle, sélectionnez Convertir au modèle.

Convertir en modèle

VM de Bootstrap

Une fois le réseau et le modèle prêts, une VM de Bootstrap est nécessaire pour les composants logiciels (Docker et Kubectl) et le pilotage de l'installation de TCE.
Nous utilisons une machine virtuelle sous Ubuntu, mais tout système d'exploitation permettant l'installation des éléments nécessaires est possible.
Les prérequis pour TCE sont une VM avec 2 CPU et 6 Go de RAM.
Vous pouvez déployer une VM depuis un ISO ou depuis un modèle OVF.

Assurez-vous que la machine virtuelle utilise le VLAN défini pour les clusters TCE (VLAN13 dans notre cas).

VLAN

Dans une fenêtre de terminal, commencez par entrer les commandes de mise à jour :

sudo apt update

puis :

sudo apt-get install build-essential

Installation de NTP

sudo apt-get install ntp

Installation de Homebrew

Installez git :

sudo apt install git -y

Lancez le script d'installation de Homebrew :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Ajoutez Homebrew à votre path :

eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

Installez gcc :

brew install gcc

Installation de Docker Engine

Commencez par les paquets nécessaires :

sudo apt-get install \ 
ca-certificates \ 
curl \ 
gnupg \ 
lsb-release

Ajoutez la clé GPG officielle de Docker :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Paramétrez le repository stable :

echo \ 
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ 
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Paramétrez le moteur :

sudo apt-get install docker-ce docker-ce-cli containerd.io

Après l'installation, ajoutez votre utilisateur au groupe docker pour lui permettre d'exécuter l'application sans élévation de droits :

sudo usermod -aG docker $USER

Installation de Kubectl

Téléchargez le dernier package :

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

Lancez l'installateur :

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

SSH Key Pair

Lancez la commande de création :

ssh-keygen -t rsa -b 4096 -C "youremail@yourdomain.com"

Appuyez sur « Entrée » pour sauvegarder la clé dans le chemin par défaut (/root/.ssh/id_rsa).
Entrez et confirmez un mot de passe pour la clé.
Ajoutez la clé privée à l'agent SSH en cours d'exécution sur votre VM et entrez le mot de passe créé à l'étape précédente.

ssh-add ~/.ssh/id_rsa

Gardez le fichier .ssh/id_rsa.pub sous la main, il contient la clé publique nécessaire pour la configuration de TCE.

Tanzu Management Cluster

La VM est maintenant prête pour le déploiement de TCE.

Tanzu CLI

Dans un terminal, lancez la commande d'installation de la CLI :

brew install vmware-tanzu/tanzu/tanzu-community-edition

Notez le dossier d'installation et exécutez le script post-installation :

{HOMEBREW-INSTALL-LOCATION}/configure-tce.sh
/home/linuxbrew/.linuxbrew/Cellar/tanzu-community-edition/v0.10.0/libexec/configure-tce.sh

Tanzu CLI

Déploiement

Lancez le programme d'installation avec la commande suivante :

tanzu management-cluster create --ui

Dans la fenêtre du navigateur qui s'affiche, sélectionnez l'option vSphere.

option vSphere

Entrez le FQDN du Hosted Private Cloud et remplissez les informations d'identification avant de cliquer sur Connect.

credentials

Cliquez sur Continue pour verifier la SSL thumbprint.

SSL thumbprint

Sélectionnez votre datacenter et fournissez la clé publique SSH créée précédement (.ssh/id_rsa.pub).
Cliquez sur Next.

SSH

Choisissez un type de cluster (Development ou Production) et une taille pour les noeuds.

type d'instance

Entrez un nom de cluster, choisissez un plane endpoint provider et une IP (en dehors du pool DHCP mais dans le même sous-réseau).
Cliquez sur Next.

cluster

NSX Advanced Load Balancer et Metadata sont des sections optionelles que nous n'éditerons pas.
Cliquez sur Next pour les deux.

NSX- Metadata

Choisissez vos emplacements de ressource.
Cliquez sur Next.

Ressources

Entrez les paramètres du réseau Kubernetes.
Cliquez sur Next.

Kubernetes

Désactivez l'Identity Management.
Cliquez sur Next.

Identity

Selectionnez le modèle pour les noeuds.
Cliquez sur Next.

modèle de noeuds

Cliquez sur Review Configuration.

Review

Cliquez sur Deploy Management Cluster.

Déploiement

Une fois l'opération terminée, vérifiez que vous voyez le message de création et que les nœuds sont visibles dans vSphere.

message de création

noeuds visibles

Enregistrez les informations d'identification de l'administrateur du cluster :

tanzu cluster kubeconfig get "clustername" --admin

Tanzu Workload Cluster

Pour déployer un cluster de workload, dupliquez et modifiez le fichier de configuration du cluster de management.
Dans un terminal, dans la VM de bootstrap, allez dans le dossier contenant le fichier de configuration.

cd .config/tanzu/tkg/clusterconfigs

Utilisez ls pour récupérer le nom du fichier yaml puis dupliquez-le avec un nouveau nom.

cp existing.yaml new.yaml

nom du fichier yaml

Utilisez un éditeur de texte pour modifier les champs clés :

  • CLUSTER_NAME : choisissez un nom pour le nouveau cluster.
  • VSPHERE_CONTROL_PLANE_ENDPOINT : choisissez une IP libre sur le même sous réseau mais hors du pool DHCP.
  • VSPHERE_FOLDER : ce n'est pas obligatoire mais vous pouvez définir un dossier différent pour faciliter la gestion.
    Sauvegardez et fermez le fichier.

De retour dans le terminal, exécutez la commande de déploiement avec votre nouveau fichier yaml.

tanzu cluster create --file .config/tanzu/tkg/clusterconfigs/new.yaml

Une fois l'opération terminée, vérifiez que vous voyez le message de création et que les nœuds sont visibles dans vSphere.

message de création

noeuds visibles

Enregistrez les informations d'identification de l'administrateur du cluster :

tanzu cluster kubeconfig get "clustername" --admin

TCE est maintenant prêt à recevoir vos applications.

Aller plus loin

Échangez avec notre communauté d'utilisateurs sur https://community.ovh.com.


Cette documentation vous a-t-elle été utile ?

N’hésitez pas à nous proposer des suggestions d’amélioration afin de faire évoluer cette documentation.

Images, contenu, structure… N’hésitez pas à nous dire pourquoi afin de la faire évoluer ensemble !

Vos demandes d’assistance ne seront pas traitées par ce formulaire. Pour cela, utilisez le formulaire "Créer un ticket" .

Merci beaucoup pour votre aide ! Vos retours seront étudiés au plus vite par nos équipes..

OVHcloud Community

Accedez à votre espace communautaire. Posez des questions, recherchez des informations, publiez du contenu et interagissez avec d’autres membres d'OVHcloud Community.

Echanger sur OVHcloud Community