Běžné požadavky pro nasazení OpenShift Container Platform 3.11 v Azure
Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ Flexibilní škálovací sady
Tento článek popisuje běžné požadavky na nasazení OpenShift Container Platform nebo OKD v Azure.
Při instalaci OpenShiftu se používají playbooky Ansible. Ansible používá Secure Shell (SSH) pro připojení ke všem hostitelům clusteru a dokončení instalačních kroků.
Když Ansible vytvoří připojení SSH ke vzdáleným hostitelům, nemůže zadat heslo. Z tohoto důvodu k privátnímu klíči nemůže být přidružené heslo (heslo) nebo nasazení selže.
Vzhledem k tomu, že se virtuální počítače nasadí prostřednictvím Azure Resource Manager, používá se stejný veřejný klíč pro přístup ke všem virtuálním počítačům. Odpovídající privátní klíč musí být na virtuálním počítači, který spouští všechny playbooky. K bezpečnému provedení této akce se k předání privátního klíče do virtuálního počítače používá trezor klíčů Azure.
Pokud potřebujete trvalé úložiště pro kontejnery, jsou vyžadovány trvalé svazky. OpenShift podporuje virtuální pevné disky Azure (VHD) pro trvalé svazky, ale Azure musí být nejprve nakonfigurovaný jako poskytovatel cloudu.
V tomto modelu OpenShift:
- Vytvoří objekt VHD v účtu úložiště Azure nebo spravovaném disku.
- Připojí virtuální pevný disk k virtuálnímu počítače a naformátuje svazek.
- Připojí svazek k podu.
Aby tato konfigurace fungovala, potřebuje OpenShift oprávnění k provádění těchto úloh v Azure. K tomuto účelu se používá objekt služby. Instanční objekt je účet zabezpečení v Azure Active Directory který má udělená oprávnění k prostředkům.
Tento objekt služby musí mít přístup k účtům úložiště a virtuálním počítačům, které tvoří cluster. Pokud se všechny prostředky clusteru OpenShift nasadí do jedné skupiny prostředků, můžete k této skupině prostředků udělit oprávnění k objektu služby.
Tato příručka popisuje, jak vytvořit artefakty přidružené k požadavkům.
- Vytvořte trezor klíčů pro správu klíčů SSH pro cluster OpenShift.
- Vytvořte objekt služby, který bude používat poskytovatel cloudu Azure.
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Přihlášení k Azure
Přihlaste se ke svému předplatnému Azure pomocí příkazu az login a postupujte podle pokynů na obrazovce nebo klikněte na Vyzkoušet použití Cloud Shell.
az login
Vytvoření skupiny prostředků
Vytvořte skupinu prostředků pomocí příkazu az group create. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. K hostování trezoru klíčů byste měli použít vyhrazenou skupinu prostředků. Tato skupina je oddělená od skupiny prostředků, do které se nasadí prostředky clusteru OpenShift.
Následující příklad vytvoří skupinu prostředků s názvem keyvaultrg v umístění eastus:
az group create --name keyvaultrg --location eastus
Vytvořte trezor klíčů.
Pomocí příkazu az keyvault create vytvořte trezor klíčů pro uložení klíčů SSH pro cluster. Název trezoru klíčů musí být globálně jedinečný a musí být povolený pro nasazení šablony, jinak nasazení selže s chybou KeyVaultParameterReferenceSecretRetrieveFailed.
Následující příklad vytvoří trezor klíčů keyvault ve skupině prostředků keyvaultrg:
az keyvault create --resource-group keyvaultrg --name keyvault \
--enabled-for-template-deployment true \
--location eastus
Vytvoření klíče SSH
K zabezpečení přístupu ke clusteru OpenShift je potřeba klíč SSH. Vytvořte pár klíčů SSH pomocí příkazu ssh-keygen (v Linuxu nebo macOS):
ssh-keygen -f ~/.ssh/openshift_rsa -t rsa -N ''
Poznámka
Váš pár klíčů SSH nemůže mít heslo ani heslo.
Další informace o klíčích SSH na Windows najdete v tématu Vytvoření klíčů SSHna Windows . Nezapomeňte exportovat privátní klíč ve formátu OpenSSH.
Privátní klíč SSH uložte do Azure Key Vault
Nasazení OpenShiftu používá klíč SSH, který jste vytvořili k zabezpečení přístupu k hlavnímu serveru OpenShift. Pokud chcete nasazení povolit bezpečné načtení klíče SSH, uložte klíč do Key Vault pomocí následujícího příkazu:
az keyvault secret set --vault-name keyvault --name keysecret --file ~/.ssh/openshift_rsa
Vytvoření instančního objektu
OpenShift komunikuje s Azure pomocí uživatelského jména a hesla nebo pomocí objektu služby. Objekt služby Azure je identita zabezpečení, kterou můžete použít s aplikacemi, službami a nástroji pro automatizaci, jako je OpenShift. Řídíte a definujete oprávnění, která operace může instanční objekt provádět v Azure. Je nejlepší nastavit obor oprávnění objektu služby na konkrétní skupiny prostředků, a ne na celé předplatné.
Pomocí příkazu az ad sp create-for-rbac vytvořte objekt služby a jako výstup zadejte přihlašovací údaje, které OpenShift potřebuje.
Následující příklad vytvoří objekt služby a přiřadí mu oprávnění přispěvatele ke skupině prostředků s názvem openshiftrg.
Nejprve vytvořte skupinu prostředků s názvem openshiftrg:
az group create -l eastus -n openshiftrg
Vytvoření objektu služby:
az group show --name openshiftrg --query id
Uložte výstup příkazu a místo příkazu $scope použijte příkaz .
az ad sp create-for-rbac --name openshiftsp \
--role Contributor --scopes $scope \
Poznamenejte si vlastnost appId a heslo vrácené příkazem :
{
"appId": "11111111-abcd-1234-efgh-111111111111",
"displayName": "openshiftsp",
"name": "http://openshiftsp",
"password": {Strong Password},
"tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
Upozornění
Nezapomeňte si zapsat zabezpečené heslo, protože toto heslo nebude možné znovu načíst.
Další informace o objektech služby najdete v tématu Vytvoření objektu služby Azure pomocí Azure CLI.
Požadavky, které se vztahují pouze Resource Manager šablony
Bude potřeba vytvořit tajné kódy pro privátní klíč SSH (sshPrivateKey), tajný klíč klienta Azure AD (aadClientSecret), heslo správce OpenShiftu (openshiftPassword) a heslo správce předplatného Red Hat nebo aktivační klíč (rhsmPasswordOrActivationKey). Pokud se navíc používají vlastní certifikáty TLS/SSL, bude potřeba vytvořit šest dalších tajných kódů – routingcafile, routingcertfile, routingkeyfile, mastercafile, mastercertfile a masterkeyfile. Tyto parametry budou vysvětleny podrobněji.
Šablona odkazuje na konkrétní názvy tajných názvů, takže musíte použít tučné názvy uvedené výše (rozlišují se malá a velká písmena).
Vlastní certifikáty
Ve výchozím nastavení šablona nasadí cluster OpenShift pomocí certifikátů podepsaných svým držitelem pro webovou konzolu OpenShift a doménu směrování. Pokud chcete použít vlastní certifikáty TLS/SSL, nastavte routingCertType na custom a masterCertType na custom. Pro certifikáty budete potřebovat soubory CA, Cert a Key ve formátu .pem. Vlastní certifikáty je možné použít pro jeden, ale ne druhý.
Tyto soubory budete muset uložit do Key Vault tajných kódů. Použijte stejný Key Vault jako ten, který se používá pro privátní klíč. Místo toho, aby šablona pro názvy tajných kódů vyžadovala 6 dalších vstupů, musí pro každý soubor certifikátu TLS/SSL používat konkrétní názvy tajných kódů. Data certifikátu uložte pomocí informací z následující tabulky.
| Název tajného klíče | Soubor certifikátu |
|---|---|
| hlavní soubor | Soubor hlavní certifikační autority |
| hlavní soubor | hlavní soubor CERT |
| soubor hlavního klíče | Soubor hlavního klíče |
| routingcafile (soubor směrování) | soubor certifikační autority pro směrování |
| routingcertfile (soubor routingcertfile) | směrování souboru CERT |
| routingkeyfile (soubor klíče směrování) | soubor klíče směrování |
Vytvořte tajné kódy pomocí Azure CLI. Níže je příklad.
az keyvault secret set --vault-name KeyVaultName -n mastercafile --file ~/certificates/masterca.pem
Další kroky
Tento článek se týkal následujících témat:
- Vytvořte trezor klíčů pro správu klíčů SSH pro cluster OpenShift.
- Vytvořte objekt služby pro použití službou Azure Cloud Solution Provider.
Dále nasaďte cluster OpenShift: