Konfiguracja klastra
Obiekty konfiguracji mają rangę 3 i są podrzędne w stosunku do node
i nodearray
. Obiekt konfiguracji definiuje konfigurowalne właściwości kodu konfiguracji, który jest uruchamiany w węzłach i konfiguracjach projektu CycleCloud .
Atrybuty obiektu
Atrybuty obiektu konfiguracji zachowują się jak inne obiekty, ale są rozszerzone w celu zapewnienia zagnieżdżonych definicji. Wewnętrznie sekcje konfiguracji są scalane, więc może istnieć dowolna liczba sekcji.
Cudzysłowy nie są wymagane dla ciągów ani w wyrażeniach logicznych, true lub false.
[[[configuraton my-project]]]
Attribute1 = Value1
Attribute2 = Value2
KeyAttribute3.Attribute3 = true
[[[configuraton cyclecloud.mounts.mount1]]]
Attribute1 = Value1
Obsługiwane konfiguracje
Usługa CycleCloud obsługuje wiele domyślnych obiektów konfiguracji. Te obsługiwane obiekty znajdują się pod nazwą cyclecloud
.
[[[configuration cyclecloud]]]
Usługa CycleCloud obsługuje sparametryzowaną konfigurację wielu usług systemowych.
Atrybut | Typ | Opis |
---|---|---|
maintenance_converge.enabled | Boolean | Węzły CycleCloud są ponownie konfigurowane co 20 minut, aby upewnić się, że są w prawidłowym stanie. Czasami może to nie być domyślne zachowanie, takie jak ręczne testowanie i aktualizowanie konfiguracji w węźle. Ustawienie tej wartości na false spowoduje, że węzeł zostanie skonfigurowany tylko raz. Ustawienie domyślne: true |
node.zapobiec_dostępowi_do_metadanych | Boolean | Uniemożliwia użytkownikom dostęp do metadanych maszyny wirtualnej z węzła innym niż użytkownik główny lub użytkownik cyclecloud. Te reguły dostępu są stosowane w programie iptables . Ustawienie domyślne: true |
strefa czasowa | Sznurek | Strefę czasową węzła można zmienić, ustawiając ten atrybut na dowolny prawidłowy ciąg strefy czasowej, na przykład PST , EST . Ustawienie domyślne: UTC |
ntp.disabled | Boolean | Rezygnacja z usługi czasu NTP przez ustawienie true . Ustawienie domyślne: false |
ntp.servers | Lista (ciąg) | Lista serwerów NTP do użycia. Ustawienie domyślne: pool.ntp.org |
keepalive.timeout | Integer | Czas w sekundach, przez który węzeł pozostaje "aktywny", jeśli jeszcze nie ukończył instalacji/konfiguracji oprogramowania. Ustawienie domyślne: 14400 (4 godziny) |
Odkrywalne | Boolean | Czy ten węzeł może być "odnaleziony" (wyszukiwany) przez inne węzły uruchomione przez usługę CycleCloud. Ustawienie domyślne: false |
automatyczna_skalowalność.przymusowy_limit_czasu_wyłączenia | Integer | Czas (w minutach) przed wystąpieniem wymuszonego zamknięcia, jeśli funkcja automatycznego skalowania nie może pomyślnie zmniejszyć węzła. Ustawienie domyślne: 15 |
ograniczenia.bezpieczeństwa | Integer | Tylko system Linux. Limity, które mają być stosowane do węzła. Domena, typ i element można określić dla dowolnej prawidłowej wartości zdefiniowanej. Wartości domyślne: security.limits.\*.hard.nofile = 524288 i security.limits.\*.soft.nofile = 1048576 |
Wierzchowce | Zagnieżdżone | W przypadku eksportowania i montowania NFS oraz montowania woluminu. |
selinux.policy | Sznurek | Tylko system Linux.
Pomiń wymuszane selinux zasady dla obrazów niestandardowych. Wyłączono już podstawowe obrazy CycleCloud. |
install_epel | Boolean | Dodaj repozytorium pakietów rozszerzonych dla yum na obrazie wariantu RedHat. Ustawienie domyślne: true |
disable_rhui | Boolean | Rezygnacja z konfiguracji repozytorium Red Hat. Domyślny: false |
ganglia.install | Boolean | Można zrezygnować z instalacji ganglia przez ustawienie false . Ustawienie domyślne: true |
fail2ban.enabled | Boolean | Aby zrezygnować z instalacji fail2ban, należy ustawić false . Ustawienie domyślne: true |
dns.domain | Sznurek | Użyj polecenia nsupdate, aby wymusić aktualizację dynamicznego rekordu DNS. Przydatne tylko w przypadku, gdy są dozwolone przez zasady DNS, a klaster używa serwera DNS, który zezwala na aktualizacje dynamiczne. Ustawienie domyślne: nil |
alias DNS | Sznurek | Użyj polecenia nsupdate, aby wymusić aktualizację dynamicznego rekordu DNS. Przydatne tylko w przypadku, gdy są dozwolone przez zasady DNS, a klaster używa serwera DNS, który zezwala na aktualizacje dynamiczne. Ustawienie domyślne: nil |
replace_sudoers | Boolean | Zezwalaj usłudze Cyclecloud na zarządzanie konfiguracją programu sudoers. Wyłączenie może zakłócać działanie usług użytkownika lub harmonogramu. Ustawienie domyślne: true |
Atrybut | Typ | Opis |
---|---|---|
keepalive.timeout | Integer | Czas w sekundach, przez który należy utrzymać węzeł jako "aktywny", jeżeli nie zakończył instalowania/konfigurowania oprogramowania. Ustawienie domyślne: 14400 (4 godziny) |
Wykrywalne | Boolean | Decyduje, czy ten węzeł może być "wyszukiwany" (znajdowany) przez inne węzły uruchomione za pomocą CycleCloud. Ustawienie domyślne: false |
bezpieczeństwo.limity | Integer | Tylko system Linux. Limity, które mają być stosowane do węzła. Domena, typ i element można określić dla dowolnej prawidłowej wartości zdefiniowanej. Wartości domyślne: security.limits.\*.hard.nofile = 524288 i security.limits.\*.soft.nofile = 1048576 |
Uchwyty | Zagnieżdżone | Do eksportowania i montowania NFS oraz montowania woluminów. |
selinux.policy | Sznurek | Tylko system Linux.
Pomiń wymuszone selinux zasady w wystąpieniach klastra. Ustawienie domyślne: nil |
dns.domain | Sznurek | Użyj polecenia nsupdate, aby wymusić aktualizację dynamicznego rekordu DNS. Przydatne tylko w przypadku, gdy są dozwolone przez zasady DNS, a klaster używa serwera DNS, który zezwala na aktualizacje dynamiczne. Ustawienie domyślne: nil |
alias DNS | Sznurek | Użyj polecenia nsupdate, aby wymusić aktualizację dynamicznego rekordu DNS. Przydatne tylko w przypadku, gdy są dozwolone przez zasady DNS, a klaster używa serwera DNS, który zezwala na aktualizacje dynamiczne. Ustawienie domyślne: nil |
samba.aktywna | Boolean | Tylko system Linux. Instaluje Samba na urządzeniu filer do użycia z węzłami wykonywalnymi Windows. Ustawienie domyślne: false |
[[[configuration cyclecloud.cluster]]]
Przestrzeń nazw CycleCloud cluster
zawiera konfiguracje dla usług rozproszonych i aplikacji klastrowanych.
Atrybut | Typ | Opis |
---|---|---|
autoscale.idle_time_after_jobs | Integer | Węzły są zatrzymywane, jeśli są bezczynne przez określony czas (w sekundach) po uruchomieniu zadań. Ustawienie domyślne: 300 |
Autoskalowanie.Czas_bezczynności_przed_zadaniami | Integer | Węzły są zatrzymywane, jeśli są bezczynne przez określony czas (w sekundach) przed rozpoczęciem wykonywania zadań. Ustawienie domyślne: 1800 |
autoscale.stop_interval | Integer | Opóźnienie czasu między przebiegami testów automatycznego zatrzymywania (w sekundach). Wartość domyślna: 60 . |
autoscale.use_node_groups | Boolean | Włącz zgrupowane węzły — równoważne grupom rozmieszczenia. Dotyczy tylko klastrów PBSPro i Grid Engine. Ustawienie domyślne: true |
[[[configuration cyclecloud.hosts.standalone_dns]]]
Usługa CycleCloud skonfiguruje plik /etc/hosts tak, aby zawierał duży zestaw hostów, tak aby rozpoznawanie nazw w obie strony działało. Te konfiguracje działają jako zastąpienie DNS skonfigurowane na poszczególnych węzłach, a nie centralnie zarządzane, dlatego nazywane autonomicznym systemem DNS.
Atrybut | Typ | Opis |
---|---|---|
Włączone | Boolean | Włącz zarządzanie plikiem hosts etc. Wartość domyślna: true . |
alt_suffix | Sznurek | Zastąpi domyślną nazwę domeny VNET. Przykład: contoso.com |
Podsieci | Lista (ciąg) | Lista bloków CIDR dla rozszerzonego autonomicznego rozpoznawania nazw. |
Domyślnie usługa CycleCloud sprawdzi interfejs sieciowy i utworzy plik /etc/hosts , aby uwzględnić hosty w masce podsieci. Dodatkowe zakresy można dodać przy użyciu atrybutu subnets
.
[[[configuration cyclecloud.hosts.standalone_dns]]]
alt_suffix = my-domain.local
subnets = 10.0.1.0/24, 10.0.5.0/24
Aby zastąpić i wyłączyć usługę autonomiczną:
[[[configuration ]]]
cyclecloud.hosts.standalone_dns.enabled = false
[[[configuration cyclecloud.mounts]]]
Istotną poddomeną konfiguracji cyclecloud jest instalacja. Każda nazwana sekcja montowania odpowiada wpisowi w /etc/fstab.
Przykład sekcji montowania o nazwie primary
.
[[[configuration cyclecloud.mounts.primary]]]
type = nfs
mountpoint = /usr/share/lsf
export_path = /mnt/raid/lsf
options = hard,proto=tcp,mountproto=tcp,retry=30,actimeo=3600,nolock
address = 10.0.0.14
Ważne
Nazwa sekcji montowania odnosi się do atrybutu mount
obiektu [[[volume]]]
.
Atrybut | Typ | Opis |
---|---|---|
typ | Sznurek | Atrybut type powinien być ustawiony na nfs dla wszystkich eksportów NFS, aby odróżniać się od montowania woluminów i innych typów udostępnionych systemów plików. |
ścieżka eksportu | Sznurek | Lokalizacja eksportu w pliku NFS. Jeśli export_path nie jest określony, mountpoint element zostanie użyty jako export_path montażu. |
fs_type | Sznurek | Typ systemu plików do użycia. Np. ext4 , xfs . |
punkt montowania | Sznurek | Lokalizacja, w której system plików zostanie zainstalowany po zastosowaniu jakiejkolwiek dodatkowej konfiguracji. Jeśli katalog jeszcze nie istnieje, zostanie utworzony. |
nazwa_klastra | Sznurek | Nazwa klastra CycleCloud, który eksportuje system plików. Jeśli nie zostanie ustawione, zakłada się lokalny klaster węzła. |
adres | Sznurek | Jawna nazwa hosta lub adres IP systemu plików. Jeśli nie zostanie ustawiona, wyszukiwanie podejmie próbę znalezienia systemu plików w klastrze CycleCloud. |
Opcje | Sznurek | Wszelkie opcje inne niż domyślne do użycia podczas instalowania systemu plików. |
niepełnosprawny | Boolean | Jeśli zostanie ustawiona wartość true , węzeł nie zainstaluje systemu plików. |
poziom RAID | Integer | Typ konfiguracji RAID do użycia, gdy jest używanych wiele urządzeń/woluminów. Domyślnie przyjmuje wartość 0 , co oznacza RAID0, ale można użyć innych poziomów RAID, takich jak 1 lub 10 . |
raid_device_symlink | Sznurek | Po utworzeniu urządzenia RAID, określenie tego atrybutu spowoduje utworzenie łącza symbolicznego do urządzenia RAID. Domyślnie ten atrybut nie jest ustawiany i dlatego nie jest tworzone żadne dowiązanie symboliczne. Należy to ustawić w przypadkach, w których potrzebny jest dostęp do podstawowego urządzenia RAID. |
Urządzenia | Lista (ciąg) | Jest to lista urządzeń, które powinny utworzyć element mountpoint . Ogólnie rzecz biorąc, ten parametr nie powinien być określony (ponieważ usługa CycleCloud ustawi to dla Ciebie na podstawie sekcji [[volume]]], ale w razie potrzeby można ręcznie określić urządzenia. |
vg_name | Sznurek | Urządzenia są konfigurowane w systemie Linux przy użyciu Menedżera woluminów logicznych (LVM). Nazwa grupy woluminów zostanie przypisana automatycznie, ale w przypadkach, gdy jest używana określona nazwa, można ustawić ten atrybut. Wartość domyślna to cyclecloud-vgX , gdzie X jest automatycznie przypisywaną liczbą. |
lv_name | Sznurek | Urządzenia są konfigurowane w systemie Linux przy użyciu Menedżera woluminów logicznych (LVM). Ta wartość jest przypisywana automatycznie i nie wymaga specyfikacji, ale jeśli chcesz użyć niestandardowej nazwy woluminu logicznego, można ją określić przy użyciu tego atrybutu. Wartość domyślna to lv0 . |
porządek | Integer | Określając kolejność, można kontrolować kolejność montowania punktów montowania. Domyślna wartość kolejności dla wszystkich punktów instalacji to 1000, z wyjątkiem wartości "efemerycznej", która jest 0 (efemeryczna jest zawsze instalowana jako pierwsza). To zachowanie można zastąpić w zależności od potrzeb. |
encryption.bits | Integer | Liczba bitów do użycia podczas szyfrowania systemu plików. Wartości standardowe to 128 lub 256 bitowe szyfrowanie AES. Ta wartość jest wymagana w razie potrzeby szyfrowania. |
klucz szyfrowania | Sznurek | Klucz szyfrowania używany podczas szyfrowania systemu plików. W przypadku pominięcia zostanie wygenerowany losowy klucz 2048-bitowy. Automatycznie wygenerowany klucz jest przydatny w przypadku szyfrowania dysków, które nie są utrwalane między ponownym rozruchem (np. szyfrowanie urządzeń efemerycznych). |
encryption.name | Sznurek | Nazwa zaszyfrowanego systemu plików używana podczas zapisywania kluczy szyfrowania. Wartość domyślna to cyclecloud_cryptX , gdzie X to automatycznie wygenerowana liczba. |
encryption.key_path | Sznurek | Lokalizacja pliku na dysku, na który zostanie zapisany klucz. Wartość domyślna to /root/cyclecloud_cryptX.key , gdzie X to automatycznie wygenerowana liczba. |
[[[configuration cyclecloud.exports]]]
Podobnie jak w przypadku przymocowania węzły CycleCloud można skonfigurować jako serwery NFS, jeśli skrypt konfiguracyjny serwera jest włączony. Sekcja eksportu odpowiada wpisowi /etc/export .
Przykład użycia eksportów z obiektem eksportu o nazwie nfs_data
:
[[[configuration cyclecloud.exports.nfs_data]]]
type = nfs
export_path = /mnt/exports/nfs_data
writable = false
Atrybut | Typ | Opis |
---|---|---|
typ | Sznurek |
WYMAGANE Atrybut type musi być ustawiony na nfs dla wszystkich eksportów NFS, aby odróżnić od innych typów współużytkowanego systemu plików. |
export_path | Sznurek | Ścieżka lokalna do wyeksportowania jako system plików NFS. Jeśli katalog jeszcze nie istnieje, zostanie utworzony. |
właściciel | Sznurek | Konto użytkownika, które powinno być właścicielem wyeksportowanego katalogu. |
grupa | Sznurek | Grupa użytkownika, który powinien być właścicielem wyeksportowanego katalogu. |
tryb | Sznurek | Domyślne uprawnienia systemu plików w wyeksportowanym katalogu. |
sieć | Sznurek | Interfejs sieciowy, na którym jest eksportowany katalog. Wartości domyślne dla wszystkich: * . |
synchronizować | Boolean | Opcja eksportu synchronicznego/asynchronicznego. Wartość domyślna to true . |
Zapisywalny | Boolean | Opcja eksportu ro/rw dla systemu plików. Wartość domyślna to true . |
Opcje | Sznurek | Wszelkie opcje inne niż domyślne do użycia podczas eksportowania systemu plików. |