sql >> Database teknologi >  >> RDS >> Database

Oprettelse af en Docker Swarm Cluster på Azure Container Service

Azure Container Service (ACS) er en optimeret container-hosting-løsning til almindeligt anvendte open source-container-orkestratorværktøjer. Understøttede containerorkestreringsværktøjer er Mesos-baserede DC/OS, Kubernetes og Docker Swarm. Eller den selvstændige Docker-motor kan bruges. Azure Container Service afslører API-endepunkterne for en udvalgt orkestreringsmotor, så open source-værktøjer til forskellige use-cases, herunder overvågning, kontinuerlig integration og kommandolinjeværktøjer, kan få adgang til containertjenesten.

Hvad er en ACS Docker Swarm?

En Docker-sværm er en samling/klynge af virtuelle maskiner (VM'er), der kører Docker Engine og inkluderer andre ressourcer såsom Load Balancers, VM Scale Sets eller Availability Sets, Storage og Network. En Docker Swarm on Azure Container Service består af Swarm Master og Swarm Agent noder (VM'er). En Swarm Master kan forbindes direkte med en SSH RSA-nøgle. En Swarm Agent kan ikke forbindes direkte ved at bruge en SSH RSA-nøgle.

Azure Container Service Docker Swarm Cluster er ikke en Docker Swarm-tilstandsklynge. Docker Swarm-tilstand skal initialiseres på en ACS Swarm-master. Når en Docker Swarm Cluster oprettes på en Azure Portal, oprettes alle de nødvendige ressourcer (VM'er, skaleringssæt, belastningsbalancere) automatisk.

Denne artikel har følgende sektioner:

  • Indstilling af miljøet
  • Start af Azure Cloud Shell
  • Oprettelse af et SSH RSA-nøglepar
  • Oprettelse af en Azure Container Service Docker Swarm
  • Udforskning af Docker Swarm Cluster-ressourcerne
  • Opretter forbindelse til en Swarm Master
  • Konklusion

Indstilling af miljøet

En Azure-konto er den eneste forudsætning. En Azure-konto kan oprettes på https://azure.microsoft.com/.

Start af Azure Cloud Shell

Azure giver en klientgrænseflade til at forbinde med Azure-værktøjet kaldet Cloud Shell. Cloud Shell er en browserbaseret admin-shell til at oprette forbindelse til Azure. Cloud Shell understøtter klientværktøjer at vælge imellem, herunder PowerShell-moduler, Azure-værktøjer, containerværktøjer, databaseværktøjer, Linux-skalfortolkere, kildekontrol og byggeværktøjer. Cloud Shell understøtter også flere programmeringssprog at vælge imellem, herunder .NET og Node.js. For at starte Cloud Shell skal du klikke på >__ ikon, som vist i figur 1.


Figur 1: Starter Cloud Shell

Oprettelse af et SSH RSA-nøglepar

For at oprette en Azure Container Service-baseret hostet løsning kræves en SSH RSA-nøgle. Opret en SSH RSA-nøgle fra Cloud Shell med følgende kommando:

ssh-keygen -t rsa -b 2048

En kommandoprompt for at angive den fil, som nøglen skal gemmes i, vises som vist i figur 2. Klik på Enter for at vælge standardfilen.


Figur 2: Generering af en SSH RSA-nøgle

En anden kommandoprompt for at angive adgangssætningen bliver vist. Klik på Enter for ikke at bruge en adgangssætning. Uanset om en adgangssætning er valgt eller ej, vises en bekræftelseskommandoprompt for at specificere adgangssætningen igen. Klik på Enter igen, hvis der ikke bruges en adgangssætning. Et offentligt/privat nøglepar bliver genereret og gemt. Det komplette output fra ssh-keygen-kommandoen er vist næste:

[email protected]:~$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/deepak/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/deepak/.ssh/id_rsa.
Your public key has been saved in /home/deepak/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+YArpP5Eri/JENp0b3CKVbOz3qFPveivTHr1vyaHv/o
   [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|      o          |
|     . o         |
|. . + +. .       |
|.+ +o=.oS        |
|o o=. +..+.      |
| o..+o.oooo. .   |
| .+o .o=o. .+ o  |
|  o+o .+*oo .OEo |
+----[SHA256]-----+

Standardtilladelserne indstillet på SSH RSA-nøglen er for åbne og kan ikke bruges med ACS. Rediger tilladelserne til 400 (skrivebeskyttet af ejeren):

[email protected]:~$ chmod 400 /home/deepak/.ssh/id_rsa

Vi skal bruge SSH RSA-nøglen, når vi opretter en Docker Swarm. Åbn den offentlige nøglefil i en vi-editor:

[email protected]:~$ vi /home/deepak/.ssh/id_rsa.pub

Og vælg alle og kopier indholdet af id_rsa.pub fil og gem i en tekstfil til brug senere.

Oprettelse af en Azure Container Service Docker Swarm

For at oprette en Azure Container Service-baseret Docker Swarm skal du klikke på Ny i Azure-portalen, som vist i figur 3.


Figur 3: Azure portal>Ny

I Ny guiden, vises flere Azure Marketplace-applikationer at vælge imellem, som vist i figur 4.


Figur 4: Ny guide

Vælg Azure Container Service, som vist i figur 5.


Figur 5: Valg af Azure Container Service

Guiden Create Azure Container Service starter, som vist i figur 6, med Grundlæggende dialogboksen for konfiguration af grundlæggende indstillinger vises.


Figur 6: Opret Azure Container Service>Grundlæggende

Angiv en containertjeneste Navn (hello-world-docker), og vælg et abonnement . For Ressourcegruppe skal du vælge Brug eksisterende og vælg en ressourcegruppe, som vist i figur 7. Alternativt kan du vælge Opret ny mulighed.


Figur 7: Opret Azure Container Service>Grundlæggende

Vælg en Placering og klik på OK, som vist i figur 8.


Figur 8: Konfiguration af grundlæggende indstillinger for en Azure Container Service

I Master-konfiguration skal du angive masteroplysninger som vist i figur 9.


Figur 9: Masterkonfiguration

Vælg Orchestrator som Sværm , som vist i figur 10.


Figur 10: Vælger Orchestrator som Docker Swarm

Angiv et DNS-navn-præfiks ("docker" – et vilkårligt navn), og angiv et Brugernavn , som også er et vilkårligt navn. I det offentlige SSH-nøglefelt skal du sætte den offentlige SSH RSA-nøgle, der blev gemt tidligere i en tekstfil, som diskuteret i afsnittet Oprettelse af et SSH RSA-nøglepar . Vælg Master count (1, 3 eller 5), som vist i figur 11. Et ulige antal masterknudepunkter er klargjort til høje tilgængelighedskrav.


Figur 11: Levering af masteroplysninger

Klik på OK (se figur 12).


Figur 12: Fuldførelse af masterkonfiguration

I Agentkonfiguration , angiv agentantal , vælg Virtuel agentstørrelse , og klik på OK, som vist i figur 13.


Figur 13: Agentkonfiguration

I Oversigt , er Swarm-konfigurationen valideret, og meddelelsen "Validation bestået" skulle blive vist, som vist i figur 14. Klik på OK.


Figur 14: Sværmoversigt

Udrulningen af ​​sværmen starter, som vist i figur 15.


Figur 15: Implementering af Azure Container Service

Når implementeringen er fuldført, vises meddelelsen "Deployment succeeded" (se figur 16).


Figur 16: Implementeringen lykkedes

Udforskning af Docker Swarm Cluster-ressourcerne

Ressourcerne til sværmen bliver vist som vist i figur 17. Klik på Se mere for at vise den komplette liste over genererede ressourcer.


Figur 17: Ressourcer

Alle Swarm-ressourcerne bliver vist som vist i figur 18. Swarm-ressourcetypen er angivet i TYPE kolonne og inkluderer virtuelle maskiner, virtuelle maskiner skalasæt, offentlige IP-adresser, tilgængelighedssæt, belastningsbalancere og netværksgrænseflader.


Figur 18: Sværmressourcer

Opretter forbindelse til en Swarm Master

For at oprette forbindelse til en Swarm master skal du klikke på en Swarm master virtuel maskine, som vist i figur 18. Kopier den offentlige IP-adresse fra siden Swarm master detaljer (se figur 19).


Figur 19: Offentlig IP-adresse på Swarm Master

Klik for at kopiere Swarm-masterens offentlige IP-adresse, som vist i figur 20.


Figur 20: Kopierer Swarm Master Public IP-adresse

Brug den private SSH-nøgle, SSH-porten (2200), brugernavnet og den offentlige IP-adresse til at oprette forbindelse til Swarm master VM'en:

[email protected]:~$ ssh -i /home/deepak/.ssh/id_rsa -p 2200
   [email protected]

Ved kommandoprompten "Er du sikker på, at du vil fortsætte med at oprette forbindelse (ja/nej)?", skal du angive "ja", og der oprettes forbindelse til Swarm-masteren, som vist i figur 21. Swarm-masteren er angivet til at køre Ubuntu OS.


Figur 21: Opretter forbindelse til Swarm Master

En Swarm master VM kører Docker-motoren som standard.

Konklusion

I denne artikel oprettede vi en Docker Swarm-klynge på Azure Container Service (ACS). En ACS Docker Swarm er ikke en Docker Swarm-tilstandsklynge, som skal initialiseres som på enhver Docker-vært, der kører version 1.12 eller nyere. De andre (bortset fra Docker Swarm) muligheder er at oprette en Mesos-baseret DC/OS eller en Kubernetes-klynge. En ACS Docker Swarm er en klynge af virtuelle maskiner, der kører Docker. Azure Container Service leverer alle ressourcer inklusive virtuelle maskiner, offentlige IP-adresser, virtuelle maskine skaleringssæt, belastningsbalancere og netværksgrænseflader. Vi oprettede forbindelse til en Swarm-master ved hjælp af en SSH RSA-privat nøgle, brugernavn og offentlige IP-adresse for Swarm-masteren.


  1. Skæring af flere arrays i PostgreSQL

  2. Sådan importeres en database ved hjælp af phpMyAdmin

  3. Udbedring af huller/huller i tal genereret af Postgres-sekvensen

  4. Skrivning af læsbar kode til VBA – Prøv* mønster