You are on page 1of 27

КЛАСТЕР СИСТЕМИ

ЧЕТВРТА ВЕЖБА
Microsoft Azure
● Microsoft Azure (Windows Azure) е сервис за пресметки во
облак, креиран од Microsoft за изградба, тестирање,
распоредување и управување со апликации и сервиси
преку дата центрите управувани од Microsoft.
● Тој обезбедува:
a) software as a servise (SaaS)
b) platform as a service (PaaS)
c) infrastructure as a service (IaaS)
и поддржува многу различни програмски јазици, алатки и
рамки.
Microsoft Azure
● Доколку немате сметка на МА, може да креирате тука,
а потоа да се најавите за да може да започнете со
користење.
● Откако ќе се најавите, од левата страна во лентата во
All services ги има сите сервиси кои ги нуди Microsoft
Azure, вклучувајќи сервиси за пресметки, складирање
на податоци, контејнери, бази со податоци, аналитика,
вештачка интелигенција и машинско учење, интернет
на нешта итн.
● Во All resources има се’ што некогаш било креирано од
тој корисник: виртуелни машини, мрежни безбедносни
групи, јавни IP адреси, дискови, сервиси, мрежни
интерфејси итн.
I дел - Microsoft Azure

● Најпрво да креираме две виртуелни машини,


така што во вертикалната лента со алатки од
лева страна избираме Virtual Machines.
● Потоа на кликаме на +Add и се пополнуваат
податоците за креирање на ВМ.
● Податоците кои треба да ги пополните за
двете машини се следниве:
I дел - Microsoft Azure
1) За Server:
● Resource group: klaster
● Virtual machine name: Server
● Region: East US //(бидејќи за тој регион се достапни најголем дел од сервисите,
а не се врши конкретна проверка)
● Availability options: No infrastructure redundancy required
● Image: Ubuntu Server 18.04 LTS
● Authentication type: Password
● Username: …
● Password: …
● Confirm password: …
● Public inbound ports: Allow selected ports
● Select inbound ports: SSH
Review + create
Create
I дел - Microsoft Azure
1) За Client:
● Resource group: klaster
● Virtual machine name: Client
● Region: East US //(бидејќи за тој регион се достапни најголем дел од
сервисите, а не се врши конкретна проверка)
● Availability options: No infrastructure redundancy required
● Image: Ubuntu Server 18.04 LTS
● Authentication type: Password
● Username: …
● Password: …
● Confirm password: …
● Public inbound ports: Allow selected ports
● Select inbound ports: SSH
Review + create
Create
I дел - Microsoft Azure
● После креирањето на двете виртуелни машини,
пристапете до нив:
ssh username@ip

● После далечинското пристапување, започнувате


со инсталирање, конфигурација и поставување на
NFS, MPICH2, host file, итн, идентично како
имплементацијата на Beowulf.
● На крај може да се стартува MPI задача.

*Следи чекори од prvaVezba.pdf во делот за


Лабораториски вежби 2018/2019 на курсот Кластер_С
II дел - Microsoft Azure

Quickstart: Распоредување на Azurе


Kubernetes Сервис (АКС) кластер
користејќи Azure портал
II дел - Microsoft Azure

● АКС е управуван Кубернетес сервис којшто дозволува


брзо распоредување и управување со кластери.
● Се распоредува АКС кластер користејќи Azure портал.
● Мулти контејнерски апликации коишто вклучуваат web
front end и Redis инстанци се пуштаат на кластер.
*Redis is an in-memory data structure project implementing a
distributed, in-memory key-value database with optional durability.
● Надгледување на “здравјето” на кластерот и на
деловите коишто ја започнуваат вашата апликација.
II дел - Microsoft Azure
II дел - Microsoft Azure
● Најпрво треба да се креира АКС кластер,
така што во лентата со алатки се одбира All
services, потоа во Search Everything се
впишува Kubernetes services и се одбира
истоимениот сервис.

● На +Add се започнува креирањето на АКС


кластерот.
II дел - Microsoft Azure
Конфигурирајте ги следниве опции:
● Subscription: Azure for Students
● Resource group: myResourceGroup
● Kubernetes cluster name: myAKSCluster
● Region: East US
● Kubernetes version: 1.12.7 (default)
● DNS name prefix: myAKSCluster-dns
● Node count: 1
→ Next: Authentication
● Service principal: Create new
● Enable RBAC: Yes
→ Review + create
II дел - Microsoft Azure
II дел - Microsoft Azure

● За да се менаџира Кубернетес кластерот, се


користи kubectl, командна-линија-клиентот
на Кубернетес.
● Kubectl клиентот е инсталиран во Azure
Cloud Shell-от.
● Отворете го Cloud Shell користејќи го копчето
(>_) во горниот десен дел од Azure порталот.
II дел - Microsoft Azure
● За да го конфигурирате kubectl да може да се конектира на
вашиот Кубернетес кластер, се користи командата az aks
get-credentials.
● Оваа команда ги превзема акредитивите (credentials) и го
конфигурира Кубернетес CLI да може да ги користи.
● Следната наредба ги зема акредитивите за кластерот со
име myAKSCluster во resource group со име
myResourceGroup:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster


II дел - Microsoft Azure
● За да се верифицира конекцијата на вашиот
кластер, се користи kubectl get командата која
враќа листа од кластер јазлите.
kubectl get nodes

● На излез треба да добиете:


NAME STATUS ROLES AGE VERSION
aks-agentpool-14693408-0 Ready agent 15m v1.11.5

*Јазолот кој се креира во претходниот чекор


II дел - Microsoft Azure
● Како да се започне апликацијата?
- Кубернетес манифест датотеката ја
дефинира посакуваната состојба за
кластерот, како што е кој контејнер кога да
се стартува.
-Во овој quickstart, манифестот се користи
за да ги креира сите објекти коишто се
потребни за да се стартува Azure Vote
апликацијата.
II дел - Microsoft Azure
-Овој манифест вклучува две Кубернетес
распоредувања (deployments):
1) едно за примерокот од Azure Vote Python
апликациите;
2) друго за Redis инстанцата;
-Двa Кубернетес Сервиси се исто така креирани:
1) Внатрешен сервис за Редис инстанцата;
2) Надворешен сервис за да може да се пристапува
до Azure Vote апликацијата од интернет;
II дел - Microsoft Azure
● Креирај датотека со име azure-vote.yaml.

● YAML е човечки читлив јазик за серијализација на


податоци. Најчесто се користи за конфигурациски
фајлови, но може да се користи и во многу
апликации каде се складираат или пренесуваат
податоци.

● Во датотеката azure-vote.yaml копирај ја следната


YAML дефиниција, која се наоѓа тука.
II дел - Microsoft Azure
● Kubectl apply командата се користи за распоредување на
апликацијата, така што треба и да се спрецифицира името на
вашиот YAML манифест. Значи, во командна линија
испишете:
kubectl apply -f azure-vote.yaml

● Излезот треба да ги покажува распоредувањата и сервисите


кои се креирани успешно. Конкретно:
deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created
II дел - Microsoft Azure
● Тестирање на апликацијата;
● Кога апликацијата започнува, Кубернетес
сервисот го изложува font end-от на
апликацијата на интернет.
● За да се мониторира прогресот, се користи
kubectl get service командата, со аргумент –
watch:
kubectl get service azure-vote-front --watch
II дел - Microsoft Azure
● Иницијално, надворешната IP за azure-vote-front
сервисот се прикажува дека е во тек:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s

● Кога EXTERNAL-IP адресата ќе се смени од pending


во вистинска јавна IP адреса, тогаш на сервисот му е
доделена валидна јавна IP адреса и може да го
стопирате kubectl надгледувачкиот процес со CTRL-
C. Тоа изгледа:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
II дел - Microsoft Azure
● За да ја видите Azure Vote апликацијата, отворете web
прелистувач и испишете ја надворешната IP адреса од
вашиот сервис. Излезот треба да биде следниов:
II дел - Microsoft Azure
- Гласањето може да започне!

- Откако ќе се заврши со користење на тој кластер и


веќе нема да биде потребен, може да се избрише.
1) Со користење на копчето Delete на работната
табла на АКС кластерот.
2) Со следната наредба во Cloud Shell:
az aks delete --resource-group myResourceGroup --name myAKSCluster --no-wait
II дел - Microsoft Azure
● Кога ќе се избрише АКС кластерот што бил
креиран со az aks create, service principal којшто
се креира автоматски, не е избришан.
Но, може да се избрише со следнава наредба:
az ad sp delete --id $(az aks show -g myResourceGroup -n myAKSCluster
--query servicePrincipalProfile.clientId -o tsv)

● Други поврзани кодови за апликации, Dockerfile,


датотеката од манифестот на Кубернетес
достапни се на GitHub тука.
II дел - Microsoft Azure
● Сличноста помеѓу AWS, Microsoft Azure и
Google Cloud е клучна за да се создаде
конкурентно поле и поради тоа на клиентите
им се нуди можност да изберат за една иста
цел најчесто од повеќе видови на пакети од
различните сервиси.
● Но, секако постојат и разлики. Сите разлики
помеѓу тие сервиси се тука.
● Клучните разлики се на следниот слајд.

You might also like