Skip to main content

Google Cloud Platform deployment VM z Ubuntu

· 2 min read
Piotr Rogala

Zastanawialiście się jak działają szablony w Google Cloud Platform? Miałem jakiś czas temu możliwość dowiedzieć się jak to działa, dlatego postanowiłem zrobić mały wpis na ten temat. Czym jest GCP (Google Cloud Platform)? Jeśli wiesz czym jest Azure i Amazon Web Services (AWS) to GCP jest kolejnym dostawcą z podobnymi rozwiązaniami. Od ponad roku GCP jest prężnie rozwijane w stronę rynku wirtualnych maszyn i web serwisów wychodząc na przeciw AWS'owi i Azure'owi powstał portal analogicznie podobny do zarządzania własnymi projektami można to odwzorować tak jakby do subskrypcji w Azure.

Portal: https://console.cloud.google.com

Google udostępnia własne CLI do zarządzania projektami: https://cloud.google.com/sdk/ po instalacji SDK możemy używać komend np. do deploymentu. Deploment wirtualnej maszyny różni się znacząco od tych których używamy w Azure i AWS, mają one rozszerzenia. jinja lub. yaml gdzie możemy wspomagać nasz deployment plikami python'owymi .py. Daje to nam duże możliwości konstruowania skomplikowanych delpoymentów.

Zajrzyjmy do przygotowanego przeze mnie deploymentu VM z systemem ubuntu: https://github.com/RogalaPiotr/JustCloudPublic/blob/master/gcloud-simple-ubuntu

W poniższym kodzie należy zaktualizować go o wartości nazwy projektu podmieniając "wartość your-project-name", plik vm .yaml:

resources:
- type: compute.v1.instance
name: simple-ubuntu
properties:
zone: europe-west1-c
machineType: projects/your-project-name/zones/europe-west1-c/machineTypes/f1-micro
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
sourceImage: projects/your-project-name/global/images/ubuntu-1604-xenial-v20170815a
diskType: projects/your-project-name/zones/europe-west1-c/diskTypes/pd-standard
networkInterfaces:
- network: projects/your-project-name/global/networks/default
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT

Na pierwszy rzut oka plik nie jest skomplikowany, ponieważ plik .yaml jest tylko skrótem definicji które są wysyłane dalej do schematu gdzie pod spodem ma dużo więcej funkcji, których nie musimy definiować.

Po zalogowaniu się z cmd do GCP możemy wywołać powyższy deployment używając polecenia:

gcloud deployment-manager deployments create simple-ubuntu --config vm.yaml

Po wykonaniu tego polecenia rozpocznie się deployment a następnie zostanie uruchomiona maszyna z systemem ubuntu. Zapraszam do testowania i zadawani pytań.