Megosztás a következőn keresztül:


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

  1. Állítsa be a változót SSH_PUBLIC_KEY az új SSH-kulccsal.
SSH_PUBLIC_KEY="ssh-rsa CCCCC...."
  1. 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

  1. Frissítse a sshPublicKeys paramétert kubernetes-deploy-parameters.json az új SSH-kulccsal.
    "sshPublicKeys": {
      "value": [
        {
          "keyData": "ssh-rsa CCCCC...."
        }
      ]
    }
  1. 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

  1. Állítsa be a változót AGENT_POOL_KEY az új SSH-kulccsal.
AGENT_POOL_KEY="ssh-rsa DDDDD...."
  1. 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.

  1. Frissítse a agentPoolSshKeys paramétert kubernetes-nodepool-parameters.json az új SSH-kulccsal.
    "agentPoolSshKeys": {
      "value": [
        {
          "keyData": "ssh-rsa DDDDD...."
        }
      ]
    }
  1. 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

  1. Állítsa be a változót CONTROL_PLANE_SSH_PUBLIC_KEY az új SSH-kulccsal.
CONTROL_PLANE_SSH_PUBLIC_KEY="ssh-rsa EEEEE...."
  1. 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

  1. Frissítse a controlPlaneSshKeys paramétert kubernetes-deploy-parameters.json az új SSH-kulccsal.
    "controlPlaneSshKeys": {
      "value": [
        {
          "keyData": "ssh-rsa EEEEE...."
        }
      ]
    }
  1. 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.