sql >> Databasteknik >  >> RDS >> Database

Skapa ett Docker Swarm Cluster på Azure Container Service

Azure Container Service (ACS) är en optimerad containerhostinglösning för vanligt använda open source-containerorkestreringsverktyg. Containerorkestratorverktyg som stöds är Mesos-baserade DC/OS, Kubernetes och Docker Swarm. Eller så kan den fristående Docker-motorn användas. Azure Container Service exponerar API-slutpunkterna för en utvald orkestreringsmotor, så att verktyg med öppen källkod för olika användningsfall inklusive övervakning, kontinuerlig integration och kommandoradsverktyg kan komma åt containertjänsten.

Vad är en ACS Docker Swarm?

En Docker Swarm är en samling/kluster av virtuella maskiner (VM) som kör Docker Engine och inkluderar andra resurser som belastningsbalanserare, VM-skaluppsättningar eller tillgänglighetsuppsättningar, lagring och nätverk. En Docker Swarm on Azure Container Service består av Swarm Master- och Swarm Agent-noder (VM). En Swarm Master kan anslutas direkt till en SSH RSA-nyckel. En Swarm Agent kan inte anslutas direkt med hjälp av en SSH RSA-nyckel.

Azure Container Service Docker Swarm Cluster är inte ett Docker Swarm-lägeskluster. Docker Swarm-läget måste initieras på en ACS Swarm master. När ett Docker Swarm Cluster skapas på en Azure Portal skapas alla nödvändiga resurser (VMs, Scale Sets, Load Balancers) automatiskt.

Den här artikeln har följande avsnitt:

  • Ställa in miljön
  • Starta Azure Cloud Shell
  • Skapa ett SSH RSA-nyckelpar
  • Skapa en Azure Container Service Docker Swarm
  • Utforska Docker Swarm Cluster-resurserna
  • Ansluter till en Swarm Master
  • Slutsats

Ställa in miljön

Ett Azure-konto är den enda förutsättningen. Ett Azure-konto kan skapas på https://azure.microsoft.com/.

Starta Azure Cloud Shell

Azure tillhandahåller ett klientgränssnitt för att ansluta till Azure-verktyget som kallas Cloud Shell. Cloud Shell är ett webbläsarbaserat administratörsskal för att ansluta till Azure. Cloud Shell stöder klientverktyg att välja mellan, inklusive PowerShell-moduler, Azure-verktyg, containerverktyg, databasverktyg, Linux-skaltolkar, källkontroll och byggverktyg. Cloud Shell stöder även flera programmeringsspråk att välja mellan, inklusive .NET och Node.js. För att starta Cloud Shell, klicka på >__ ikon, som visas i figur 1.


Figur 1: Startar Cloud Shell

Skapa ett SSH RSA-nyckelpar

För att skapa en Azure Container Service-baserad värdlösning krävs en SSH RSA-nyckel. Skapa en SSH RSA-nyckel från Cloud Shell med följande kommando:

ssh-keygen -t rsa -b 2048

En kommandotolk för att ange i vilken fil nyckeln ska sparas visas, som visas i figur 2. Klicka på Enter för att välja standardfilen.


Figur 2: Genererar en SSH RSA-nyckel

En annan kommandoprompt för att ange lösenfrasen visas. Klicka på Enter för att inte använda en lösenfras. Oavsett om en lösenfras är vald eller inte, visas en bekräftelsekommandoprompt för att specificera lösenfrasen igen. Klicka på Enter igen om ingen lösenfras används. Ett offentligt/privat nyckelpar genereras och sparas. Den fullständiga utdata från kommandot ssh-keygen listas härnäst:

[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]-----+

Standardbehörigheterna för SSH RSA-nyckeln är för öppna och kan inte användas med ACS. Ändra behörigheterna till 400 (skrivskyddad av ägaren):

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

Vi kommer att använda SSH RSA-nyckeln när vi skapar en Docker Swarm. Öppna den offentliga nyckelfilen i en vi-redigerare:

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

Och markera alla och kopiera innehållet i id_rsa.pub fil och lagra i en textfil för att användas senare.

Skapa en Azure Container Service Docker Swarm

För att skapa en Azure Container Service-baserad Docker Swarm, klicka på Ny i Azure-portalen, som visas i figur 3.


Figur 3: Azure portal>Ny

I Ny guiden visas flera Azure Marketplace-program att välja mellan, som visas i figur 4.


Figur 4: Ny guide

Välj Azure Container Service, som visas i figur 5.


Figur 5: Välja Azure Container Service

Guiden Skapa Azure Container Service startar, som visas i figur 6, med Grunderna dialogrutan för att konfigurera grundläggande inställningar visas.


Figur 6: Skapa Azure Container Service>Grundläggande

Ange en behållartjänst Namn (hello-world-docker) och välj en prenumeration . För Resursgrupp väljer du Använd befintlig och välj en resursgrupp, som visas i figur 7. Alternativt, välj Skapa ny alternativ.


Figur 7: Skapa Azure Container Service>Grundläggande

Välj en Plats och klicka på OK, som visas i figur 8.


Figur 8: Konfigurera grundläggande inställningar för en Azure Container Service

I Master-konfiguration, tillhandahåll masterinformation, som visas i figur 9.


Figur 9: Huvudkonfiguration

Välj Orchestrator som Svärm , som visas i figur 10.


Figur 10: Väljer Orchestrator som Docker Swarm

Ange ett DNS-namnprefix ("docker" – ett godtyckligt namn) och ange ett användarnamn , som också är ett godtyckligt namn. I det offentliga SSH-nyckelfältet lägger du in den offentliga SSH RSA-nyckeln som lagrades tidigare i en textfil, som diskuteras i avsnittet Skapa ett SSH RSA-nyckelpar . Välj Master count (1, 3 eller 5), som visas i figur 11. Ett udda antal masternoder tillhandahålls för krav på hög tillgänglighet.


Figur 11: Tillhandahåller huvudinformation

Klicka på OK (se figur 12).


Figur 12: Slutför huvudkonfigurationen

I Agentkonfiguration , ange Antalet agenter , välj storleken Agent virtuell maskin , och klicka på OK, som visas i figur 13.


Figur 13: Agentkonfiguration

I Sammanfattning , valideras Swarm-konfigurationen och meddelandet "Validation passerad" bör visas, som visas i figur 14. Klicka på OK.


Figur 14: Svärmsammanfattning

Utplaceringen av svärmen startar, som visas i figur 15.


Figur 15: Distribuera Azure Container Service

När distributionen är klar visas meddelandet "Deployment succeeded" (se figur 16).


Figur 16: Implementeringen lyckades

Utforska Docker Swarm Cluster-resurserna

Resurserna för svärmen visas, som visas i figur 17. Klicka på Se mer för att visa hela listan över genererade resurser.


Figur 17: Resurser

Alla svärmresurser visas, som visas i figur 18. Svärmresurstyp anges i TYP kolumnen och inkluderar virtuella maskiner, skaluppsättningar för virtuella maskiner, offentliga IP-adresser, tillgänglighetsuppsättningar, lastbalanserare och nätverksgränssnitt.


Figur 18: Svärmresurser

Ansluter till en Swarm Master

För att ansluta till en Swarm master, klicka på en Swarm master virtuell maskin, som visas i figur 18. Kopiera den offentliga IP-adressen från sidan för Swarm master information (se figur 19).


Figur 19: Offentlig IP-adress för Swarm Master

Klicka för att kopiera Swarm Master Public IP-adress, som visas i figur 20.


Figur 20: Kopierar Swarm Master Public IP-adress

Använd den privata SSH-nyckeln, SSH-porten (2200), användarnamn och offentlig IP-adress, anslut till Swarm master VM:

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

Vid kommandotolken "Är du säker på att du vill fortsätta ansluta (ja/nej)?", ange "ja" och en anslutning upprättas till Swarmmastern, som visas i figur 21. Swarmmastern indikeras att köra Ubuntu OS.


Figur 21: Ansluter till Swarm Master

En Swarm master-VM kör Docker-motorn som standard.

Slutsats

I den här artikeln skapade vi ett Docker Swarm-kluster på Azure Container Service (ACS). En ACS Docker Swarm är inte ett Docker Swarm-lägeskluster, som måste initieras som på alla Docker-värdar som kör version 1.12 eller senare. De andra alternativen (förutom Docker Swarm) är att skapa ett Mesos-baserat DC/OS eller ett Kubernetes-kluster. En ACS Docker Swarm är ett kluster av virtuella maskiner som kör Docker. Azure Container Service tillhandahåller alla resurser inklusive virtuella maskiner, offentliga IP-adresser, skaluppsättningar för virtuella maskiner, lastbalanserare och nätverksgränssnitt. Vi ansluter till en Swarm master med en SSH RSA privat nyckel, användarnamn och offentlig IP-adress för Swarm master.


  1. SQL Server trunkerar tyst varchars i lagrade procedurer

  2. Hur man beräknar procent i PostgreSQL

  3. Hur man installerar MySQL med phpMyAdmin på Debian 7

  4. Kontrollera om en tabell har en TIMESTAMP-kolumn i SQL Server med OBJECTPROPERTY()