SSH-kulcsok konfigurálása és kezelése az Azure Operator Nexus Kubernetes-fürtcsomópontokon
Ez a cikk bemutatja, hogyan konfigurálhatja és kezelheti az SSH-kulcsot a Nexus Kubernetes-ügynökkészleten és a vezérlősík csomópontjain. Az SSH-kulcsok biztonságos módszert biztosítanak ezeknek a csomópontoknak a fürtben való elérésére.
Előfeltételek
Mielőtt továbblép az útmutatóra, javasoljuk, hogy:
- Az operátor Nexus Kubernetes-fürt rövid útmutatójában átfogó áttekintést és lépéseket olvashat.
- Az útmutató zökkenőmentes megvalósítása érdekében győződjön meg arról, hogy megfelel a rövid útmutatóban ismertetett előfeltételeknek.
Feljegyzés
Ez az útmutató feltételezi, hogy már rendelkezik egy meglévő Nexus Kubernetes-fürttel, amelyet a gyorsútmutató használatával hoztak létre, és hozzáféréssel rendelkezik az SSH-kulcsok frissítéséhez használt parancssori felülethez, ARM-sablonhoz vagy Bicep-hez.
A Nexus Kubernetes-fürtcsomópont SSH-kulcsainak konfigurálása
A Nexus Kubernetes operátorfürt konfigurálásakor meg kell adnia a fürt csomópontjaihoz tartozó SSH-kulcsokat. Az SSH-kulcsok biztonságos módszert biztosítanak ezeknek a csomópontoknak a fürtben való elérésére.
Többféleképpen is megadhat SSH-kulcsokat a fürtcsomópontokhoz.
- Ha ugyanazt az SSH-kulcsot szeretné használni a fürt összes csomópontjához, nyilvános kulcsok tömbjét is megadhatja a fürt létrehozásakor. Ezek a kulcsok be lesznek szúrva az ügynökkészlet összes csomópontjába és a vezérlősík csomópontjaiba.
- Ha különböző SSH-kulcsokat szeretne használni különböző ügynökkészletekhez vagy vezérlősík-csomópontokhoz, minden készlethez megadhat egy egyedi nyilvános kulcsot, lehetővé teszi az SSH-hozzáférés részletesebb kezelését, ez felülbírálja a fürt széles kulcsait. Minden új ügynökkészletet a rendszer később hozzáad a fürthöz kulcsok nélkül, és a fürt széles kulcsait használja, ha rendelkezik kulccsal, akkor a megadott kulcsot használja.
- Ha nem ad meg SSH-kulcsokat a fürt létrehozásakor, a rendszer nem szúr be SSH-kulcsokat a csomópontokba. Ez azt jelenti, hogy a felhasználók nem tudnak SSH-t beszedni a csomópontokba. A fürtkonfiguráció frissítésével később SSH-kulcsokat adhat hozzá, de a hozzáadás után nem távolíthatja el ezeket a kulcsokat.
A következő változókat kell beállítania, valamint a rövid útmutató alapértelmezett értékeit, amelyeket bizonyos változókhoz használhat.
SSH_PUBLIC_KEY
- A fürt széles kulcsaihoz. A fürt széles kulcsának ügynökkészlettel és vezérlősíkkulcsokkal való használata nincs hatással, mivel a vezérlősík és az ügynökkészlet kulcsait használja a fürtszintű kulcsok helyett.CONTROL_PLANE_SSH_PUBLIC_KEY
- A vezérlősíkhoz megadhatja a vezérlősík csomópontjaiba beszúrt nyilvános kulcsokat.INITIAL_AGENT_POOL_SSH_PUBLIC_KEY
– Minden ügynökkészlethez megadhat nyilvános kulcsokat, amelyeket beszúr a készlet csomópontjaiba.
az networkcloud kubernetescluster create \
--name "${CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--subscription "${SUBSCRIPTION_ID}" \
--extended-location name="${CUSTOM_LOCATION}" type=CustomLocation \
--location "${LOCATION}" \
--kubernetes-version "${K8S_VERSION}" \
--aad-configuration admin-group-object-ids="[${AAD_ADMIN_GROUP_OBJECT_ID}]" \
--admin-username "${ADMIN_USERNAME}" \
--ssh-key-values "${SSH_PUBLIC_KEY}" \
--control-plane-node-configuration \
count="${CONTROL_PLANE_COUNT}" \
vm-sku-name="${CONTROL_PLANE_VM_SIZE}" \
ssh-key-values='["${CONTROL_PLANE_SSH_PUBLIC_KEY}"]' \
--initial-agent-pool-configurations "[{count:${INITIAL_AGENT_POOL_COUNT},mode:System,name:${INITIAL_AGENT_POOL_NAME},vm-sku-name:${INITIAL_AGENT_POOL_VM_SIZE},ssh-key-values:['${INITIAL_AGENT_POOL_SSH_PUBLIC_KEY}']}]"\
--network-configuration \
cloud-services-network-id="${CSN_ARM_ID}" \
cni-network-id="${CNI_ARM_ID}" \
pod-cidrs="[${POD_CIDR}]" \
service-cidrs="[${SERVICE_CIDR}]" \
dns-service-ip="${DNS_SERVICE_IP}"
A Nexus Kubernetes-fürtcsomópont SSH-kulcsainak kezelése
A nexus kubernetes-fürt csomópontjaihoz tartozó SSH-kulcsokat a fürt létrehozása után kezelheti. Az SSH-kulcsok frissítése lehetséges, de az összes SSH-kulcs eltávolítása a fürtcsomópontról nem lehetséges. Ehelyett a megadott új kulcsok lecserélik az összes meglévő kulcsot.
Az SSH-kulcsok frissítéséhez alkalmazhatja ugyanazt a Bicep-/ARM-konfigurációt, amelyet a kezdeti üzembe helyezés során használt új kulcsokkal, vagy használhatja a parancssori felületet.
Korlátozások
- Az SSH-kulcsok nem távolíthatók el a fürtcsomópontokról. Csak új kulcsokkal frissítheti őket.
- Ha a fürt széles kulcsát üres tömbbel próbálja frissíteni, a művelet sikeres lesz, de a meglévő kulcsok változatlanok maradnak.
- Ha üres tömbbel próbálja frissíteni az ügynökkészlet kulcsait vagy vezérlősíkját, a művelet sikeres lesz, és ehelyett a fürtszintű kulcsokat használja a rendszer.
- Ha egy kulcs nélkül létrehozott fürt kulcsait próbálja frissíteni, a rendszer hozzáadja az új kulcsot, de nem tudja eltávolítani.
Mielőtt elkezdené
- Győződjön meg arról, hogy rendelkezik a fürtkonfiguráció frissítéséhez szükséges engedélyekkel.
- Rendelkezik a fürtcsomópontokhoz használni kívánt új SSH-kulcsokkal.
- A kezdeti üzembe helyezés során használt paraméterfájlt vagy a CLI-parancsban használt változókat használja.
- Az útmutató használatához rendelkeznie kell egy meglévő Nexus Kubernetes-fürtel, amely a rövid útmutató használatával lett létrehozva.
Fürtszintű SSH-kulcsok frissítése
Az alábbi paranccsal frissítheti a fürtszintű SSH-kulcsokat, amelyeket a fürt összes csomópontja használ. A meglévő kulcsok helyébe az új kulcsok kerülnek.
Feljegyzés
Ez csak akkor működik, ha a fürt fürtszintű kulcsokkal lett létrehozva. Ha a fürt ügynökkészlettel vagy vezérlősíkkulcsokkal lett létrehozva, ennek a műveletnek nincs hatása. A következő szakaszokban frissítheti az ügynökkészletet vagy a vezérlősík kulcsait.
Azure CLI a fürtszintű SSH-kulcsok frissítéséhez
- Állítsa be a változót
SSH_PUBLIC_KEY
az új SSH-kulccsal.
SSH_PUBLIC_KEY="ssh-rsa CCCCC...."
- A fürt széles SSH-kulcsainak frissítéséhez használja az alábbi parancsot.
az networkcloud kubernetescluster update --name "$CLUSTER_NAME" --resource-group "$RESOURCE_GROUP" --subscription "$SUBSCRIPTION_ID" --ssh-key-values "$SSH_PUBLIC_KEY"
Az Azure Resource Manager (ARM) és a Bicep a fürt széles SSH-kulcsainak frissítéséhez
- Frissítse a
sshPublicKeys
paramétertkubernetes-deploy-parameters.json
az új SSH-kulccsal.
"sshPublicKeys": {
"value": [
{
"keyData": "ssh-rsa CCCCC...."
}
]
}
- Telepítse újra a sablont.
ARM-sablon esetén:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.json --parameters @kubernetes-deploy-parameters.json
Bicep esetén:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.bicep --parameters @kubernetes-deploy-parameters.json
Ügynökkészlet SSH-kulcsainak frissítése
Az alábbi paranccsal frissítheti egy adott ügynökkészlet SSH-kulcsait.
- Az ügynökkészlet összes csomópontja frissül az új kulcsokkal.
- Ha az ügynökkészlet kulcsokkal lett létrehozva, az új kulcsok lecserélik a meglévő kulcsokat.
- Ha az ügynökkészlet kulcsok nélkül lett létrehozva, a rendszer hozzáadja az új kulcsokat.
- Ha az ügynökkészlet fürtszintű kulcsokkal lett létrehozva, az új kulcsok lecserélik a meglévő kulcsokat.
- Ha egy kulcs nélkül létrehozott fürt kulcsait próbálja frissíteni, a rendszer hozzáadja az új kulcsot, de nem tudja eltávolítani.
- Ha üres tömbbel próbálja frissíteni az ügynökkészlet kulcsait, a művelet sikeres lesz, és ehelyett a fürtszintű kulcsokat használja a rendszer.
Azure CLI az ügynökkészlet SSH-kulcsainak frissítéséhez
- Állítsa be a változót
AGENT_POOL_KEY
az új SSH-kulccsal.
AGENT_POOL_KEY="ssh-rsa DDDDD...."
- Az ügynökkészlet SSH-kulcsainak frissítéséhez használja az alábbi parancsot.
az networkcloud kubernetescluster agentpool update --agent-pool-name "${CLUSTER_NAME}-nodepool-2" --kubernetes-cluster-name "$CLUSTER_NAME" --resource-group "$RESOURCE_GROUP" --subscription "$SUBSCRIPTION_ID" --ssh-key-values "$AGENT_POOL_KEY"
Azure ARM-sablon és Bicep az ügynökkészlet SSH-kulcsainak frissítéséhez
Feljegyzés
A kezdeti ügynökkészlet-konfigurációval létrehozott csomópontkészletek frissítése nem lehetséges ezzel a módszerrel, mivel nincs külön ügynökkészletsablon és paraméterfájl. Ezzel a módszerrel csak a fürtlétrehozás után létrehozott készletek ügynökkészletkulcsai frissíthetők. A kezdeti ügynökkészlet kulcsainak frissítéséhez tekintse meg az előző szakaszban megadott CLI-parancsot. Ha a kezdeti ügynökkészlet fürtszintű kulcsokkal lett létrehozva, és frissíteni szeretné a kezdeti ügynökkészlet kulcsait, frissítheti a fürtszintű kulcsokat.
- Frissítse a
agentPoolSshKeys
paramétertkubernetes-nodepool-parameters.json
az új SSH-kulccsal.
"agentPoolSshKeys": {
"value": [
{
"keyData": "ssh-rsa DDDDD...."
}
]
}
- Telepítse újra a sablont.
ARM-sablon esetén:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-add-agentpool.json --parameters @kubernetes-nodepool-parameters.json
Bicep esetén:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-add-agentpool.bicep --parameters @kubernetes-nodepool-parameters.json
Vezérlősík SSH-kulcsainak frissítése
A vezérlősík SSH-kulcsainak frissítéséhez használja az alábbi parancsot.
- A vezérlősík összes csomópontja frissül az új kulcsokkal.
- Ha a vezérlősík kulcsokkal lett létrehozva, az új kulcsok lecserélik a meglévő kulcsokat.
- Ha a vezérlősík kulcsok nélkül lett létrehozva, a rendszer hozzáadja az új kulcsokat.
- Ha a vezérlősík fürtszintű kulcsokkal lett létrehozva, az új kulcsok lecserélik a meglévő kulcsokat.
- Ha egy kulcs nélkül létrehozott fürt kulcsait próbálja frissíteni, a rendszer hozzáadja az új kulcsot, de nem tudja eltávolítani.
- Ha a vezérlősík kulcsait üres tömbbel próbálja frissíteni, a művelet sikeres lesz, és ehelyett a fürt széles kulcsait használja.
Feljegyzés
A vezérlősík kulcsai a kezdeti üzembehelyezési sablonnal és paraméterfájllal frissíthetők, mivel a vezérlősík a fürt része. Az ügynökkészletkulcsok azonban nem frissíthetők ugyanúgy, mivel az ügynökkészlet egy alerőforrás, kivéve, ha az ügynökkészlet fürtszintű kulcsokat használ.
Az Azure CLI a vezérlősík SSH-kulcsainak frissítéséhez
- Állítsa be a változót
CONTROL_PLANE_SSH_PUBLIC_KEY
az új SSH-kulccsal.
CONTROL_PLANE_SSH_PUBLIC_KEY="ssh-rsa EEEEE...."
- A vezérlősík SSH-kulcsainak frissítéséhez használja az alábbi parancsot.
az networkcloud kubernetescluster update --name "$CLUSTER_NAME" --resource-group "$RESOURCE_GROUP" --subscription "$SUBSCRIPTION_ID" --control-plane-node-configuration ssh-key-values="['$CONTROL_PLANE_SSH_PUBLIC_KEY']"
Azure ARM-sablon és Bicep a vezérlősík SSH-kulcsainak frissítéséhez
- Frissítse a
controlPlaneSshKeys
paramétertkubernetes-deploy-parameters.json
az új SSH-kulccsal.
"controlPlaneSshKeys": {
"value": [
{
"keyData": "ssh-rsa EEEEE...."
}
]
}
- Telepítse újra a sablont.
ARM-sablon esetén:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.json --parameters @kubernetes-deploy-parameters.json
Bicep esetén:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.bicep --parameters @kubernetes-deploy-parameters.json
Következő lépések
A Nexus Kubernetes-fürtcsomópontok SSH-kulcsainak konfigurálásával és kezelésével biztosíthatja, hogy a fürt biztonságos legyen, és hogy a problémák elhárításához hozzáférhessen a csomópontokhoz.