Beheersing van Cloud Containerization: Een Stapsgewijze Gids voor het Implementeren van Containers in de Cloud

Containers hebben getransformeerd hoe we toepassingen implementeren, schalen en beheren door code en afhankelijkheden te verpakken in een gestandaardiseerde eenheid die consistent kan draaien in elke omgeving. Wanneer gebruikt in cloudomgevingen, bieden containers:

  • Portabiliteit over ontwikkeling, testen en productie.
  • Schaalbaarheid om snel aan te passen aan verkeer en vraag.
  • Efficiëntie met verminderde overhead in vergelijking met traditionele virtuele machines.

In deze zelfstudie zullen we een volledige opstelling van een op de cloud gehoste gecontaineriseerde toepassing doorlopen, met de volgende onderwerpen:

  1. Basisprincipes van containers en waarom ze ideaal zijn voor de cloud.
  2. Het opzetten van een gecontaineriseerde toepassing met Docker.
  3. Het implementeren van de container naar een cloudprovider (met Google Cloud Platform als voorbeeld).
  4. Het schalen en beheren van uw container in de cloud.

Containerbasics: Hoe containers passen in cloudworkflows

Containers omvatten alle bibliotheken en afhankelijkheden die nodig zijn om een toepassing uit te voeren. In tegenstelling tot traditionele virtuele machines, waarbij elk een besturingssysteem heeft, delen containers het hostbesturingssysteem, waardoor ze lichtgewicht en efficiënt zijn.

Waarom containers voor de cloud?

  • Snelle opstarttijden betekenen sneller schalen om variabel verkeer aan te kunnen.
  • Consistentie over verschillende omgevingen zorgt ervoor dat de code zich hetzelfde gedraagt vanaf de laptops van ontwikkelaars tot aan de productie.
  • Efficiënt gebruik van resources maakt een hoge dichtheid van implementaties op dezelfde infrastructuur mogelijk.

Kerncomponenten van cloud containerisatie

  • Container Engine: Beheert en voert containers uit (bijv. Docker, containerd).
  • Orkestratie: Zorgt voor betrouwbaarheid, schaalbaarheid en load balancing van apps (bijv. Kubernetes, ECS).
  • Register: Slaat containerafbeeldingen op voor toegang over verschillende omgevingen (bijv. Docker Hub, GCR).

Opzetten van een gecontaineriseerde Docker-applicatie

We beginnen met het containeriseren van een eenvoudige Node.js-applicatie.

Stap 1: Maak de applicatie

1. Initialiseer een Node.js-project in een projectmap:   

Shell

 

2. Maak een basisserverbestand, app.js:

JavaScript

 

 

3. Voeg Express toe aan het project:    

Shell

 

Stap 2: Maak een Dockerfile

Deze Dockerfile specificeert hoe de app verpakt moet worden in een Docker-container.

Dockerfile

 

Stap 3: Bouw en test de Docker-image lokaal

1. Bouw de Docker-image:   

Shell

 

2. Voer de container lokaal uit:

Shell

 

 

3. Bezoek `http://localhost:3000` in je browser. Je zou “Hallo, Cloud Container!” moeten zien weergegeven.

Het Container uitrollen naar Google Cloud Platform (GCP)

In deze sectie gaan we de containerafbeelding naar Google Container Registry (GCR) pushen en deze uitrollen naar Google Kubernetes Engine (GKE).

Stap 1: Stel een GCP-project in

1. Maak een GCP-project aan. Ga naar de [Google Cloud Console] (https://console.cloud.google.com) en maak een nieuw project aan.

2. Schakel de Kubernetes Engine en Container Registry API’s in voor je project.

Stap 2: Push de afbeelding naar Google Container Registry

1. Tag de Docker-afbeelding voor Google Cloud:

Shell

 

 

2. Push de afbeelding naar GCR:

Shell

 

Stap 3: Maak een Kubernetes-cluster

1. Initialiseer een GKE-cluster:

Shell

 

   

2. Configureer kubectl om verbinding te maken met je nieuwe cluster:

Shell

 

Stap 4: Rol de gecontaineriseerde app uit naar GKE

1. Maak een k8s-deployment.yaml bestand aan om de uitrol en service te definiëren:

YAML

 

2. Rol de applicatie uit naar GKE:

Shell

 

3. Verkrijg het externe IP om toegang te krijgen tot de app:

Shell

 

Schalen en beheren van containers in GKE

Stap 1: Schaal de uitrol

Om het aantal replicas aan te passen (bijv. om hogere verkeersvolumes aan te kunnen), gebruik je de volgende opdracht:

Shell

 

GKE zal automatisch de app schalen door replica’s toe te voegen en de belasting te verdelen.

Stap 2: Logs Monitoren en Beheren

1. Gebruik de onderstaande opdracht om logs voor een specifieke pod in Kubernetes te bekijken:

Shell

 

2. Schakel het GKE-dashboard in om de podstatus en het gebruik van resources te monitoren en implementaties visueel te beheren.

Conclusie: Containers benutten voor schaalbare cloud-implementaties

Deze zelfstudie behandelde:

  1. Het containeriseren van een Node.js-app met behulp van Docker.
  2. Implementatie op Google Kubernetes Engine (GKE) voor schaalbare, beheerde hosting.
  3. Effectief beheren en schalen van containers in de cloud.

Met containers in de cloud krijgen uw applicaties schaalbaarheid, draagbaarheid en efficiëntie – zodat ze klaar zijn om aan de vraag te voldoen, zich snel aan te passen en consistent te blijven in verschillende omgevingen.

Source:
https://dzone.com/articles/a-step-by-step-guide-to-deploying-containers-in-the-cloud