Jak stworzyć wirtualną maszynę z Linuxem na chmurze NSIS Cloud i uzyskać do niej dostęp przy użyciu linuxowego wiersza poleceń
Stworzenie wirtualnej maszyny na chmurze NSIS Cloud pozwala ci na przeprowadzanie obliczeń bez konieczności polegania na twojej własnej infrastrukturze. W tym artykule stworzysz maszynę wirtualną bazującą na Linuxie i uzyskasz do niej zdalny dostęp na komputerze stacjonarnym lub laptopie z linuxowego wiersza poleceń.
Jeśli chcesz uzyskać dostęp do linuxowej wirtualnej maszyny przy użyciu komputera z Windowsem, użyj następującego artykułu: Jak utworzyć maszynę wirtualną Linux i uzyskać do niej dostęp z pulpitu Windows na NSIS Cloud.
Informacja
Ten artykuł obejmuje tylko podstawy stworzenia wirutalnej maszyny - nie obejmuje tematów takich jak sprzęt NVIDIA albo tworzenie volume’a podczas tworzenia wirtualnej maszyny.
Co będziemy omawiać
Wymagania wstępne
Nr 1 Hosting
Potrzebujesz konta hostingowego NSIS Cloud z dostępem do dashboardu Horizon: https://horizon.cloudferro.com
Nr 2 Podstawowa wiedza o linuxowym terminalu
Powinieneś mieć trochę doświadczenia z linuxowym wierszem polecenia.
Nr 3 Linux zainstalowany na twoim lokalnym komputerze
Powinieneś mieć dystrybucję Linuxa działającą na twoim lokalnym komputerze. Ten artykuł został napisany dla Ubuntu 20.04 LTS, więc jeśli masz inną wersję Linuksa, dostosuj odpowiednio polecenia.
Nr 4 Klient SSH zainstalowany i skonfigurowany na twoim lokalnym linuxowym komputerze
Klient SSH powinien być zainstalowany i skonfigurowany na twoim lokalnym linuxowym komputerze. Zobacz Generowanie pary kluczy SSH w systemie Linux na NSIS.
Jeśli już masz parę kluczy SSH i skonfigurowanego klienta SSH, powinieneś zaimportować swój klucz publiczny do dashboardu Horizon. Ten artykuł zawiera informacje, jak to zrobić: Jak zaimportować klucz publiczny SSH do OpenStack Horizon na NSIS.
Zamiast tego, możesz również stworzyć parę kluczy bezpośrednio w Horizonie: Jak utworzyć parę kluczy w OpenStack Dashboard na NSIS Cloud.
Opcje do wyboru przy tworzeniu wirtualnej maszyny
Tworzenie wirtualnej maszyny jest podzielone na 11 sekcji, z czego cztery są wymagane (są one oznaczone gwiazdką na końcu nazwy opcji). Poza tymi czterema (Details, Source, Flavor i Networks), skonfigurujemy Security Groups i Key Pairs. Pozostałe opcje są poza zakresem tego artykułu.
Informacja
W terminologii OpenStacka, wirtualna maszyna jest również instancją (ang. instance). Instancja to szersze pojęcie ponieważ nie wszystkie instancje muszą być wirtualnymi maszynami; można również użyć prawdziwego sprzętu jako instancji.
Okno do tworzenia wirtualnej maszyny nazywa się Launch Instance. Wprowadzisz tam wszystkie dane o tworzonej instancji.
Krok 1: Otwórz okno Launch Instance i nazwij wirtualną maszynę
W Horizonie przejdź do sekcji Compute -> Instances i kliknij Launch Instance. Powinieneś dostać następujące okno:
Wpisz wybraną przez siebie nazwę wirtualnej maszyny do pola tekstowego Instance Name.
Kliknij Next (albo opcję Source w menu po lewej stronie okna).
Krok 2: Wybierz źródło wirtualnej maszyny
Powinieneś teraz być w oknie Source:
Upewnij się, że z menu rozwijanego Select Boot Source jest wybrana opcja Image.
Z listy Available wybierz dystrybucję Linuxa, która najlepiej odpowiada twoim potrzebon i kliknij na przycisk ↑ znajdujący się przy niej. Powinna ona być teraz widoczna w sekcji Allocated:
Powyższy zrzut ekranu pokazuje, że wybrano Ubuntu 20.04 LTS; jeśli zamiast tego wybrałeś CentOS 7, właśnie on powinien się tam pojawić zamiast Ubuntu 20.04 LTS.
Jeśli zmienisz zdanie, kliknij ↓, by cofnąć wybór źródła i następnie wybierz inne.
Obrazy zawierające w swojej nazwie frazę NVIDIA zawierają sprzęt NVIDIA. Używanie ich jest poza zakresem tego artykułu. W związku z tym upewnij się, że wybrałeś obraz, którego nazwa nie zawiera tej frazy.
Poza tym upewnij się, że w sekcji Create New Volume jest zaznaczona opcja No.
Wybierz opcję Dalej albo Flavor, by wybrać flavor twojej instancji.
Krok 3: Wybierz flavor instancji
Powinieneś zobaczyć następujący formularz:
OpenStackowy flavor to ilość i rodzaj zasobów dostępnych dla twojej instancji - jak VCPU, RAM i miejsce do przechowywania danych.
Wybierz ten, który ci najbardziej odpowiada i kliknij ↑ przy nim.
Nie wybieraj żadnego z poniższych flavorów - zawierają sprzęt firmy NVIDIA i ten artykuł nie obejmuje ich wykorzystania.
vm.a6000.1
vm.a6000.2
vm.a6000.4
vm.a6000.8
Czasami wybrany flavor może dostarczać niewystarczające zasoby dla źródła wybranego w poprzednim kroku. Jeśli tak jest, zobaczysz żółty znak ostrzegawczy przy przynajmniej jednej wartości w rzędzie dotyczącym tego flavora:
By rozwiązać ten problem, wybierz zamiast niego flavor, który wspiera wybrane przez ciebie źródło. Na zrzucie ekranu powyżej, vm.6000.4 jest niedostępny, ale na przykład hm.large już jest dostępny.
Inne możliwe wyjaśnienie tego problemu może być takie, że twoja quota jest za niska, by móc stworzyć wirtualną maszynę z wybranym flavorem. Możesz zobaczyć swoją quotę w sekcji Compute -> Overview twojego dashboardu Horizon. W takim przypadku możesz:
- wybrać inny flavor, albo
skontaktować się ze wsparciem technicznym NSIS Cloud, by zawnioskować o podniesienie quoty - Helpdesk i wsparcie.
Kliknij Next lub Networks, by wybrać sieci, do których twoja wirtualna maszyna będzie podłączona.
Krok 4: Wybierz sieci, do których twoja wirtualna maszyna będzie podłączona
Powinieneś teraz zobaczyć następujące okno:
Tutaj możesz wybrać sieci, do których twoja wirtualna maszyna będzie podłączona. Kontrolują one sposób, w jaki twoja wirtualna maszyna łączy się z:
Internetem,
innymi wirtualnymi maszynami, jak również
innymi zasobami.
Domyślnie, powinieneś mieć dostęp do następujących sieci:
Sieć, której nazwa zaczyna się od cloud_. Owa sieć łączy wirtualne maszyny, do których została przyłączona. Ma również dostęp do sieci external, która daje twojej instancji dostęp do Internetu.
Sieć, której nazwa zaczyna się od eodata_, która daje dostęp do repozytorium EODATA.
eodata to repozytorium produktów satelitarnych dostępnych na chmurze NSIS Cloud do pobierania i przetwarzania.
Wybierz sieci, do których chcesz podłączyć twoją wirtualną maszynę.
To były opcje obowiązkowe. Ponieważ chcemy uzyskać dostęp do instancji poprzez połączenie SSH, musimy ustawić opcje Security Groups i Key Pair.
Krok 5: Wybierz security groups
Security groups kontrolują ruch sieciowy z i do twojej wirtualnej maszyny.
Kliknij Security Groups. Powinieneś zobaczyć następujący formularz:
Domyślnie powinieneś mieć dostęp do dwóch grup:
default, która blokuje cały przychodzący ruch i wpuszcza ruch wychodzący
allow_ping_ssh_icmp_rdp, która wpuszcza przychodzące połączenia ping, SSH, ICMP i RDP
Włącz obie te role. Jednym z portów, jakie otwiera allow_ping_ssh_icmp_rpd, jest 22, który jest wymagany do dostępu przez SSH.
Krok 6: Dodaj parę kluczy SSH
Dodamy teraz twój publiczny klucz SSH do wirtualnej maszyny. Zazwyczaj zastosowanie go do zabezpieczania połączenia SSH jest lepszym wyborem niż użycie hasła.
Dzięki temu, że dodamy ten klucz tutaj, będzie on dostępny na twojej wirtualnej maszynie po jej stworzeniu, bez konieczności jego ręcznego kopiowania.
Kliknij Key Pair. Powinieneś zobaczyć następujące okno:
Przy użyciu tego formularza, możesz dostarczyć klucz SSH do tworzonej wirtualnej maszyny (jeśli wybrany obraz to obsługuje) na trzy sposoby:
przy użyciu opcji Create Key Pair - stworzyć parę kluczy i pobrać ją w tym miejscu
przy użyciu opcji Import Key Pair - wrzucić już istniejący klucz publiczny do Horizona, podobnie jak opisano w Wymaganiu wstępnym numer 4
wybrać jeden z kluczy już wrzuconych do Horizona (np. poprzez wykonanie Wymagania wstępnego numer 4)
W tym przypadku zakładamy, że już wykonałeś Wymaganie wstępne numer 4 i twój klucz znajduje się na liście. Na zrzucie ekranu powyżej przykładowy klucz, którego użyjemy, nazywa się test-key.
Niezależnie od tego, jaką opcję wybierzesz, upewnij się, że wybrany przez ciebie klucz znajduje się w sekcji Allocated.
Krok 7: Stwórz instancję
Kiedy wszystko będziesz miał ustawione, kliknij Launch Instance.
Twoja instancja powinna teraz być na liście Instances. Na początku, ta instancja powinna być w stanie Spawning - jak na następującym zrzucie ekranu:
Spawning to proces przygotowywania instancji.
Poczekaj do kilku minut, aż proces zostanie ukończony. Gdy to nastąpi, w kolumnie Power State powinien być stan Running:
To oznacza, że instancja jest gotowa do użytku.
W Kroku 4 przyłączyłeś do instancji sieć o nazwie zaczynającej się od cloud_. Sieć ta pozwala instancji na wymianę danych z innymi instacjami i z siecią Internet, ale nie daje automatycznie statycznego adresu IP. Taki adres jest ważny, jeśli chcesz hostować stronę internetową, albo uzyskać dostęp do instancji przez protokół SSH.
Dokładnie jak na powyższym zrzucie ekranu, w kolumnie IP Address zobaczysz adresy sieciowe, które zaczynają się od 10. To znaczy, że to lokalne adresy sieciowe. Jeśli chcesz uzyskać zdalny dostęp do swojej instancji, musi mieć ona statyczny adres IP. Można go dodać poprzez przyłączenie do instancji tak zwanego Floating IP.
Krok 8: Przypnij do instancji Floating IP
Następujący artykuł pokazuje, jak stworzyć i podłączyć do instancji Floating IP Jak dodać lub usunąć Floating IP maszyny wirtualnej w NSIS.
Jak to zrobisz, powinieneś go widzieć na dashboardzie Horizon w kolumnie IP Address - tak jak na ostatnim zrzucie ekranu z tego artykułu:
Adres Floating IP z tego artykułu to 64.225.132.0. Twój adres będzie inny.
Krok 9: Podłącz się do wirtualnej maszyny przy użyciu SSH
By dowiedzieć się, jak podłączyć się do wirtualnej maszyny przy użyciu SSH, sprawdź ten artykuł: Jak połączyć się z maszyną wirtualną przez SSH w systemie Linux na NSIS.
Ostatnia komenda z tamtego artykułu to:
Adres IP w tym artykule to 64.225.132.99 i jest inny niż adres z poprzedniego artykułu. Zamiast adresów IP używanych w tych artykułach (64.225.132.99 i 64.225.132.0) użyj adresu, który zobaczyłeś po wykonaniu Kroku 8.
Co można zrobić dalej?
Chmura NSIS Cloud może być używana do zaspokajania standardowych potrzeb hostingowych, takich jak stawianie i używanie:
serwerów LAMP,
serwerów WordPress,
serwerów poczty e-mail,
klastrów Kubernetes i SLURM itp.
Możesz również skorzystać z dostępu do repozytorium EODATA („Earth Observation Data”) zawierającego produkty satelitarne:
Jeśli potrzebujesz więcej mocy obliczeniowej dla celów takich jak deep learning, możesz użyć wirtualnych maszyn ze sprzętem NVIDIA. Następujący artykuł opisuje tworzenie takiej wirtualnej maszyny:
Jeśli chcesz zobaczyć przykład użycia algorytmu typu deep learning do analizy danych satelitarnych, sprawdź ten artykuł:
Aby stworzyć klaster składający się z iluś instancji, sprawdź serię artykułów o Kubernetes:
Jeśli okaże się, że nie jesteś w stanie się połączyć z twoją wirtualną maszyną przy użyciu SSH, możesz użyć konsoli działającej w przeglądarce internetowej do celów takich jak rozwiązywanie problemów. Oto, jak jej użyć:
Jeśli nie chcesz, by dysk twojej instancji został usunięty gdy wirtualna maszyna jest usuwana, możesz wybrać stworzenie wolumenu podczas tworzenia instancji. Więcej informacji jest w tych artykułach:
Maszyna wirtualna utworzona z opcją Create New Volume ustawioną na No na NSIS Cloud
Maszyna wirtualna utworzona z opcją Create New Volume ustawioną na Yes na NSIS Cloud.
Nie możesz użyć dashboardu Horizon do bezpośredniego dodania klucza SSH do wirtualnej maszyny po tym, jak została stworzona. Następujący artykuł przedstawia obejście tego problemu:
Jeśli po jakimś czasie używania stworzonej wirtualnej maszyny zauważysz, że miejsce na dane na twojej wirtualnej maszynie jest niewystarczające na twoje potrzeby, możesz podłączyć do niej wolumen. Następujące artykuły zawierają więcej informacji na ten temat: Jak dołączyć volume do maszyny wirtualnej o rozmiarze mniejszym niż 2 TB w systemie Linux na NSIS i Jak dołączyć volume do maszyny wirtualnej o rozmiarze większym niż 2 TB w systemie Linux na NSIS.