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.
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.