Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Program Chef Software udostępnia platformę automatyzacji DevOps dla systemów Linux i Windows, która umożliwia zarządzanie konfiguracjami zarówno serwerów fizycznych, jak i wirtualnych. Rozszerzenie Chef VM to rozszerzenie, które umożliwia oprogramowaniu Chef działanie na maszynach wirtualnych.
Wymagania wstępne
System operacyjny
Rozszerzenie Chef VM jest obsługiwane na wszystkich obsługiwanych systemach operacyjnych na platformie Azure.
Łączność z Internetem
Rozszerzenie maszyny wirtualnej Chef wymaga, aby docelowa maszyna wirtualna była połączona z Internetem, aby pobrać pakiet klienta Chef z sieci CDN.
Schemat rozszerzenia
Poniższy kod JSON przedstawia schemat rozszerzenia maszyny wirtualnej Chef. Rozszerzenie wymaga co najmniej adresu URL serwera Chef Server, nazwy klienta weryfikacji i klucza weryfikacji serwera Chef Server; te wartości można znaleźć w knife.rb
pliku w starter-kit.zip pobranym podczas instalowania programu Chef Automate lub autonomicznego serwera Chef Server. Ponieważ klucz weryfikacji powinien być traktowany jako dane poufne, należy go skonfigurować w ramach elementu protectedSettings , co oznacza, że zostanie on odszyfrowany tylko na docelowej maszynie wirtualnej.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(variables('vmName'),'/', parameters('chef_vm_extension_type'))]",
"apiVersion": "2017-12-01",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
],
"properties": {
"publisher": "Chef.Bootstrap.WindowsAzure",
"type": "[parameters('chef_vm_extension_type')]",
"typeHandlerVersion": "1210.13",
"settings": {
"bootstrap_options": {
"chef_server_url": "[parameters('chef_server_url')]",
"validation_client_name": "[parameters('chef_validation_client_name')]"
},
"runlist": "[parameters('chef_runlist')]"
},
"protectedSettings": {
"validation_key": "[parameters('chef_validation_key')]"
}
}
}
Podstawowe wartości właściwości
Nazwa | Wartość / przykład | Typ danych |
---|---|---|
apiVersion | 2017-12-01 |
łańcuch (data) |
wydawca | Chef.Bootstrap.WindowsAzure |
sznurek |
typ |
LinuxChefClient (Linux), ChefClient (Windows) |
sznurek |
typeHandlerVersion | 1210.13 |
ciąg (podwójny) |
Ustawienia
Nazwa | Wartość / przykład | Typ danych | Wymagane? |
---|---|---|---|
settings/bootstrap_options/chef_server_url | https://api.chef.io/organizations/myorg |
ciąg (adres URL) | Y |
ustawienia/bootstrap_options/walidacja_nazwa_klienta | myorg-validator |
sznurek | Y |
ustawienia/runlist | recipe[mycookbook::default] |
sznurek | Y |
Ustawienia chronione
Nazwa | Przykład | Typ danych | Wymagane? |
---|---|---|---|
ustawieniaChronione/kluczWeryfikacji | -----BEGIN RSA PRIVATE KEY-----\nKEYDATA\n-----END RSA PRIVATE KEY----- |
sznurek | Y |
Wdrażanie szablonu
Rozszerzenia maszyn wirtualnych platformy Azure można wdrażać za pomocą szablonów usługi Azure Resource Manager. Szablony mogą służyć do wdrażania co najmniej jednej maszyny wirtualnej, instalowania klienta Chef, nawiązywania połączenia z serwerem Chef i wykonywania początkowej konfiguracji na serwerze zgodnie z definicją na liście Uruchom
Przykładowy szablon Resource Manager zawierający rozszerzenie Chef dla maszyny wirtualnej jest dostępny w galerii szybkiego startu platformy Azure.
Konfiguracja JSON rozszerzenia maszyny wirtualnej może być zagnieżdżona wewnątrz zasobu maszyny wirtualnej lub umieszczona na poziomie głównym lub najwyższym szablonu JSON usługi Resource Manager. Umieszczanie konfiguracji JSON wpływa na wartość nazwy i typu zasobu. Aby uzyskać więcej informacji, zobacz Ustaw nazwę i typ dla zasobów podrzędnych.
Wdrażanie za pomocą CLI Azure
Azure CLI można użyć do wdrożenia rozszerzenia Chef VM na istniejącej maszynie wirtualnej. Zastąp validation_key zawartością klucza weryfikacji (ten plik jako .pem
rozszerzenie). Zastąp validation_client_name, chef_server_url i run_list tymi wartościami z knife.rb
pliku w zestawie startowym.
az vm extension set \
--resource-group myResourceGroup \
--vm-name myExistingVM \
--name LinuxChefClient \
--publisher Chef.Bootstrap.WindowsAzure \
--version 1210.13 --protected-settings '{"validation_key": "<validation_key>"}' \
--settings '{ "bootstrap_options": { "chef_server_url": "<chef_server_url>", "validation_client_name": "<validation_client_name>" }, "runlist": "<run_list>" }'
Rozwiązywanie problemów i pomoc techniczna
Dane dotyczące stanu wdrożeń rozszerzeń można pobrać z witryny Azure Portal i przy użyciu interfejsu wiersza polecenia platformy Azure. Aby wyświetlić stan wdrożenia rozszerzeń dla danej maszyny wirtualnej, uruchom następujące polecenie przy użyciu interfejsu wiersza polecenia platformy Azure.
az vm extension list --resource-group myResourceGroup --vm-name myExistingVM -o table
Dane wyjściowe wykonywania rozszerzenia są rejestrowane w następującym pliku:
Linux
/var/lib/waagent/Chef.Bootstrap.WindowsAzure.LinuxChefClient
Windows
C:\Packages\Plugins\Chef.Bootstrap.WindowsAzure.ChefClient\
Kody błędów i ich znaczenie
Kod błędu | Znaczenie | Możliwe działanie |
---|---|---|
51 | To rozszerzenie nie jest obsługiwane w systemie operacyjnym maszyny wirtualnej |
Dodatkowe informacje dotyczące rozwiązywania problemów można znaleźć w pliku readme rozszerzenia maszyny wirtualnej Chef.
Uwaga
Aby uzyskać informacje bezpośrednio związane z programem Chef, skontaktuj się z pomocą techniczną programu Chef.
Następne kroki
Jeśli potrzebujesz więcej pomocy w dowolnym momencie tego artykułu, możesz skontaktować się z ekspertami platformy Azure na forach MSDN Azure i Stack Overflow. Alternatywnie, możesz zgłosić zgłoszenie do pomocy technicznej dla platformy Azure. Przejdź do witryny pomoc techniczna platformy Azure i wybierz pozycję Uzyskaj pomoc techniczną. Aby uzyskać informacje na temat korzystania z pomocy technicznej platformy Azure, zapoznaj się z często zadawanymi pytaniami dotyczącymi usługi Microsoft pomoc techniczna platformy Azure.