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

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

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

Cet article aborde les points suivants:

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

Configuration requise pour votre cluster Kubernetes

Votre cluster Kubernetes nécessite:

  • Kubernetes version 1.9 ou ultérieure
  • La version 1.9 ou ultérieure de la CLI Kubernetes kubectl.
  • Un cluster avec au moins trois nœuds, chacun avec 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 la machine locale 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 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 2 vCPU 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 le 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 au service Microgateway Edge:

    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 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 -

    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". 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 dans 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 NGINX n'est en cours d'exécution. Vous pouvez le vérifier en exécutant kubectl get pods.

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

Vérifiez 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 sortie suivant, les processus mettent une à deux minutes à démarrer. 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 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. 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. Vous devez disposer de la version 2.5.26 ou ultérieure de la micro-passerelle Edge. Pour le vérifier, saisissez la commande suivante:

    edgemicro --version
  2. Si vous n'avez pas installé la version 2.5.26 ou ultérieure de la micro-passerelle Edge, 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

    Pour toute aide supplémentaire, consultez Installer la micro-passerelle Edge.

Étape suivante

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