Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak nakonfigurovat a spravovat klíč SSH ve fondu agentů Nexus Kubernetes a uzlech řídicí roviny. Klíče SSH poskytují zabezpečenou metodu přístupu k těmto uzlům v clusteru.
Požadavky
Než budete pokračovat v návodu, doporučujeme:
- Podrobný přehled a postup najdete v příručce Rychlý start ke clusteru Operator Nexus Kubernetes.
- Ujistěte se, že splňujete uvedené požadavky v rychlém startu, abyste zajistili hladký průběh implementace průvodce.
Poznámka:
Tato příručka předpokládá, že už máte existující cluster Operator Nexus Kubernetes vytvořený pomocí příručky Rychlý start a že máte přístup k rozhraní příkazového řádku, šabloně ARM nebo Bicep použitému v rychlém startu k aktualizaci klíčů SSH.
Konfigurace klíčů SSH uzlů clusteru SSH pro operátora Nexus Kubernetes
Při konfiguraci clusteru Operator Nexus Kubernetes musíte pro uzly v clusteru zadat klíče SSH. Klíče SSH poskytují zabezpečenou metodu přístupu k těmto uzlům v clusteru.
Existuje několik různých způsobů, jak pro uzly clusteru zadat klíče SSH.
- Pokud chcete použít stejný klíč SSH pro všechny uzly v clusteru, můžete při vytváření clusteru zadat pole veřejných klíčů. Tyto klíče jsou vloženy do všech uzlů agentního fondu a uzlů řídicí roviny.
- Pokud chcete použít různé klíče SSH pro různé fondy agentů nebo uzly řídicí roviny, můžete pro každý fond poskytnout jedinečný veřejný klíč, což vám umožní spravovat přístup SSH podrobněji. Tím se přepíšou výchozí klíče na úrovni celého clusteru. Jakýkoli nový fond agentů, který se přidá do clusteru bez klíčů, použije klíče platné pro celý cluster. Pokud má klíč, použije zadaný klíč.
- Pokud při vytváření clusteru nezadáte žádné klíče SSH, nebudou do uzlů vloženy žádné klíče SSH. To znamená, že uživatelé nemůžou připojit SSH k uzlům. Klíče SSH můžete později přidat aktualizací konfigurace clusteru, ale po přidání těchto klíčů tyto klíče odebrat nemůžete.
Následují proměnné, které je potřeba nastavit, spolu s výchozími hodnotami průvodce Rychlý start , které můžete použít pro určité proměnné.
-
SSH_PUBLIC_KEY- Pro klíče platné v celém clusteru. Použití klíče pro celý cluster s fondem agentů a klíči řídicí roviny nemá žádný vliv, protože klíče řídicí roviny a fondu agentů se používají místo klíčů pro celý cluster. -
CONTROL_PLANE_SSH_PUBLIC_KEY- Pro řídicí rovinu můžete zadat veřejné klíče, které jsou vloženy do uzlů řídicí roviny. -
INITIAL_AGENT_POOL_SSH_PUBLIC_KEY– Pro každý fond agentů můžete zadat veřejné klíče, které se vloží do uzlů v daném fondu.
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}"
Správa SSH klíčů pro uzly Kubernetes clusteru operátora Nexus.
Po vytvoření clusteru Můžete spravovat klíče SSH pro uzly v clusteru Operator Nexus Kubernetes. Aktualizace klíčů SSH je možná, ale odebrání všech klíčů SSH z uzlu clusteru není možnost. Místo toho všechny nové zadané klíče nahradí všechny existující klíče.
Pokud chcete aktualizovat klíče SSH, můžete použít stejnou konfiguraci Bicep/ARM použitou při počátečním nasazení pomocí nových klíčů nebo použít rozhraní příkazového řádku.
Omezení
- Z uzlů clusteru nemůžete odebrat klíče SSH. Můžete je aktualizovat pouze novými klíči.
- Pokud se pokusíte aktualizovat široký klíč clusteru prázdným polem, operace bude úspěšná, ale stávající klíče zůstanou beze změny.
- Pokud se pokusíte aktualizovat klíče fondu agentů nebo řídicí rovinu pomocí prázdného pole, operace proběhne úspěšně a místo toho se použijí klíče celého clusteru.
- Pokud se pokusíte aktualizovat klíče clusteru vytvořeného bez jakýchkoli klíčů, přidá se nový klíč, ale nemůžete ho odebrat.
Než začnete
- Ujistěte se, že máte požadovaná oprávnění k aktualizaci konfigurace clusteru.
- Máte nové klíče SSH, které chcete použít pro uzly clusteru.
- Máte soubor parametrů použitý během počátečního nasazení nebo proměnné použité v příkazu rozhraní příkazového řádku.
- Pokud chcete použít tuto příručku, musíte mít existující cluster Operator Nexus Kubernetes, který byl vytvořen pomocí příručky pro rychlý start.
Aktualizace klíčů SSH pro široký cluster
Pomocí následujícího příkazu aktualizujte klíče SSH pro celý cluster, které se používají pro všechny uzly v clusteru. Stávající klíče se nahradí novými klíči.
Poznámka:
Funguje to pouze tehdy, když byl cluster vytvořen s použitím clusterových klíčů. Pokud byl cluster vytvořen pomocí fondu agentů nebo klíčů řídicí roviny, tato operace nemá žádný vliv. Další části obsahují pokyny k aktualizaci fondu agentů nebo klíčů řídicí roviny.
Azure CLI pro aktualizaci klíčů SSH pro celý cluster
- Nastavte proměnnou
SSH_PUBLIC_KEYpomocí nového klíče SSH.
SSH_PUBLIC_KEY="ssh-rsa CCCCC...."
- Pomocí následujícího příkazu aktualizujte klíče SSH pro celý cluster.
az networkcloud kubernetescluster update --name "$CLUSTER_NAME" --resource-group "$RESOURCE_GROUP" --subscription "$SUBSCRIPTION_ID" --ssh-key-values "$SSH_PUBLIC_KEY"
Azure Resource Manager (ARM) a Bicep pro aktualizaci klíčů SSH pro celý cluster
-
sshPublicKeysAktualizujte parametrkubernetes-deploy-parameters.jsonpomocí nového klíče SSH.
"sshPublicKeys": {
"value": [
{
"keyData": "ssh-rsa CCCCC...."
}
]
}
- Znovu nasaďte šablonu.
Pro šablonu ARM:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.json --parameters @kubernetes-deploy-parameters.json
Pro Bicep:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.bicep --parameters @kubernetes-deploy-parameters.json
Aktualizace SSH klíčů poolu agentů
Pomocí následujícího příkazu aktualizujte klíče SSH pro konkrétní fond agentů.
- Všechny uzly ve fondu agentů budou aktualizovány novými klíči.
- Pokud byl fond agentů vytvořen pomocí klíčů, nahradí nové klíče stávající klíče.
- Pokud se fond agentů vytvořil bez klíčů, přidají se nové klíče.
- Pokud byl fond agentů vytvořen pomocí klíčů pro celý cluster, nové klíče nahradí stávající klíče.
- Pokud se pokusíte aktualizovat klíče clusteru vytvořeného bez jakýchkoli klíčů, přidá se nový klíč, ale nemůžete ho odebrat.
- Pokud se pokusíte aktualizovat klíče fondu agentů pomocí prázdného pole, operace proběhne úspěšně a místo toho se použijí klíče na úrovni clusteru.
Azure CLI pro aktualizaci klíčů SSH fondu agentů
- Nastavte proměnnou
AGENT_POOL_KEYpomocí nového klíče SSH.
AGENT_POOL_KEY="ssh-rsa DDDDD...."
- Pomocí následujícího příkazu aktualizujte klíče SSH fondu agentů.
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"
Šablona Azure ARM a Bicep pro aktualizaci klíčů SSH fondu agentů
Poznámka:
Aktualizace fondů uzlů vytvořených prostřednictvím počáteční konfigurace fondu agentů není s touto metodou možná, protože neexistuje samostatná šablona fondu agentů a soubor parametrů. Pomocí této metody lze aktualizovat pouze klíče fondu agentů pro fondy vytvořené po vytvoření clusteru. Pokud chcete aktualizovat klíče počátečního fondu agentů, projděte si příkaz rozhraní příkazového řádku uvedený v předchozí části. Pokud se vytvořil počáteční fond agentů s širokými klíči clusteru a pokud chcete aktualizovat klíče pro počáteční fond agentů, můžete aktualizovat klíče pro celý cluster.
-
agentPoolSshKeysAktualizujte parametrkubernetes-nodepool-parameters.jsonpomocí nového klíče SSH.
"agentPoolSshKeys": {
"value": [
{
"keyData": "ssh-rsa DDDDD...."
}
]
}
- Znovu nasaďte šablonu.
Pro šablonu ARM:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-add-agentpool.json --parameters @kubernetes-nodepool-parameters.json
Pro Bicep:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-add-agentpool.bicep --parameters @kubernetes-nodepool-parameters.json
Aktualizace klíčů SSH roviny řízení
Pomocí následujícího příkazu aktualizujte klíče SSH pro řídicí rovinu.
- Všechny uzly v řídicí rovině budou aktualizovány novými klíči.
- Pokud se řídicí rovina vytvořila pomocí klíčů, nahradí nové klíče stávající klíče.
- Pokud se řídicí rovina vytvořila bez klíčů, přidají se nové klíče.
- Pokud byla řídicí rovina vytvořena s klíči pro celý cluster, nové klíče nahradí stávající klíče.
- Pokud se pokusíte aktualizovat klíče clusteru vytvořeného bez jakýchkoli klíčů, přidá se nový klíč, ale nemůžete ho odebrat.
- Pokud se pokusíte aktualizovat klíče řídicí roviny prázdným polem, operace proběhne úspěšně a místo toho se použijí klíče pro celý cluster.
Poznámka:
Klíče řídicí roviny je možné aktualizovat pomocí počáteční šablony nasazení a souboru parametrů, protože řídicí rovina je součástí clusteru. Klíče fondu agentů se však nedají aktualizovat stejně, protože fond agentů je podprostředkem, pokud fond agentů nepoužívá klíče platné pro celý cluster.
Azure CLI pro aktualizaci SSH klíčů řídicí roviny
- Nastavte proměnnou
CONTROL_PLANE_SSH_PUBLIC_KEYpomocí nového klíče SSH.
CONTROL_PLANE_SSH_PUBLIC_KEY="ssh-rsa EEEEE...."
- K aktualizaci klíčů SSH řídicí roviny použijte následující příkaz.
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']"
Šablona Azure ARM a Bicep pro aktualizaci SSH klíčů řídicí roviny
-
controlPlaneSshKeysAktualizujte parametrkubernetes-deploy-parameters.jsonpomocí nového klíče SSH.
"controlPlaneSshKeys": {
"value": [
{
"keyData": "ssh-rsa EEEEE...."
}
]
}
- Znovu nasaďte šablonu.
Pro šablonu ARM:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.json --parameters @kubernetes-deploy-parameters.json
Pro Bicep:
az deployment group create --resource-group myResourceGroup --template-file kubernetes-deploy.bicep --parameters @kubernetes-deploy-parameters.json
Další kroky
Když pochopíte, jak nakonfigurovat a spravovat klíče SSH na uzlech clusteru Operator Nexus Kubernetes, můžete zajistit zabezpečení clusteru a přístup k uzlům, když potřebujete řešit problémy.