Maison > développement back-end > Golang > Système de déploiement Golang

Système de déploiement Golang

WBOY
Libérer: 2023-05-16 09:42:37
original
461 Les gens l'ont consulté

Avec le développement de la technologie Internet et l'augmentation des exigences applicatives, les applications modernes deviennent de plus en plus complexes et doivent s'appuyer sur de nombreux composants et services. Afin de faciliter la gestion et la maintenance, les applications doivent souvent être regroupées dans des images et déployées sur le cloud ou sur des serveurs privés. En tant que langage de programmation efficace et fiable, le langage Golang devient de plus en plus populaire parmi les développeurs. Cet article explique comment utiliser Golang pour déployer un système rapidement et facilement.

1. Configurer un environnement de développement

Vous devez d'abord configurer un environnement de développement Golang. Téléchargez et installez Golang sur le site officiel (https://golang.org/dl/). Une fois l'installation réussie, entrez « go version » dans la ligne de commande pour vérifier si l'installation a réussi.

2. Écrivez une application

Ensuite, vous devez écrire une application simple. La routine est la suivante :

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })
    http.ListenAndServe(":8080", nil)
}
Copier après la connexion

Ce programme utilise le module net/http de la bibliothèque standard Golang pour créer un service HTTP simple qui écoute. 8080 et renvoie "Hello, World!" lors de l'accès dans le navigateur.

3. Utilisez Docker pour empaqueter des images

Il est très simple d'utiliser Docker pour empaqueter des applications basées sur Golang. Tout d'abord, créez un fichier Dockerfile dans le répertoire où se trouve l'application. Modifiez le contenu comme suit :

FROM golang:1.16-alpine

LABEL maintainer="Your Name <yourname@email.com>"

WORKDIR /app

COPY . .

RUN go build -o main .

EXPOSE 8080

CMD ["./main"]
Copier après la connexion

Ensuite, exécutez la commande suivante sur la ligne de commande pour créer l'image :

docker build -t my-golang-app .
Copier après la connexion

La commande ci-dessus créera un fichier nommé. "my" dans le répertoire actuel -golang-app" image et contient une application Golang compilée. Enfin, l'image peut être exécutée avec la commande suivante :

docker run -p 8080:8080 my-golang-app
Copier après la connexion

Cette commande mappe le port 8080 du conteneur au port 8080 de l'hôte et démarre un conteneur nommé « my-golang-app ». À ce stade, vous pouvez accéder à « http://localhost:8080 » dans le navigateur et vous pouvez voir « Hello, World ! ».

4. Déployer des applications à l'aide de Kubernetes

Afin d'obtenir une haute disponibilité et une flexibilité des applications, elles peuvent être déployées sur un cluster Kubernetes. Tout d'abord, vous devez créer un déploiement :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-golang-app
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-golang-app
  template:
    metadata:
      labels:
        app: my-golang-app
    spec:
      containers:
      - name: my-golang-app
        image: my-golang-app
        ports:
        - containerPort: 8080
Copier après la connexion

Le fichier de configuration ci-dessus peut définir un déploiement nommé "my-golang-app", contenant deux pods, chaque pod est mappé sur la même image d'application Golang et expose les 8080 du port à conteneurs.

Ensuite, utilisez la commande suivante pour déployer le déploiement :

kubectl apply -f deployment.yaml
Copier après la connexion

Après un déploiement réussi, vous pouvez obtenir l'état du déploiement via la commande suivante :

kubectl get deployment my-golang-app
Copier après la connexion

Enfin, vous pouvez utiliser la commande suivante pour créer un service, qui est utilisé pour exposer les services d'application Golang à l'extérieur du cluster :

apiVersion: v1
kind: Service
metadata:
  name: my-golang-app
spec:
  selector:
    app: my-golang-app
  ports:
  - name: http
    port: 8080
    targetPort: 8080
  type: LoadBalancer
Copier après la connexion

Ce fichier de configuration définit un service nommé "my-golang-app", qui proxy le service exécuté dans le Pod marqué comme l'application "my-golang-app", et ajoute que le port 8080 du conteneur est mappé au port 80 du cluster Kubernetes.

Ensuite, utilisez la commande suivante pour déployer le service :

kubectl apply -f service.yaml
Copier après la connexion

Une fois les étapes ci-dessus terminées, vous pouvez déployer l'application Golang dans le cluster Kubernetes.

Résumé

Cet article présente brièvement comment utiliser Golang pour déployer le système rapidement et facilement. Tout d'abord, configurez un environnement de développement Golang et écrivez une application simple. Deuxièmement, utilisez Docker pour empaqueter l'image de l'application et utilisez Kubernetes pour déployer ; l'image ; Enfin, créez un service pour le service afin d'exposer le service à l'extérieur du cluster. Les développeurs peuvent appliquer de manière flexible les méthodes présentées dans cet article en fonction des besoins réels de l'entreprise afin d'améliorer encore la maintenabilité, l'évolutivité et la fiabilité des applications.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal