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



21.02.2019

Wdrażanie projektów AI

Infrastruktura OVH
21.02.2019

Certyfikacja kluczy

HEUTHES-CAK
21.02.2019

Kopie zapasowe

Veeam Availability for AWS
21.02.2019

Dysk SSD Samsung 970 EVO Plus

Dysk SSD Samsung 970 EVO Plus
21.02.2019

Szyfrowane USB

Kingston IronKey D300 Serialized
21.02.2019

Bezpieczeństwo sieci

Check Point Maestro i seria 6000
21.02.2019

Ochrona danych

Commvault IntelliSnap i ScaleProtect
21.02.2019

Ułatwienie telekonferencji

Plantronics Calisto 3200 i 5200
21.02.2019

Transformacja centrów danych

Fujitsu PRIMEFLEX for VMware vSAN

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"