Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



23.05.2019

Wzmocniony model

Panasonic Toughbook FZ-N1
23.05.2019

Szybsze sieci

D-Link Smart Mesh Wi-Fi AC1900/AC2600/AC3000
23.05.2019

Curved 4K

Samsung LU32R590
14.05.2019

Bezpłatna konferencja OSEC...

Jako patron medialny serdecznie zapraszamy na bezpłatną konferencję OSEC Forum 2019, któa...
23.04.2019

Optymalizacja zużycia chmury

HPE GreenLake Hybrid Cloud
23.04.2019

Zarządzanie wydajnością

VMware vRealize Operations 7.5
19.04.2019

Technologie open source

SUSECON 2019
19.04.2019

Wyjątkowo małe

OKI seria C800
19.04.2019

Łatwy montaż

Rittal AX i KX

OpenStack w praktyce

Data publikacji: 21-02-2019 Autor: Mariusz Ferdyn
Rys. 1. Zakładanie nowej...

Jeżeli pierwszy raz spotkamy się z OpenStackiem, podobnie jak w przypadku chmury publicznej Amazon Web Services zapewne pogubimy się w komponentach systemu. Trudno początkowo się domyślić, która usługa do czego służy. Dobrymi przykładami są Nova oraz Neutron – pierwsza służy do obsługi maszyn wirtualnych, a druga zapewnia obsługę sieci wraz z jej funkcjami wirtualizacji.

 

OpenStack to potężne narzędzie z ogromem opcji. Jeżeli popatrzymy na opcje dostępne w menu, zauważymy zapewne, że niektórzy najpotężniejsi dostawcy chmur publicznych zaadaptowali OpenStacka i dostarczają z powodzeniem swoje usługi. Na pewno wielu z nich czerpało z OpenStacka koncepcje działania chmury publicznej. Warto więc przyjrzeć się bliżej komponentom tego oprogramowania.

> KOMPONENTY OPENSTACKA

Na poniższej liście w nawiasach podano odniesienia do obszaru IT, za jaki odpowiada dany komponent.

 

  • Nova (Compute) – zapewnia nam zarządzanie maszynami wirtualnymi, od ich kreowania na hiperwizorach, poprzez zarządzanie, aż po ich usuwanie. Umożliwia też zarządzanie maszynami fizycznymi przez serwis Ironic. W ograniczony sposób wspiera zarządzanie kontenerami.
  • Neuron (Networking) – podstawowy element OpenStacka, odpowiada za warstwę sieci, która spina wszystkie elementy platformy oraz dostarcza sieć zarówno zewnętrzną, jak i wewnętrzną (prywatną). Element zapewnia stworzenie pełnej wirtualizacji sieci wspierającej topologie typu: Flat, Local, VLAN, GRE i VXLAN. Lista wspieranych wtyczek integrująca hardware jest również imponująca: Cisco Systems Plugin, Extreme Net­works Plugin, Ruijie Networks Plugin, Juniper Networks Neutron Plugin, Calico Neutron Plugin (docs) oraz BNC Plugin (docs).
  • Cinder (Block storage) – dostarcza przestrzeń dyskową dla usługi Nova. Założenia to: wysoka dostępność, redundancja (tolerancja na błędy) i odzyskanie sprawności po nieprzewidzianej awarii (recoverable). Cinder wykorzystuje Linux Volume Manager.
  • Keystone (Identity) – serwis odpowiedzialny za AAA – Authentication, Authorization and Accounting, czyli uwierzytelnianie, uprawnienia i rozliczalność.
  • Glance (Image) – dostarcza obrazy systemów operacyjnych dla maszyn wirtualnych (Nova).
  • Swift (Object Storage) – zapewnia przestrzeń do przechowywania danych. Swift może integrować różny sprzęt fizyczny w celu zapewnienia przestrzeni dla danych. Założeniem projektu jest dostarczyć miejsce na przechowywanie danych tanio i bezpiecznie (replikacja, nadmiarowość). Swift ma API kompatybilne z S3 (AWS).
  • Horizon (Dashboard) – graficzny interfejs do obsługi OpenStacka, czyli to, co widzimy przez przeglądarkę.
  • Heat (Orchestration) – niezbędny element dla budowania Instrastructure as a Code, czyli rozwiązanie do automatyzacji i budowy całych środowisk w chmurze.
  • Mistral (Workflow) – również przydatny w budowie koncepcji Infrastructure as a Code, z możliwością budowy i obsługi ścieżek alternatywnych, np. w wyniku wystąpienia błędów.
  • Ceilometer (Telemetry) – projekt zbierania danych o utylizacji środowiska i w związku z tym dający możliwość budowy skalowanych serwisów. Wykorzystywany również do rozliczeń i alarmowania.
  • Trove (Database) – za jego pomocą możemy dostarczać bazy danych jako serwis – tzw. Managed Instance. Dzięki temu użytkownik dostaje bazę danych, ale nie musi zajmować się jej administracją – przynajmniej teoretycznie. Współpracują z nim: MySQL, Redis, Cassandra, Mongo­DB, PostgreSQL i Couchbase.
  • Sahara (Elastic map reduce) – pozwala na budowę rozwiązań big data, dostarcza cluster aplikacyjny Hadoop lub Spark.
  • Ironic (Bare metal) – pozwala dostarczać użytkownikowi maszyny fizyczne zamiast maszyn wirtualnych. System instalowany jest za pomocą mechanizmu PXE, a zarządzany za pomocą IPMI. Może być wykorzystywany do dostarczenia hiperwizorów dla Nova.
  • Zaqar (Messaging) – usługa przesyłania komunikatów i obsługi kolejek.
  • Manila (Shared file system) – pozwala tworzyć tzw. katalogi udostępnione. Wspiera nie tylko NFS i CIFS, ale także lusterFS, HDFS, CephFS i MAPRFS.
  • Designate (DNS) – komponent serwera DNS, który może tworzyć automatycznie rekordy dla usługi Nova. Obsługuje Bind lub PowerDNS.
  • Searchlight (Search) – usługa indeksująca, wykorzystuje klasykę, czyli Elastic Search.
  • Barbican (Key manager) – zarządzanie np. hasłami i certyfikatami.
  • Magnum (Container orchestration) – komponent służący do automatyzacji instalacji i skalowania aplikacji skonteneryzowanych oraz zarządzania nimi. Obsługuje Docker Swarm, Kubernetes i Apache Mesos.


Oczywiście aby wdrożyć OpenStacka, nie musimy instalować i wdrażać wszystkich tych komponentów. Warto również pamiętać o tym, że dodatkowo możemy wspomóc się komponentami zewnętrznymi.

> URUCHOMIENIE OPENSTACKA

Przyjrzyjmy się bliżej platformie OpenStack poprzez jej instalację oraz utworzenie zasobów. Zainstalujemy ją, używając oprogramowania/narzędzia Packstack. Wykorzystamy dwie maszyny z systemem operacyjnym CentOS 7. Jedna z nich będzie pełniła funkcję hosta wirtualizacji i na niej wdrożymy hiperwizor KVM, a na drugiej zainstalujemy oprogramowanie Packstack, które wdroży całe rozwiązanie chmury z wykorzystaniem OpenStacka.

Packstack jest pakietem pozwalającym zainstalować OpenStacka nawet na jednym serwerze. Bazuje na oprogramowaniu Puppet, czyli narzędziu do automatyzacji zarządzania serwerami. Składa się z przygotowanych skryptów i narzędzi upraszczających instalację w celu przeprowadzenia np. studium wykonywalności wdrożenia chmury prywatnej bądź przygotowania się do egzaminu z OpenStacka. Przedstawiony scenariusz służy do zapoznania się z OpenStackiem – z tego powodu nie powinniśmy wykorzystywać przedstawionej w tekście konfiguracji do instalowania OpenStacka w wersji produkcyjnej.

Minimalne wymagania systemowe na każdą maszynę to 20 GB na twardym dysku i 4 GB pamięci RAM. Jako ciekawostkę dodajmy, że dzięki wykorzystaniu Nested Virtualization – dostępnego na maszynach wirtualnych serii Dv3 i Ev3 w chmurze Microsoft Azure – przykładową instalację wykonujemy na maszynie E2s v3, na której uruchamiamy Hyper-V i tworzymy sieć lokalną z translacją adresów NAT:
 

 

Instalujemy dwie maszyny wirtualne oraz system operacyjny CentOS 7. Następnie włączamy Nested Virtualization, tak aby na jednej z nich uruchomić hiperwizor KVM.

 

[...]

 

W świecie IT od ponad 20 lat. Początkowo współpracownik periodyków „Bajtek” i „Commodore & Amiga”. Od 2000 roku specjalizuje się w technologiach Microsoftu. Pełnił funkcję Technical Learning Guide podczas największych konferencji Microsoft TechEd i Ignite w USA. Obecnie ekspert w dziedzinie rozwiązań chmur prywatnych i publicznych, w szczególności Microsoft Azure.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"