Az OpenShift Container Platform 3.11 azure-beli üzembe helyezésének gyakori előfeltételei

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai

Ez a cikk az OpenShift Container Platform vagy az OKD Azure-ban való üzembe helyezésének gyakori előfeltételeit ismerteti.

Az OpenShift telepítése Ansible-forgatókönyveket használ. Az Ansible a Secure Shell (SSH) használatával csatlakozik az összes fürt gazdagépéhez a telepítési lépések elvégzéséhez.

Ha az ansible SSH-kapcsolatot létesít a távoli gazdagépekkel, nem tud jelszót megadni. Emiatt a titkos kulcshoz nem lehet jelszó (jelszó) társítva, vagy az üzembe helyezés meghiúsul.

Mivel a virtuális gépek Azure Resource Manager-sablonokon keresztül helyezhetők üzembe, a rendszer ugyanazt a nyilvános kulcsot használja az összes virtuális géphez való hozzáféréshez. A megfelelő titkos kulcsnak az összes forgatókönyvet végrehajtó virtuális gépen kell lennie. A művelet biztonságos végrehajtásához egy Azure Key Vault használatával továbbítja a titkos kulcsot a virtuális gépnek.

Ha állandó tárolókra van szükség, akkor állandó kötetekre van szükség. Az OpenShift támogatja az Azure-beli virtuális merevlemezeket (VHD-ket) az állandó kötetekhez, de az Azure-t először felhőszolgáltatóként kell konfigurálni.

Ebben a modellben az OpenShift:

  • Létrehoz egy VHD-objektumot egy Azure-tárfiókban vagy egy felügyelt lemezen.
  • Csatlakoztatja a virtuális merevlemezt egy virtuális géphez, és formázja a kötetet.
  • Csatlakoztatja a kötetet a podhoz.

Ahhoz, hogy ez a konfiguráció működjön, az OpenShiftnek engedélyekre van szüksége ezeknek a feladatoknak az Azure-ban való végrehajtásához. Erre a célra szolgáltatásnevet használunk. A szolgáltatásnév egy biztonsági fiók az Azure Active Directoryban, amely engedélyeket kap az erőforrásokhoz.

A szolgáltatásnévnek hozzá kell férnie a fürtöt alkotó tárfiókokhoz és virtuális gépekhez. Ha az Összes OpenShift-fürterőforrás egyetlen erőforráscsoportban van üzembe helyezve, a szolgáltatásnév engedélyeket adhat az adott erőforráscsoportnak.

Ez az útmutató bemutatja, hogyan hozhatja létre az előfeltételekhez társított összetevőket.

  • Hozzon létre egy kulcstartót az OpenShift-fürt SSH-kulcsainak kezeléséhez.
  • Hozzon létre egy szolgáltatásnevet az Azure Cloud Provider számára.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Bejelentkezés az Azure-ba

Jelentkezzen be az Azure-előfizetésbe az az login paranccsal, és kövesse a képernyőn megjelenő utasításokat, vagy kattintson a Kipróbálás elemre a Cloud Shell használatához.

az login

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot az az group create paranccsal. Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. A kulcstartó üzemeltetéséhez egy dedikált erőforráscsoportot kell használnia. Ez a csoport elkülönül attól az erőforráscsoporttól, amelyben az OpenShift-fürt erőforrásai üzembe helyezhetők.

Az alábbi példa létrehoz egy keyvaultrg nevű erőforráscsoportot az eastus helyen:

az group create --name keyvaultrg --location eastus

Kulcstartó létrehozása

Hozzon létre egy kulcstartót a fürt SSH-kulcsainak tárolásához az az keyvault create paranccsal. A kulcstartó nevének globálisan egyedinek kell lennie, és engedélyezni kell a sablon üzembe helyezéséhez, vagy az üzembe helyezés "KeyVaultParameterReferenceSecretRetrieveFailed" hibával meghiúsul.

Az alábbi példa egy keyvault nevű kulcstartót hoz létre a keyvaultrg erőforráscsoportban:

az keyvault create --resource-group keyvaultrg --name keyvault \
       --enabled-for-template-deployment true \
       --location eastus

SSH-kulcs létrehozása

Az OpenShift-fürthöz való hozzáférés biztonságossá tételéhez SSH-kulcsra van szükség. Hozzon létre egy SSH-kulcspárt a ssh-keygen paranccsal (Linux vagy macOS rendszeren):

ssh-keygen -f ~/.ssh/openshift_rsa -t rsa -N ''

Megjegyzés

Az SSH-kulcspár nem rendelkezhet jelszóval/jelszóval.

A Windows SSH-kulcsokkal kapcsolatos további információkért lásd: SSH-kulcsok létrehozása Windows rendszeren. Ügyeljen arra, hogy a titkos kulcsot OpenSSH formátumban exportálja.

Az SSH titkos kulcsának tárolása az Azure Key Vault

Az OpenShift üzembe helyezése a létrehozott SSH-kulccsal biztosítja az OpenShift-főkiszolgálóhoz való hozzáférést. Ha engedélyezni szeretné, hogy az üzemelő példány biztonságosan lekérje az SSH-kulcsot, tárolja a kulcsot Key Vault a következő paranccsal:

az keyvault secret set --vault-name keyvault --name keysecret --file ~/.ssh/openshift_rsa

Egyszerű szolgáltatás létrehozása

Az OpenShift felhasználónévvel és jelszóval vagy szolgáltatásnévvel kommunikál az Azure-ral. Az Azure-szolgáltatásnevek olyan biztonsági identitások, amelyeket az OpenShifthez hasonló alkalmazásokkal, szolgáltatásokkal és automatizálási eszközökkel használhat. Ön határozza meg, hogy a szolgáltatásnév milyen műveleteket hajthat végre az Azure-ban. A szolgáltatásnév engedélyeit célszerű a teljes előfizetés helyett adott erőforráscsoportokra korlátozni.

Hozzon létre egy egyszerű szolgáltatást az az ad sp create-for-rbac paranccsal, és adja ki az OpenShift által igényelt hitelesítő adatokat.

Az alábbi példa létrehoz egy szolgáltatásnevet, és közreműködői engedélyeket rendel hozzá egy openshiftrg nevű erőforráscsoporthoz.

Először hozza létre az openshiftrg nevű erőforráscsoportot:

az group create -l eastus -n openshiftrg

Szolgáltatásnév létrehozása:

az group show --name openshiftrg --query id

Mentse a parancs kimenetét, és használja a $scope helyett a következő parancsban

az ad sp create-for-rbac --name openshiftsp \
      --role Contributor --scopes $scope \

Jegyezze fel a parancs által visszaadott appId tulajdonságot és jelszót:

{
  "appId": "11111111-abcd-1234-efgh-111111111111",
  "displayName": "openshiftsp",
  "name": "http://openshiftsp",
  "password": {Strong Password},
  "tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}

Figyelmeztetés

Mindenképpen írja le a biztonságos jelszót, mert nem lehet majd újból lekérni ezt a jelszót.

További információ a szolgáltatásnevekről: Azure-szolgáltatásnév létrehozása az Azure CLI-vel.

Csak Resource Manager sablonra vonatkozó előfeltételek

Titkos kódokat kell létrehozni az SSH titkos kulcshoz (sshPrivateKey), Azure AD titkos ügyfélkulcshoz (aadClientSecret), OpenShift rendszergazdai jelszóhoz (openshiftPassword) és Red Hat Subscription Manager-jelszóhoz vagy aktiválási kulcshoz (rhsmPasswordOrActivationKey). Emellett ha egyéni TLS-/SSL-tanúsítványokat használ, további hat titkos kulcsot kell létrehoznia : routingcafile, routingcertfile, routingkeyfile, mastercafile, mastercertfile és masterkeyfile. Ezeket a paramétereket részletesebben ismertetjük.

A sablon adott titkos kódnevekre hivatkozik, ezért a fent felsorolt félkövér neveket kell használnia (a kis- és nagybetűk megkülönböztetése).

Egyéni tanúsítványok

Alapértelmezés szerint a sablon egy OpenShift-fürtöt helyez üzembe önaláírt tanúsítványokkal az OpenShift-webkonzolhoz és az útválasztási tartományhoz. Ha egyéni TLS-/SSL-tanúsítványokat szeretne használni, állítsa a "routingCertType" értéket "egyéni" értékre, a "masterCertType" értékét pedig "custom" értékre. A tanúsítványokhoz szüksége lesz a hitelesítésszolgáltatói, tanúsítvány- és kulcsfájlokra .pem formátumban. Egyéni tanúsítványokat is használhat az egyikhez, a másikhoz azonban nem.

Ezeket a fájlokat Key Vault titkos kulcsokban kell tárolnia. Használja ugyanazt a Key Vault, mint amelyet a titkos kulcshoz használt. Ahelyett, hogy 6 további bemenetre lenne szükség a titkos kódokhoz, a sablon nehezen kódolható, hogy az egyes TLS-/SSL-tanúsítványfájlokhoz adott titkos neveket használjon. Tárolja a tanúsítványadatokat az alábbi táblázat adataival.

Titkos kód neve Tanúsítványfájl
mastercafile fő hitelesítésszolgáltatói fájl
mastercertfile master CERT-fájl
masterkeyfile master key file
routingcafile ca-fájl útválasztása
routingcertfile útválasztási CERT-fájl
routingkeyfile útválasztási kulcsfájl

Hozza létre a titkos kódokat az Azure CLI használatával. Az alábbiakban egy példa látható.

az keyvault secret set --vault-name KeyVaultName -n mastercafile --file ~/certificates/masterca.pem

Következő lépések

Ez a cikk a következő témaköröket érintette:

  • Hozzon létre egy kulcstartót az OpenShift-fürt SSH-kulcsainak kezeléséhez.
  • Hozzon létre egy szolgáltatásnevet az Azure Cloud Solution Provider számára.

Ezután helyezzen üzembe egy OpenShift-fürtöt: