Conditions préalables à l'intégration de Kubernetes

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

Cette rubrique explique la procédure à suivre avant d'installer Edge Microgateway en tant que service dans un cluster Kubernetes.

Cette rubrique aborde les points suivants :

  • Les exigences minimales pour votre cluster Kubernetes.
  • Comment installer et configurer Edge Microgateway.
  • Comment installer la configuration de base d'Edge Microgateway dans votre cluster Kubernetes.

Exigences pour votre cluster Kubernetes

Votre cluster Kubernetes doit répondre aux exigences suivantes :

  • Kubernetes version 1.9 ou ultérieure.
  • Kubernetes CLI kubectl v1.9 ou ultérieure.
  • Un cluster avec au moins trois nœuds contenant chacun deux processeurs virtuels.

Exemple : Créer un cluster Kubernetes sur Google Kubernetes Engine (GKE)

Configurer votre machine d'administration Kubernetes

La machine d'administration Kubernetes est votre machine locale que vous utilisez pour exécuter des commandes sur votre cluster Kubernetes. Il s'agit généralement d'une machine de bureau qui a accès à vos VM Kubernetes.

Vous devez installer les utilitaires suivants sur la machine d'administration Kubernetes :

  • Installez l'interface de ligne de commande kubectl 1.9 ou ultérieure.

  • (GKE uniquement) Installez gcloud si vous exécutez Kubernetes sur GKE.

Créer un cluster Kubernetes sur GKE

  1. Connectez-vous au tableau de bord Google Kubernetes Engine (GKE) sur Google Cloud Platform (GCP).
  2. Cliquez sur Créer un cluster.
  3. Sélectionnez Cluster standard.
  4. Saisissez le nom voulu pour votre cluster.
  5. Sélectionnez une zone.
  6. Sélectionnez Cluster Version 1.9.7-gke-*. Par exemple, 1.9.7-gke.6.
  7. Sélectionnez une taille de trois nœuds.
  8. Sélectionnez deux processeurs virtuels avec 7,5 Go de mémoire.
  9. Cliquez sur Créer.

    La capture d'écran suivante montre le tableau de bord GKE rempli comme décrit dans les étapes précédentes :

    Tableau de bord GKE

Obtenir les identifiants de votre cluster

  1. Définissez le nom de votre projet GKE :

    gcloud config set project projectName
  2. Définissez la zone de votre projet GKE :

    gcloud config set compute/zone zoneName
  3. Obtenez vos identifiants de conteneur gcloud :

    gcloud container clusters get-credentials cluster-name --zone zone --project project-name

    où :

    • cluster-name est le nom du cluster Kubernetes que vous avez créé.
    • zone est la zone dans laquelle se trouve votre cluster.
    • project-name est le nom de votre projet GCP.

    Exemple :

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. Exécutez la commande suivante exactement comme indiqué. La commande accorde des autorisations d'administrateur de cluster à l'utilisateur actuel. Des autorisations d'administrateur sont requises pour créer les règles RBAC nécessaires pour le service Edge Microgateway :

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
    

Installer Edge Microgateway pour Kubernetes

  1. Téléchargez Edge Microgateway pour Kubernetes. Si vous utilisez une machine MacOS ou Linux, vous pouvez télécharger la dernière version ou une version spécifique en spécifiant son nom.

    Pour obtenir la dernière version :

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -

    Pour obtenir une version spécifique par numéro de version. Notez que le numéro de version doit être précédé de la lettre "v". Exemple : v3.0.2

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s  version

    Exemple :

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. Remplacez le répertoire par le répertoire d'installation microgateway_Version_OS_ARCH. Exemple :

    cd microgateway_2.5.26_Darwin_x86_64
  3. Examinez le répertoire d'installation :

    • /install/kubernetes : fichiers .yaml de configuration pour le déploiement sur Kubernetes.
    • /samples : exemples d'applications pour tester votre installation.
    • /bin : exécutable edgemicroctl. La commande edgemicroctl injecte Edge Microgateway dans Kubernetes.
  4. Ajoutez le client edgemicroctl à votre PATH. Par exemple, exécutez la commande suivante sur un système MacOS ou Linux :

    export PATH=$PWD/bin:$PATH
  5. Appliquez la configuration de base d'Edge Microgateway au cluster Kubernetes. La commande suivante crée un espace de noms edgemicro-system et des rôles de cluster.

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. Installez le contrôleur d'entrée NGINX dans le cluster. Assurez-vous qu'aucun autre contrôleur Nginix n'est en cours d'exécution. Pour le vérifier, exécutez kubectl get pods.

    kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml

Vérifier l'installation

  1. Pour vérifier si le contrôleur d'entrée a démarré, exécutez la commande suivante :

    kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch

    Comme le montre l'exemple de résultat suivant, le démarrage des processus prend une ou deux minutes. Il est normal de voir plusieurs cycles d'erreur et de redémarrage avant que l'état STATUS ne passe à Running.

    NAMESPACE          NAME                                            READY     STATUS             RESTARTS   AGE
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   1          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Error              2          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   2          40s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Running            3          1m
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running            3          1m
    
  2. Une fois l'entrée en cours d'exécution, vous pouvez annuler la commande ci-dessus en saisissant Ctrl+C.

  3. Exécutez cette commande pour vérifier que les services Kubernetes sont déployés. Vous devriez obtenir un résultat semblable à l'exemple ci-dessous :

    kubectl get svc -n edgemicro-system
    

    Exemple de résultat :

    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                     AGE
    default-http-backend        ClusterIP      10.19.255.106  <none>         80/TCP                       2h
    edgemicro-ingress           LoadBalancer   10.19.247.156  35.224.24.13   80:30176/TCP,443:32325/TCP   2h
    
  4. Vérifiez que tous les pods sont en cours d'exécution :

    kubectl get pods -n edgemicro-system
    

    Exemple de résultat :

    NAME                                            READY     STATUS    RESTARTS   AGE
    default-http-backend-55c6c69b88-2lvtw           1/1       Running   0          4m
    edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running   3          4m
    

Installer Edge Microgateway

  1. Vous devez avoir installé Edge Microgateway 2.5.26 ou une version ultérieure. Pour le vérifier, saisissez :

    edgemicro --version
  2. Si vous n'avez pas installé Edge Microgateway 2.5.26 ou une version ultérieure, exécutez le script d'installation :

    npm install edgemicro -g
  3. Si vous venez d'installer Edge Microgateway pour la première fois ou de le mettre à niveau, exécutez cette commande :

    edgemicro init

    Si vous avez besoin d'aide supplémentaire, consultez Installer Edge Microgateway.

Étape suivante

Vous pouvez désormais déployer Edge Microgateway sur Kubernetes.