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



08.07.2019

Narzędzie EDR

ESET Enterprise Inspector
08.07.2019

Usuwanie skutków awarii

Veeam Availability Orchestrator v2
08.07.2019

Indywidualna konfiguracja

baramundi Management Suite 2019
05.07.2019

Technologia Ceph

SUSE Enterprise Storage 6
05.07.2019

Szybkie i bezpieczne...

Konica Minolta bizhub i-Series
05.07.2019

Edge computing

Atos BullSequana Edge
04.07.2019

Terabitowa ochrona

Check Point 16000 i 26000
04.07.2019

Obsługa wideokonferencji

Poly G7500
04.07.2019

Laptop biznesowy

Fujitsu LIFEBOOK U939X

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"