Maison >développement back-end >Golang >Utiliser Google Kubernetes Engine (GKE) dans Go : un guide complet

Utiliser Google Kubernetes Engine (GKE) dans Go : un guide complet

WBOY
WBOYoriginal
2023-06-17 13:25:001636parcourir

Ces dernières années, Kubernetes est devenu le standard de facto pour les plates-formes d'orchestration de conteneurs, et Google Kubernetes Engine (GKE) est un moteur Kubernetes entièrement géré fourni sur Google Cloud Platform. Il fournit non seulement une orchestration automatisée des conteneurs, une évolutivité et une haute disponibilité, mais permet également un démarrage et un ajustement rapides, facilitant ainsi le déploiement du code. Cet article vous expliquera comment utiliser GKE dans le langage Go. J'espère que cet article pourra devenir un guide complet d'utilisation de GKE.

Étape 1 : Créer un projet et activer l'API GKE

Tout d'abord, nous devons créer un projet Google Cloud Platform. Avant d'accéder à GKE, nous devons activer l'API GKE. Il existe de nombreuses façons d'activer l'API GKE, nous en présentons ici deux : 

1 Sur la page "API et services" > "API" de Google Cloud Console, filtrez "API Kubernetes Engine" et activez-la.

2. Dans le cloud Shell ou le terminal local, entrez la commande suivante :

gcloud services enable container.googleapis.com

Étape 2 : Créer un cluster Kubernetes

Après avoir activé l'API GKE, nous devons créer un cluster Kubernetes. La taille et les spécifications du cluster peuvent être ajustées en fonction des besoins spécifiques. Voici un exemple contenant 3 nœuds de taille n1-standard-1 :

gcloud container clusters create example-cluster --zone=us-central1-a --num-nodes=3 --machine-type=n1-standard-1

Lors de l'exécution de la commande ci-dessus, nous devons remplacer "example-cluster" par le nom du cluster que nous devons créer. De plus, nous devons également sélectionner une région pour créer notre cluster, ici nous avons sélectionné us-central1-a. Le nombre et les spécifications des nœuds du cluster Kubernetes doivent également être ajustés en fonction de la situation réelle.

Étape 3 : Installer les outils client Kubernetes

Après avoir créé le cluster Kubernetes, nous devons installer et configurer les outils client Kubernetes pour gérer notre cluster. Les outils clients Kubernetes incluent généralement Kubectl et Helm. kubectl est un outil de ligne de commande pour Kubernetes qui peut être utilisé pour gérer des clusters, des pods et des conteneurs Kubernetes, et effectuer des opérations telles que la création, la mise à jour, la suppression et le développement. Helm est un gestionnaire de packages qui peut être utilisé pour installer et gérer des bibliothèques tierces.

La méthode pour installer et configurer kubectl est la suivante :

1. Installez kubectl dans le terminal local :

gcloud components install kubectl

2. Configurez kubectl avec le cluster actuel :

gcloud container clusters get-credentials example-cluster --zone=us-central1-a

3. pour gérer le cluster, par exemple, exécutez la commande suivante pour obtenir tous les nœuds du cluster Kubernetes :

kubectl get nodes

La méthode pour installer et configurer Helm est la suivante :

1. Téléchargez le fichier binaire Helm dans le terminal local et installez-le. it :

curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get-helm-3 | bash

2. Connectez Helm au cluster Kubernetes actuel Configuration :

kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller --upgrade

Étape 4 : Déployer l'application Go sur GKE

Enfin, nous pouvons déployer notre application Go dans le cluster Kubernetes. Voici un exemple de déploiement d'une application Go à l'aide des ressources de déploiement et de service :

1. Créez un fichier YAML contenant les ressources de déploiement et de service, par exemple :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: go-app-deployment
  labels:
    app: go-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: go-app
  template:
    metadata:
      labels:
        app: go-app
    spec:
      containers:
        - name: go-app
          image: gcr.io/example-project/go-app:latest
          ports:
            - containerPort: 8080
              protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: go-app-service
  labels:
    app: go-app
spec:
  selector:
    app: go-app
  ports:
    - port: 80
      targetPort: 8080
      protocol: TCP
  type: LoadBalancer

où "go-app-deployment" est le déploiement que nous avons créé. nom de la ressource, "go-app" est l'espace de noms que nous utilisons et "go-app-service" est le nom de la ressource de service que nous avons créée. Nous devons spécifier une image de conteneur pour la ressource de déploiement, telle que "gcr.io/example-project/go-app:latest".

2. Utilisez la commande kubectl pour appliquer ce fichier YAML au cluster Kubernetes :

kubectl apply -f go-app.yaml

3. Exécutez la commande suivante pour obtenir l'adresse IP externe créée sur GKE :

kubectl get service go-app-service

Dans les résultats renvoyés, vous pouvez trouver "EXTERNE". - Champ "IP", cette adresse est l'adresse de l'application Go que nous avons déployée.

Résumé

Cet article fournit un guide complet sur l'utilisation de GKE en langage Go. GKE est un moteur Kubernetes entièrement géré qui nous fournit une orchestration de conteneurs pour l'automatisation des données, une haute disponibilité, une évolutivité et une interface facile à utiliser. À l'aide des méthodes mentionnées dans cet article, nous pouvons facilement déployer des applications Go sur GKE et ajouter des processus de déploiement automatisés pour rendre le déploiement d'applications plus pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn