Professional Documents
Culture Documents
11
Zoptymalizowany hosting w chmurze
01101
dla aplikacji opartych o Docker
101
1011
1011101101101011000011011110111111
0110
1011
000
0110
11011
1011
1
0000
101
1101
1111
1110
1
1111
11
utorzy:
Ross Gardler i Neil Peterson
Rozdzia 1: Wprowadzenie do Azure Container Service
Azure Container Service uywa formatu Docker, aby zapewni pen elastyczno twojej
aplikacji. Wspiera take Marathon, DC/OS czy Docker Swarm, dziki czemu moesz skalowa
swoje aplikacje do tysicy lub wicej kontenerw.
-1-
Rozdzia 1: Wprowadzenie do Azure Container Service
Wdraanie aplikacji
Azure Container Service wspiera zarwno Docker Swarm jak i DC/OS. W zalenoci od twojego
wyboru orkiestratora, deploy bdzie si rni.
Uycie DC/OS
DC/OS jest rozproszonym systemem operacyjnym bazujcym na rdzeniu rozproszonych
systemw Apache Mesos. Apache Mesos jest czci Apache Software Foundation i zawiera
kontrybucje wielu uytkownikw oraz najwikszych firm IT.
Sprawdzon skalowalno
-2-
Rozdzia 1: Wprowadzenie do Azure Container Service
Uycie Marathon
Marathon dziaa na Apache Mesos, jako orkiestrator dla innych aplikacji i serwisw. Marathon
zapewnia interfejs uytkownika, poprzez ktry moesz zrobi deploy aplikacji. Moesz to
sprawdzi pod linkiem w stylu http://DNS_PREFIX.REGION.cloudapp.azure.com gdzie
DNS_PREFIX i REGION s zdefiniowane podczas deploymentu. Oczywicie, moesz rwnie
uy wasnej nazwy DNS. Dowiedz si wicej o zarzdzaniu kontenerami poprzez interfejs
uytkownika sieci web.
Moesz take uy REST API do komunikacji z Marathon. Dostpnych jest wiele bibliotek dla
kadego z narzdzi i jzykw oprogramowania. Oczywicie, moesz te uy protokou HTTP w
dowolnym jzyku. Dodatkowo, wiele popularnych narzdzi DevOps wspiera Marathon.
-3-
Rozdzia 2: Wdraanie Azure Container Service
Dokku
Krane
Jenkins
-4-
Rozdzia 2: Wdraanie Azure Container Service
Ten dokument zawiera opis krokw wdraania klastra Azure Container Service przy uyciu
portalu Azure, wiersza polecenia platformy Azure i moduu Azure PowerShell.
-5-
Rozdzia 2: Wdraanie Azure Container Service
User name: jest to nazwa uytkownika, ktra bdzie uywana dla konta na poszczeglnych
maszynach wirtualnych i zestawach skali maszyn wirtualnych w klastrze usugi Azure Container
Service.
Location: wybierz region platformy Azure dla wdroenia usugi Azure Container Service.
SSH public key: dodaj klucz publiczny, ktry bdzie uywany do uwierzytelniania wzgldem
maszyn wirtualnych usugi Azure Container Service. Bardzo wane jest, aby klucz ten nie
zawiera znakw nowej linii i mia prefiks ssh-rsa i postfiks nazwa_uytkownika@domena.
Powinien wyglda podobnie do poniszego: ssh-rsa AAAAB3Nz...<...>...UcyupgH
azureuser@linuxvm. Aby uzyska wskazwki dotyczce tworzenia kluczy Secure Shell (SSH),
zobacz artykuy dotyczce systemu Linux i Windows.
-6-
Rozdzia 2: Wdraanie Azure Container Service
-7-
Rozdzia 2: Wdraanie Azure Container Service
Agent count: w przypadku opcji Docker Swarm jest to pocztkowa liczba agentw w zestawie
skali agenta. W przypadku opcji DC/OS jest to pocztkowa liczba agentw w prywatnym
zestawie skali. Ponadto, jest tworzony publiczny zestaw skali, zawierajcy wstpnie okrelon
liczb agentw. Liczba agentw w tym publicznym zestawie skali zaley od liczby serwerw
gwnych utworzonych w klastrze: jeden agent publiczny dla jednego serwera gwnego i
dwch agentw publicznych dla trzech lub piciu serwerw gwnych.
DNS prefix: unikatowa w zakresie globalnym nazwa, ktra bdzie suy jako prefiks
kluczowych czci w peni kwalifikowanych nazw domen dla usugi.
-8-
Rozdzia 2: Wdraanie Azure Container Service
-9-
Rozdzia 2: Wdraanie Azure Container Service
Jeli wybrano opcj przypicia wdroenia do witryny Azure Portal, widoczny jest stan
wdroenia.
- 10 -
Rozdzia 2: Wdraanie Azure Container Service
Aby wdroy klaster DC/OS lub Docker Swarm, wybierz jeden z poniszych szablonw usugi
GitHub. Zwr uwag na to, e oba te szablony s takie same rni si tylko domylnie
wybran aranacj.
Szablon DC/OS
Szablon Swarm
Nastpnie upewnij si, e Azure CLI zosta poczony z subskrypcj platformy Azure. Moesz to
zrobi za pomoc nastpujcego polecenia:
azure account show
Jeli konto platformy Azure nie zostanie zwrcone, uyj poniszego polecenia, aby zalogowa
si do platformy Azure za pomoc CLI.
azure login -u user@domain.com
Nastpnie skonfiguruj narzdzia Azure CLI, aby umoliwi korzystanie z usugi Azure Resource
Manager.
azure config mode arm
Utwrz grup zasobw platformy Azure oraz klaster usugi Container Service przy uyciu
poniszego polecenia, gdzie:
Uwaga:
- 11 -
Rozdzia 2: Wdraanie Azure Container Service
Moesz rwnie udostpni plik z parametrami sformatowanymi przy uyciu notacji JSON,
korzystajc z argumentu -e:
azure group deployment create RESOURCE_GROUP DEPLOYMENT_NAME --template-uri
TEMPLATE_URI -e PATH/FILE.JSON
Aby wdroy klaster DC/OS lub Docker Swarm, wybierz jeden z poniszych szablonw. Zwr
uwag na to, e oba te szablony s takie same rni si tylko domylnie wybran
aranacj.
Szablon DC/OS
Szablon Swarm
Przed utworzeniem klastra w ramach subskrypcji platformy Azure sprawd, czy nastpio
zalogowanie do platformy Azure z poziomu sesji programu PowerShell. W tym celu moesz
uy polecenia Get-AzureRMSubscription:
Get-AzureRmSubscription
Jeli wdraasz do nowej grupy zasobw, musisz najpierw utworzy grup zasobw. Aby
utworzy now grup zasobw, uyj polecenia New-AzureRmResourceGroup, okrelajc nazw
grupy zasobw i region docelowy:
New-AzureRmResourceGroup -Name GROUP_NAME -Location REGION
Po utworzeniu grupy zasobw moesz utworzy klaster przy uyciu poniszego polecenia.
Identyfikator URI danego szablonu zostanie okrelony dla parametru -TemplateUri. W
przypadku uruchamiania tego polecenia program PowerShell wywietli monit o wprowadzenie
wartoci parametrw wdroenia.
New-AzureRmResourceGroupDeployment -Name DEPLOYMENT_NAME -ResourceGroupName
RESOURCE_GROUP_NAME -TemplateUri TEMPLATE_URI
- 12 -
Rozdzia 3: czenie z Azure Container Service
szablonu do polecenia. Dziki temu mona bardzo atwo okreli wartoci parametrw
szablonu. A jeli zapomnisz o podaniu wartoci wymaganego parametru, w programie
PowerShell zostanie wywietlony monit dotyczcy tej wartoci.
Nastpne kroki
Teraz, gdy masz dziaajcy klaster, moesz zapozna si z tymi dokumentami, aby uzyska
szczegowe informacje na temat pocze i zarzdzania:
Uwaga:
Sesj SSH moesz utworzy przy uyciu systemu zarzdzania klastrem. Nie jest to jednak
zalecane. Praca bezporednio w systemie zarzdzania niesie ze sob ryzyko przypadkowego
wprowadzenia zmian konfiguracji.
- 13 -
Rozdzia 3: czenie z Azure Container Service
PORT to port punktu kocowego, ktry chcesz udostpni. W przypadku klastra Swarm jest to
port 2375. W przypadku klastra DC/OS jest to port 80.
USERNAME (nazwa_uytkownika) to nazwa uytkownika podana podczas wdraania klastra.
DNSPREFIX (prefiks_DNS) to prefiks DNS podany podczas wdraania klastra.
REGION to region, w ktrym znajduje si grupa zasobw.
PATH_TO_PRIVATE_KEY [OPCJONALNIE] to cieka do klucza prywatnego odpowiadajcego
kluczowi publicznemu podanemu podczas tworzenia klastra usugi Azure Container Service.
Uyj tej opcji z flag -i.
ssh -L PORT:localhost:PORT -f -N
[USERNAME]@[DNSPREFIX]mgmt.[REGION].cloudapp.azure.com -p 2200
Tunel DC/OS
Aby otworzy tunel do punktw kocowych powizanych z klastrem DC/OS, wykonaj
polecenie podobne do nastpujcego:
sudo ssh -L 80:localhost:80 -f -N
azureuser@acsexamplemgmt.japaneast.cloudapp.azure.com -p 2200
DC/OS: http://localhost/
Marathon: http://localhost/marathon
Mesos: http://localhost/mesos
- 14 -
Rozdzia 3: czenie z Azure Container Service
Podobnie za pomoc tego tunelu moesz uzyskiwa dostp do interfejsw API REST dla
poszczeglnych aplikacji.
Tunel Swarm
Aby otworzy tunel do punktu kocowego Swarm, wykonaj polecenie podobne do
nastpujcego:
ssh -L 2375:localhost:2375 -f -N
azureuser@acsexamplemgmt.japaneast.cloudapp.azure.com -p 2200
Wprowad nazw hosta zoon z nazwy uytkownika administratora klastra i publicznej nazwy
DNS pierwszego serwera gwnego w klastrze. Nazwa hosta bdzie wyglda nastpujco:
adminuser@PublicDNS. W polu Port wprowad warto 2200.
- 15 -
Rozdzia 3: czenie z Azure Container Service
Poniszy przykad zosta skonfigurowany na potrzeby opcji DC/OS, ale bdzie wyglda
podobnie w przypadku rozwizania Docker Swarm.
Uwaga:
- 16 -
Rozdzia 3: czenie z Azure Container Service
DC/OS: http://localhost/
Marathon: http://localhost/marathon
Mesos: http://localhost/mesos
- 17 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Po skonfigurowaniu tunelu dla rozwizania Docker Swarm mona uzyskiwa dostp do klastra
Swarm za porednictwem interfejsu wiersza polecenia programu Docker. Najpierw naley
skonfigurowa zmienn rodowiskow systemu Windows o nazwie DOCKER_HOST i wartoci
:2375.
Nastpne kroki
Wdraanie kontenerw i zarzdzanie nimi przy uyciu rozwizania DC/OS lub Swarm:
Platformy s dostpne dla wielu popularnych zada. W tym dokumencie opisano, jak tworzy i
skalowa wdroenia kontenerw przy uyciu platformy Marathon. Przed przystpieniem do
pracy nad tymi przykadami bdziesz potrzebowa klastra DC/OS skonfigurowanego w
usudze kontenera platformy Azure. Potrzebna bdzie take zdalna czno z tym klastrem.
Aby uzyska wicej informacji na temat tych elementw, zobacz nastpujce artykuy:
- 18 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
- 19 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Pole Warto
ID nginx
- 20 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Pole Warto
- 21 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Jeli chcesz statycznie mapowa port kontenera do portu agenta, musisz uy trybu JSON. W
tym celu przecz kreatora nowej aplikacji w tryb JSON Mode (Tryb JSON) za pomoc
przecznika. Nastpnie wprowad nastpujce dane w sekcji portMappings definicji aplikacji.
- 22 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
"hostPort": 80,
Klaster DC/OS jest wdraany z zestawem agentw: prywatnym i publicznym. Aby klaster mg
uzyskiwa dostp do aplikacji z Internetu, naley wdroy aplikacje w agencie publicznym. W
tym celu wybierz kart Optional (Opcjonalne) kreatora nowej aplikacji i wprowad warto
slave_public w polu Accepted Resource Roles (Zaakceptowane role zasobw).
- 23 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Po powrocie do strony gwnej platformy Marathon widoczny jest stan wdroenia kontenera.
- 24 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
- 25 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Skalowanie kontenerw
Po zakoczeniu operacji skalowania widocznych bdzie wiele wystpie tego samego zadania
rozmieszczonych w agentach DC/OS.
- 26 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Nastpne kroki
Praca z platform DC/OS i interfejsem API platformy Marathon
- 27 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Platformy s dostpne dla wielu popularnych zada. W tym dokumencie opisano, jak tworzy i
skalowa wdroenia kontenerw przy uyciu platformy Marathon. Przed przystpieniem do
pracy nad tymi przykadami bdziesz potrzebowa klastra DC/OS skonfigurowanego w
usudze kontenera platformy Azure. Potrzebna bdzie take zdalna czno z tym klastrem.
Aby uzyska wicej informacji na temat tych elementw, zobacz nastpujce artykuy:
Teraz uyj punktu kocowego /apps platformy Marathon, aby sprawdzi biece wdroenia
aplikacji w klastrze DC/OS. Jeli jest to nowy klaster, pojawi si pusta tablica aplikacji.
curl localhost/marathon/v2/apps
{"apps":[]}
- 28 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
przykadzie zostanie wdroony kontener Nginx, ktry powie port 80 agenta DC/OS z portem
80 kontenera. Warto zauway, e waciwo acceptedResourceRoles jest ustawiona na
warto slave_public. Spowoduje to wdroenie kontenera w agencie w zestawie skali agenta
publicznego.
{
"id": "nginx",
"cpus": 0.1,
"mem": 16.0,
"instances": 1,
"acceptedResourceRoles": [
"slave_public"
],
"container": {
"type": "DOCKER",
"docker": {
"image": "nginx",
"network": "BRIDGE",
"portMappings": [
{ "containerPort": 80, "hostPort": 80, "servicePort": 9000, "protocol":
"tcp" }
]
}
}
}
W celu wdroenia kontenera w formacie programu Docker utwrz wasny plik JSON lub uyj
przykadu dostpnego w wersji demonstracyjnej usugi kontenera platformy Azure. Zapisz go
w dostpnej lokalizacji. Nastpnie w celu wdroenia kontenera uruchom nastpujce
polecenie. Okrel nazw pliku JSON.
curl -X POST http://localhost/marathon/v2/apps -d @marathon.json -H "Content-type:
application/json"
Skalowanie kontenerw
Interfejs API platformy Marathon umoliwia take skalowanie w poziomie oraz skalowanie na
zewntrz wdroe aplikacji. W poprzednim przykadzie wdroono jedno wystpienie aplikacji.
Wykonamy teraz skalowanie w poziomie, aby uzyska trzy wystpienia aplikacji. W tym celu
utwrz plik JSON zawierajcy nastpujcy tekst JSON i zapisz go w dostpnej lokalizacji.
{ "instances": 3 }
- 29 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Uwaga:
Aby zebra informacje dotyczce klastra DC/OS, takie jak nazwy i stan agenta, uruchom
nastpujce polecenie.
Invoke-WebRequest -Uri http://localhost/mesos/master/slaves
- 30 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Utwrz wasny plik JSON lub uyj przykadu dostpnego w wersji demonstracyjnej usugi
kontenera platformy Azure. Zapisz go w dostpnej lokalizacji. Nastpnie w celu wdroenia
kontenera uruchom nastpujce polecenie. Okrel nazw pliku JSON.
Invoke-WebRequest -Method Post -Uri http://localhost/marathon/v2/apps -ContentType
application/json -InFile 'c:\marathon.json'
Interfejs API platformy Marathon umoliwia take skalowanie w poziomie oraz skalowanie na
zewntrz wdroe aplikacji. W poprzednim przykadzie wdroono jedno wystpienie aplikacji.
Wykonamy teraz skalowanie w poziomie, aby uzyska trzy wystpienia aplikacji. W tym celu
utwrz plik JSON zawierajcy nastpujcy tekst JSON i zapisz go w dostpnej lokalizacji.
{ "instances": 3 }
Uwaga:
Nastpne kroki
Dowiedz si wicej o punktach kocowych HTTP platformy Mesos.
Prywatni agenci
Prywatne wzy agentw dziaaj poprzez sieci wewntrzne (nie widoczne dla Internetu). Takie
sieci s dostpne jedynie z poziomu administratora lub poprzez router edge w sieci publicznej.
DC/OS domylnie uruchamia aplikacje na wzach prywatnych. Dowiedz si wicej z
dokumentacji DC/OS na temat bezpieczestwa sieci.
- 31 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Publiczni agenci
Publiczne wzy agentw dziaaj poprzez sieci publiczne. Dowiedz si wicej z dokumentacji
DC/OS na temat bezpieczestwa sieci.
Nastpne kroki
Przeczytaj wicej o zarzdzaniu kontenerami DC/OS.
Sprawd jak otworzy firewall zapewniony przez Azure aby umoliwi publiczny dostp do
kontenera DC/OS.
1. Zaloguj si do portalu.
- 32 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
- 33 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Pole Opis
Path (Gdy w trybie HTTP) Relatywna cieka do prby (probe). Brak wsparcia
HTTPS.
- 34 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
6. Wr do waciwoci agenta load balancer, kliknij Load balancing rules nastpnie kliknij Add.
Pole Opis
Backend pool Kontenery z tej puli bd obiektem dla tego load balancera.
- 35 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Pole Opis
Probe Prba determinujca czy obiekt z puli backend (backend pool) jest
wydajny.
Idle timeout (tylko TCP) W minutach, czas utrzymania otwartego klienta TCP/HTTP bez
polegania na wiadomociach keep-alive.
1. Zaloguj si do portalu.
- 36 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
- 37 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Pole Opis
Service Wybierz zestaw predefiniowanych serwisw dla tej zasady bezpieczestwa, lub
wybierz Custom aby stworzy wasne.
Protocol Ogranicz ruch bazujc na TCP lub UDP. Wybierz Any aby nie ogranicza.
Port Gdy Service jest ustawiony jako Custom, okrel zasig portw ktrych ma
range dotyczy ta zasada. Moesz uy pojedynczego porty, np. 80, lub zasigu portw
np. 1024-1500.
Nastpne kroki
Dowiedz si wicej o rnicach pomidzy publicznymi a prywatnymi agentami DC/OS.
- 38 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Wymagania wstpne
Wdr wystpienie usugi Azure Container Service z typem aranacji DCOS i upewnij si, e
klient moe poczy si z klastrem.
Rwnowaenie obcienia
Istniej dwie warstwy rwnowaenia obcienia w klastrze usugi Container Service, ktre
utworzymy:
1. Usuga Azure Load Balancer zapewnia publiczne punkty wejcia (z ktrymi kontaktuj si
uytkownicy kocowi). Jest ona dostarczana automatycznie przez usug Azure Container
Service i domylnie skonfigurowana do udostpniania portw 80, 443 i 8080.
Do instalacji moduu Marathon Load Balancer mona uy interfejsu uytkownika w sieci Web
lub wiersza polecenia rozwizania DC/OS.
- 39 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
- 40 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
"path": "/",
"portIndex": 0,
"timeoutSeconds": 10,
"gracePeriodSeconds": 10,
"intervalSeconds": 2,
"maxConsecutiveFailures": 10
}],
"labels":{
"HAPROXY_GROUP":"external",
"HAPROXY_0_VHOST":"YOUR FQDN",
"HAPROXY_0_MODE":"http"
}
}
Ustaw warto servicePort na port >= 10 000. W ten sposb mona zidentyfikowa usug
uruchamian w tym kontenerze. Modu marathon-lb uywa tej wartoci w celu identyfikowania
usug do zrwnowaenia.
Ustaw parametr hostPort na warto 0. Ten sposb oznacza, e rozwizanie Marathon bdzie
arbitralnie przypisywa dostpny port.
Ustaw parametr instances na liczb wystpie, ktre chcesz utworzy. W pniejszym czasie
moesz zawsze zmieni t warto.
2. W oknie dialogowym New Application kliknij pozycj JSON Mode w prawym grnym rogu
- 41 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Dodatkowe scenariusze
Moe wystpi scenariusz, w ktrym do udostpniania rnych usug s stosowane rne
domeny. Na przykad:
W tym celu zapoznaj si z funkcj hostw wirtualnych, ktra umoliwia kojarzenie domen z
okrelonymi ciekami warstwy marathon-lb.
Moesz rwnie udostpnia inne porty i ponownie mapowa je na prawidowe usugi poza
warstw marathon-lb. Na przykad:
Nastpne kroki
Wicej informacji na temat warstwy marathon-lb mona znale w dokumentacji rozwizania
DC/OS.
- 42 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
W tym artykule wyjanimy, jak doda usug Marathon specyficzn dla aplikacji lub
uytkownika.
Poniewa usuga ta bdzie nalee do pojedynczego uytkownika lub zespou, bdzie mona
w dowolny sposb skonfigurowa jej dziaanie. Ponadto usuga Azure Container Service
zapewni cigo dziaania usugi. Jeli wystpi awaria usugi, Azure Container Service
uruchomi j ponownie. W wikszoci przypadkw taki przestj bdzie niezauwaalny.
Wymagania wstpne
Wdr wystpienie usugi Azure Container Service z typem aranacji DCOS i upewnij si, e
klient moe poczy si z klastrem. Ponadto wykonaj ponisze kroki.
Uwaga:
Jeli uywasz starszej wersji rodowiska Python, mog zosta wywietlone ostrzeenia
InsecurePlatformWarnings. Moesz je bezpiecznie zignorowa.
- 43 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Nastpnie uyj interfejsu wiersza polecenia DC/OS, aby zainstalowa wystpienie usugi
Marathon z opcjami ustawionymi w pliku konfiguracji:
dcos package install --options=marathon-alice.json marathon
Usuga marathon-alice powinna teraz zosta wywietlona jako dziaajca na karcie usug
interfejsu uytkownika DC/OS. Jeli chcesz bezporednio uzyskiwa dostp do interfejsu
uytkownika, zostanie uyta warto http://<hostname>/service/marathon-alice/.
Moesz sprawdzi, z jakim wystpieniem usugi Marathon dziaa interfejs wiersza polecenia,
uywajc polecenia dcos config show. Moesz wrci do korzystania z gwnej usugi
Marathon przy uyciu polecenia dcos config unset marathon.url.
Wymagania
Zrb Deploy i pocz klaster skonfigurowany poprzez Azure Container Service. Zapoznaj si z
Marathon UI. Id do http://datadoghq.com aby ustawi konto Datadog.
Datadog
Datadog to serwis monitorujcy, ktry gromadzi dane na temat twoich kontenerw w klastrze
Azure Container Service. Datadog posiada zintegrowany kokpit Docker gdzie moesz zobaczy
poszczeglne metryki dotyczce twoich kontenerw. Zgromadzone metryki s posortowane
- 44 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
wedug CPU, pamici, sieci oraz I/O. Datadog rozgranicza metryki pomidzy kontenery a
obrazy. Poniej zobacz przykad interfejsu uytkownika dla zuycia CPU.
Aby zakoczy konfiguracj bdziesz potrzebowa konta Datadog lub darmowego prbnego
konta. Po zalogowaniu do Datadog spjrz w lewo i przejd do Integrations -> potem APIs.
- 45 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
W powyszej konfiguracji instancje s ustawione na 10 000 000, czyli przy dodaniu nowego
wza do klastra, Datadog automatycznie wykona deploy agenta do tego wza. To jest
tymczasowe rozwizanie. Po zainstalowaniu pakietu, nawiguj do strony Datadog i
Dashboards. Z Dashboards zobaczysz Custom i Integration Dashboards. Kokpit integracji z
Docker (Docker Integration Dashboard) bdzie zawiera metryki kontenera potrzebne do
monitorowania klastra.
Wymagania wstpne
Wdr i pocz klaster skonfigurowany przez usug Azure Container Service. Przegld
interfejsu uytkownika platformy Marathon. Przejd do witryny http://app.sysdigcloud.com i
skonfiguruj konto chmury Sysdig.
Sysdig
Sysdig jest usug monitorowania, ktra umoliwia monitorowanie kontenerw w klastrze.
Usuga Sysdig pomaga w rozwizywaniu problemw, a take oferuje podstawowe metryki
monitorowania procesora, sieci, pamici i operacji we/wy. Usuga Sysdig uatwia sprawdzanie,
ktre kontenery pracuj najciej lub po prostu uywaj najwikszej czci pamici i mocy
procesora. Widok ten jest dostpny w sekcji przegldu zapewnianej obecnie w wersji beta.
- 46 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
- 47 -
Rozdzia 4: DC/OS Zarzdzenie kontenerem przy uyciu
interfejsu uytkownika sieci Web
Ukoczenie konfiguracji wymaga konta w chmurze Sysdig lub bezpatnego konta prbnego.
Po zalogowaniu w witrynie sieci web chmury Sysdig kliknij swoj nazw uytkownika, a na
stronie powinien zosta wywietlony klucz dostpu.
Teraz ustaw wystpienia na 10 000 000, dziki czemu przy kadym dodaniu nowego wza do
klastra usuga Sysdig automatycznie wdroy agenta w tym nowym wle. Jest to rozwizanie
tymczasowe, ktre zapewnia wdroenie usugi Sysdig we wszystkich nowych agentach w
klastrze.
- 48 -
Rozdzia 5: Zarzdzanie kontenerami przy uyciu rozwizania
Docker Swarm
4298d397b9ab6f37e2d1978ef3c8c1537c938e98a8bf096ff00def2eab04bf72
- 49 -
Rozdzia 5: Zarzdzanie kontenerami przy uyciu rozwizania
Docker Swarm
Moesz teraz uzyskiwa dostp do aplikacji, ktra dziaa w tym kontenerze, za porednictwem
publicznej nazwy DNS moduu rwnowaenia obcienia agenta Swarm. Te informacje mona
znale w witrynie Azure Portal:
Domylnie modu rwnowaenia obcienia ma otwarte porty 80, 8080 i 443. Jeli chcesz si
poczy na innym porcie, musisz otworzy ten port w module Azure Load Balancer dla puli
agenta.
- 50 -
Rozdzia 5: Zarzdzanie kontenerami przy uyciu rozwizania
Docker Swarm
Utwrz plik docker-compose.yml w systemie lokalnym. W tym celu uyj tego przykadu.
web:
image: adtd/web:0.1
ports:
- "80:80"
links:
- rest:rest-demo-azure.marathon.mesos
rest:
image: adtd/rest:0.1
ports:
- "8080:8080"
Na koniec zostanie zwrcona lista uruchomionych kontenerw. Bdzie ona zawiera kontenery
wdroone przy uyciu rozwizania Docker Compose:
user@ubuntu:~/compose$ docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
caf185d221b7 adtd/web:0.1 "apache2-foreground" 2 minutes ago
Up About a minute 10.0.0.4:80->80/tcp swarm-agent-3B7093B8-0/compose_web_1
040efc0ea937 adtd/rest:0.1 "catalina.sh run" 3 minutes ago
Up 2 minutes 10.0.0.4:8080->8080/tcp swarm-agent-3B7093B8-0/compose_rest_1
Nastpne kroki
Dowiedz si wicej na temat rozwizania Docker Swarm
- 51 -
Dzikujemy za przeczytanie.
Powodzenia w podry po chmurze!