Maison  >  Article  >  développement back-end  >  Comment déployer des applications Golang dans différents scénarios

Comment déployer des applications Golang dans différents scénarios

PHPz
PHPzoriginal
2023-04-27 09:11:19489parcourir

Dans le processus de développement et de déploiement de logiciels ces dernières années, Golang est devenu un langage de programmation de plus en plus populaire. Ce langage possède de nombreuses fonctionnalités, telles que l’efficacité, la fiabilité, la sécurité, etc. Par conséquent, de plus en plus de développeurs commencent à utiliser le langage Golang pour écrire des applications. Cependant, il existe encore certaines difficultés et techniques lors du déploiement réel des applications Golang. Cet article se concentrera sur les problèmes de déploiement de Golang et expliquera en détail comment déployer des applications Golang dans différents scénarios.

1. Déploiement de base
Pour un tout nouveau serveur, vous devez d'abord installer l'environnement Golang. Sous les systèmes Linux, nous pouvons terminer rapidement l'installation via le gestionnaire de packages. Sur le système Ubuntu, nous pouvons installer Go via la commande suivante :

sudo apt-get update
sudo apt-get install golang

Avec la commande ci-dessus, nous installerons la dernière version de Go dans le système. Bien entendu, nous pouvons également télécharger manuellement le package d’installation de Go, puis l’installer. Ensuite, nous devons choisir un framework Web pour développer notre application. Par exemple, nous pouvons utiliser le framework Gin pour développer rapidement nos applications web. Alors, comment installer le framework Gin ? Il nous suffit d'utiliser la commande suivante dans le terminal :

go get -u github.com/gin-gonic/gin

Cette commande téléchargera automatiquement le framework Gin et l'installera sur notre chemin GOPATH. Grâce aux étapes ci-dessus, nous pouvons commencer à développer notre application. Compilez notre application dans un fichier exécutable et copiez-le sur le serveur. Nous avons implémenté avec succès le déploiement Golang le plus basique.

2. Déployer à l'aide de Docker
Lors du déploiement d'applications, nous rencontrons souvent des problèmes avec différents environnements système. Ces problèmes peuvent empêcher l’application de fonctionner correctement. Afin d'éviter cette situation, nous pouvons utiliser la technologie de conteneur Docker pour le déploiement. Docker est une plateforme de virtualisation de conteneurs open source qui nous aide à créer, publier et exécuter rapidement des applications. Voici les étapes pour déployer l'application Golang à l'aide de Docker.

1. Créer une image Docker
Tout d'abord, nous devons installer le service Docker sur notre système. Ensuite, nous pouvons créer notre image Docker via Dockerfile. Un Dockerfile est un fichier texte qui contient une série d'instructions pour créer une image Docker. Voici un exemple simple de fichier Docker :

FROM golang
WORKDIR /app
COPY .
RUN go build -o main .
CMD ["/app/main"]

Ce fichier indique à Docker que nous voulons ajouter le fichier officiel. L'image Golang est utilisée comme image de base, puis tous les fichiers du répertoire actuel sont copiés dans le répertoire /app. Nous exécutons ensuite la commande go build pour compiler notre application et la nommons main. Enfin, nous utilisons la commande CMD pour lancer notre application.

2. Construire l'image Docker
Après avoir écrit le fichier Docker, nous pouvons utiliser la commande suivante pour construire notre image Docker :

docker build -t my-golang-app .

Cette commande nous aidera à créer un Create nommé l'image Docker de my-golang-app et transférez-la vers le référentiel Docker.

3. Déployer le conteneur Docker
Après avoir créé avec succès l'image Docker, nous pouvons démarrer le conteneur via la commande suivante :

docker run -d -p 8080:8080 my-golang-app

Cette commande démarrera un Docker conteneur et utilisez l'image my-golang-app comme image par défaut au démarrage. Le conteneur s'exécutera en arrière-plan et sera mappé au port 8080 de la machine hôte. Grâce à cela, nous avons déployé avec succès notre application Golang.

3. Déployer à l'aide de Kubernetes
Dans un système distribué, nous devons étendre et tolérer les pannes de l'application. À l’heure actuelle, nous pouvons utiliser Kubernetes pour déployer et gérer nos applications. Kubernetes est une plateforme complète d'orchestration de conteneurs qui peut nous aider à faire évoluer et déployer facilement des applications. Voici les étapes pour déployer une application Golang à l'aide de Kubernetes.

1. Écrivez un fichier de configuration Kubernetes
Nous devons écrire un fichier de configuration Kubernetes pour indiquer à Kubernetes comment déployer notre application. Par exemple, voici un exemple de fichier de configuration simple :

apiVersion : extensions/v1beta1
kind: Deployment
metadata:
nom : my-golang-app
spec:
répliques : 3
modèle :

metadata:
  labels:
    app: my-golang-app
spec:
  containers:
  - name: my-golang-app
    image: my-golang-app
    ports:
    - containerPort: 8080
  imagePullSecrets:
  - name: my-golang-app-secret

apiVersion : v1
kind: Service
metadata:
name: my-golang-app
spec:
selector:

app: my-golang-app

ports:

  • port: 80
    targetPort: 8080
    type: ClusterIP

Ce fichier contient deux objets Kubernetes : Déploiement et service. L'objet Deployment définit l'image que nous souhaitons déployer, le nombre de conteneurs et d'autres paramètres associés. Les objets de service exposent nos applications au monde extérieur et les connectent au cluster Kubernetes.

2. Créer des ressources Kubernetes
Après avoir écrit le fichier de configuration, nous devons créer des ressources Kubernetes via la commande suivante :

kubectl apply -f k8s.yaml

Cette commande créera automatiquement des objets de déploiement et de service et les déploiera dans le Cluster Kubernetes.

3. Ajouter des objets Kubernetes
Si nous devons augmenter ou supprimer le nombre de conteneurs, nous pouvons utiliser la commande suivante pour gérer les objets Kubernetes :

kubectl scale déployer my-golang-app --replicas=5

Cette commande indiquera à Kubernetes que nous devons augmenter le nombre de conteneurs de l'application my-golang-app à 5.

Pour résumer, cet article présente les méthodes de déploiement de base de Golang, les techniques de déploiement utilisant Docker et le déploiement avancé de Kubernetes. Quelle que soit la méthode utilisée, nous devons choisir la méthode de déploiement qui nous convient le mieux en fonction de la situation réelle. J'espère que cet article pourra fournir de l'aide et des conseils à la majorité des développeurs Golang lors du déploiement d'applications Golang.

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