Udostępnij za pośrednictwem


Cloud-Init

Usługa CycleCloud obsługuje cloud-init jako sposób konfigurowania maszyny wirtualnej podczas pierwszego rozruchu przed wystąpieniem innej konfiguracji specyficznej dla aplikacji CycleCloud na maszynie wirtualnej. Użycie pakietu cloud-init to skuteczny sposób konfigurowania aspektów maszyny wirtualnej (takich jak sieć, dublowanie yum/apt itp.) przed zainstalowaniem oprogramowania zarządzanego przez harmonogramy CycleCloud (HPC).

Poniżej przedstawiono prosty przykład określania skryptu powłoki bash do uruchomienia podczas rozruchu przy użyciu atrybutu CloudInit w szablonie klastra:

[node scheduler]
CloudInit = '''#!/bin/bash
echo "cloud-init works" > /tmp/cloud-init.txt
'''

Uwaga

W szablonie klastra można użyć potrójnych ciągów cytowanych, aby określić ciąg wielowierszowy, taki jak skrypt powłoki Bash lub YAML.

Ostrzeżenie

Nie wszystkie obrazy systemu operacyjnego w pomoc techniczna platformy Azure cloud-init. Aby uzyskać szczegółowe informacje na temat obsługi pakietu cloud-init dla maszyn wirtualnych na platformie Azure , zapoznaj się z tematem obsługa pakietu cloud-init i osią czasu dostępności szerszej obsługi.

Ustawianie Cloud-Init przy użyciu interfejsu użytkownika

Interfejs użytkownika aplikacji CycleCloud obsługuje edytowanie pliku cloud-init. Podczas tworzenia lub edytowania dowolnego klastra nowa karta o nazwie "Cloud-Init" umożliwia edytowanie skryptu cloud-init dla każdego węzła w klastrze. Edytor w interfejsie użytkownika aplikacji CycleCloud będzie zezwalać na wprowadzanie dowolnego tekstu. Wyróżnianie składni jest włączone dla skryptów języka Python, powłoki lub YAML.

Edytowanie pakietu cloud-init w interfejsie użytkownika aplikacji CycleCloud

Cloud-Init porządkowanie i obsługa błędów

W przypadku węzłów CycleCloud z określoną wartością CloudInit usługa CycleCloud będzie aprowizować maszynę wirtualną i czekać, aż usługa cloud-init zostanie uruchomiona do ukończenia przed rozpoczęciem jakiejkolwiek innej konfiguracji. Jeśli CloudInit określono wartość w węźle, a usługa CycleCloud nie wykryje obsługi pakietu cloud-init dla systemu operacyjnego, węzeł przejdzie w stan błędu, a przyczyna zostanie przekazana do aplikacji CycleCloud. Jeśli wykonanie skryptu CloudInit nie powiedzie się (np. z powodu błędu skryptowego lub błędu składniowego), węzeł przejdzie w stan błędu, a błąd zgłoszony przez cloud-init zostanie przekazany do aplikacji CycleCloud.

Po uruchomieniu pakietu cloud-init do ukończenia bez błędów usługa CycleCloud będzie nadal konfigurować maszynę wirtualną w zwykły sposób.

Ważne

Usługa CycleCloud nie scala automatycznie skryptów cloud-init. Jeśli element [node defaults] określa skrypt cloud-init, a także węzeł dziedziczony po wartościach domyślnych, skrypt cloud-init w [node defaults] pliku zostanie zastąpiony. Ręczne scalanie skryptów jest sugerowane, gdy należy udostępnić kod. Alternatywnie można użyć formatu dołączania danych użytkownika pliku w celu uwzględnienia listy adresów URL do przetworzenia przez plik cloud-init.