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

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Cet article explique les étapes à suivre avant d'installer Edge Microgateway en tant que service dans un cluster Kubernetes.

Cette rubrique traite des sujets suivants:

  • Configuration minimale requise pour votre cluster Kubernetes.
  • Installer et configurer Edge Microgateway
  • Installer la configuration de base d'Edge Microgateway dans votre cluster Kubernetes

Conditions requises pour votre cluster Kubernetes

Votre cluster Kubernetes requiert:

  • Kubernetes 1.9 ou version ultérieure.
  • CLI Kubernetes kubectl 1.9 ou version ultérieure.
  • Un cluster comportant au moins trois nœuds comportant 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 l'ordinateur local que vous utilisez pour exécuter des commandes sur votre cluster Kubernetes. Il s'agit généralement d'un ordinateur de bureau qui a accès à vos VM Kubernetes.

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

  • Installez l'interface de ligne de commande kubectl 1.9 ou une version 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-*. Exemple : 1.9.7-gke.6.
  7. Sélectionnez une taille de trois nœuds.
  8. Sélectionnez deux vCPU disposant de 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. Les 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 un ordinateur macOS ou Linux, vous pouvez télécharger la dernière version ou une version particulière en spécifiant le nom de la version.

    Pour obtenir la dernière version:

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

    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". Par 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 de configuration .yaml pour le déploiement sur Kubernetes.
    • /samples : exemples d'applications pour tester votre installation.
    • /bin : l'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 d'Edge Microgateway de base 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'aucune autre manette Nginix n'est en cours d'exécution. Pour cela, exécutez la commande kubectl get pods.

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

Vérifier l'installation

  1. Pour vérifier si le contrôleur Ingress 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 minute ou deux. Il est normal de voir plusieurs cycles d'erreur et de redémarrage avant que 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 que l'entrée est 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. Un résultat semblable à l'exemple ci-dessous doit s'afficher:

    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. Edge Microgateway 2.5.26 ou une version ultérieure doit être installé. Pour cela, saisissez la commande suivante:

    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 l'avoir mis à niveau, exécutez la commande suivante:

    edgemicro init

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

Étape suivante

Vous êtes maintenant prêt à déployer Edge Microgateway sur Kubernetes.