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.
V tomto článku zřídíte základní prostředky Azure potřebné pro nasazení AKS připravené pro produkční prostředí. Tento článek ověří přístup k Azure, vytvoří skupinu prostředků, vytvoří službu Azure Container Registry (ACR), nasadí základní cluster AKS, volitelně přidá další fond uzlů pro uživatelské úlohy a udělí clusteru oprávnění k vyžádání z ACR. Všechny příkazy spoléhají na parametrizované proměnné prostředí, aby pracovní postup zůstal opakovatelný napříč oblastmi a předplatnými.
Požadavky
Před spuštěním průvodce potřebujete následující nástroje a přístup k účtu. Ujistěte se, že jste ověřeni v Azure pomocí az login a máte dostatečná oprávnění k vytváření skupin prostředků, registrů kontejnerů a clusterů AKS.
- Předplatné Azure s kvótou pro vybranou oblast
- Azure CLI (
az) s právy vlastníka nebo přispěvatele - kubectl nakonfigurovaný místně pro přístup ke clusteru
- jq (volitelné) pro parsování výstupu JSON během ověřování
Spuštěním následujících příkazů potvrďte, že máte všechny potřebné nástroje rozhraní příkazového řádku a přístup k Azure:
command -v az >/dev/null || echo "Azure CLI missing"
command -v kubectl >/dev/null || echo "kubectl missing"
command -v jq >/dev/null || echo "jq missing (optional)"
Nastavení prostředí
Tady definujete všechny proměnné prostředí použité v rámci kroků zřizování. Časové razítko HASH udržuje názvy prostředků jedinečnými během opakovaných spuštění. Výchozí nastavení clusteru a registru cílí na minimální nároky na testování konceptu, ale podle potřeby je můžete upravit.
Následující příkazy stanovují rozsah Azure, velikost AKS a zásady pojmenování ACR pro sekvenci zřizování bez ohledu na následné úlohy.
export HASH="${HASH:-$(date -u +"%y%m%d%H%M")}" # YYMMDDHHMM stamp
# Azure scope and regional placement
export LOCATION="${LOCATION:-eastus2}"
export SUBSCRIPTION_ID="${SUBSCRIPTION_ID:-$(az account show --query id -o tsv)}"
export RESOURCE_GROUP="${RESOURCE_GROUP:-rg_aks_${HASH}}"
# AKS cluster naming and version control
# Hyphen required because AKS cluster names cannot include underscores
export AKS_CLUSTER_NAME="${AKS_CLUSTER_NAME:-aks-openwebsearch-${HASH}}"
export AKS_VERSION="${AKS_VERSION:-}" # Optional Kubernetes version override
# Node pool sizing
export AKS_SYSTEM_NODE_COUNT="${AKS_SYSTEM_NODE_COUNT:-1}"
export AKS_USER_NODE_COUNT="${AKS_USER_NODE_COUNT:-1}"
export AKS_NODE_VM_SIZE="${AKS_NODE_VM_SIZE:-Standard_D4s_v5}"
export AKS_SYSTEM_NODEPOOL_NAME="${AKS_SYSTEM_NODEPOOL_NAME:-system}"
export AKS_USER_NODEPOOL_NAME="${AKS_USER_NODEPOOL_NAME:-user}"
# ACR configuration
export ACR_NAME="${ACR_NAME:-acrwebsearch${HASH}}"
export ACR_LOGIN_SERVER="${ACR_LOGIN_SERVER:-${ACR_NAME}.azurecr.io}"
Ověření hodnot proměnných prostředí
Před vytvořením prostředků zkontrolujte efektivní konfiguraci. Znovu spusťte blok po všech úpravách, abyste zajistili správnost aktivních hodnot pro cílové předplatné a oblast.
Pomocí následujících příkazů můžete připnout aktivní parametry k ověření pojmenování, velikosti a oblastních voleb.
: "${HASH:=$(date -u +"%y%m%d%H%M")}" # Ensure HASH exists
VARS=(
HASH
LOCATION
SUBSCRIPTION_ID
RESOURCE_GROUP
AKS_CLUSTER_NAME
AKS_VERSION
AKS_SYSTEM_NODE_COUNT
AKS_USER_NODE_COUNT
AKS_NODE_VM_SIZE
AKS_SYSTEM_NODEPOOL_NAME
AKS_USER_NODEPOOL_NAME
ACR_NAME
ACR_LOGIN_SERVER
)
for v in "${VARS[@]}"; do
printf "%s=%s\n" "$v" "${!v}"
done
Postup
Proveďte jednotlivé kroky postupně. Každá dílčí část obsahuje účel, příkazy a souhrn, který potvrzuje očekávané výsledky.
Kontrola kontextu předplatného Azure
Ověřte aktivní předplatné Azure a ujistěte se, že jsou zaregistrovaní poskytovatelé prostředků vyžadovaní pro operace AKS a ACR.
az account show --query id -o tsv
az provider register --namespace Microsoft.ContainerService
az provider register --namespace Microsoft.ContainerRegistry
Vytvoření skupiny zdrojů
Zřiďte vyhrazenou skupinu prostředků pro izolaci clusteru, registru a podpůrné infrastruktury AKS pro vaše úlohy.
az group create \
--name "${RESOURCE_GROUP}" \
--location "${LOCATION}" \
--output table
Zřízení služby Azure Container Registry
Vytvořte Azure Container Registry pro ukládání obrazů kontejnerů a ověřte místního démona Docker pro odesílání obrazů.
az acr create \
--name "${ACR_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--location "${LOCATION}" \
--sku Basic \
--output table
az acr login --name "${ACR_NAME}"
Vytvoření clusteru AKS
Nasaďte cluster AKS pro hostování úloh. Ochrana před opětovným použitím existujícího názvu clusteru kontrolou před vytvořením.
if az aks show \
--name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" >/dev/null 2>&1; then
echo "AKS cluster ${AKS_CLUSTER_NAME} already exists in ${RESOURCE_GROUP}";
echo "Skip creation or provide a new AKS_CLUSTER_NAME.";
else
az aks create \
--name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--location "${LOCATION}" \
--generate-ssh-keys \
--node-count "${AKS_SYSTEM_NODE_COUNT}" \
--nodepool-name "${AKS_SYSTEM_NODEPOOL_NAME}" \
--node-vm-size "${AKS_NODE_VM_SIZE}" \
${AKS_VERSION:+--kubernetes-version "${AKS_VERSION}"} \
--output table
fi
Přidat volitelný uživatelský fond uzlů
Na vyžádání zřiďte další fond uzlů. Příkaz add běží asynchronně, aby se zabránilo vypršení časových limitů rozhraní příkazového řádku; příkaz čekání sleduje průběh Azure. Skript nejprve zkontroluje, zda již pool existuje, aby se předešlo chybám spojeným s duplicitním názvem.
if [ "${AKS_USER_NODE_COUNT}" -gt 0 ]; then
if az aks nodepool show \
--cluster-name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--name "${AKS_USER_NODEPOOL_NAME}" >/dev/null 2>&1; then
echo "Node pool ${AKS_USER_NODEPOOL_NAME} already exists; skipping add.";
else
az aks nodepool add \
--cluster-name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--name "${AKS_USER_NODEPOOL_NAME}" \
--node-count "${AKS_USER_NODE_COUNT}" \
--node-vm-size "${AKS_NODE_VM_SIZE}" \
--no-wait
az aks nodepool wait \
--cluster-name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--name "${AKS_USER_NODEPOOL_NAME}" \
--created
fi
fi
Načtení přihlašovacích údajů clusteru
Sloučte kubeconfig AKS do místního kontextu a ověřte, zda jsou všechny uzly dostupné.
az aks get-credentials \
--name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--overwrite-existing
kubectl get nodes -o wide
Připojení ACR ke clusteru AKS
Udělte clusteru AKS oprávnění ke stahování image ze zřízeného ACR, aby k vašim kontejnerovým image měla budoucí nasazení přístup.
az aks update \
--name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--attach-acr "${ACR_NAME}" \
--output table
Verification
Než budete pokračovat v postupu podřízeného nasazení, ověřte, že cluster AKS existuje a reaguje na základní kubectl dotazy. Začněte tím, že zajistíte, že cluster AKS existuje.
if ! az aks show \
--name "${AKS_CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--query "{name:name,provisioningState:provisioningState,location:location}" \
--output table; then
echo "AKS cluster '${AKS_CLUSTER_NAME}' not found in resource group '${RESOURCE_GROUP}'."
else
echo "AKS cluster '${AKS_CLUSTER_NAME}' exists in resource group '${RESOURCE_GROUP}'."
fi
Pokud byl cluster AKS vytvořen, zobrazí se něco takového:
AKS cluster ${AKS_CLUSTER_NAME} exists in resource group ${RESOURCE_GROUP}.
Dále zkontrolujte, jestli kubectl je správně nakonfigurovaný:
kubectl cluster-info
Tento příkaz zobrazí stav aktuálního clusteru, například:
Kubernetes control plane is running at ...
CoreDNS is running at https://...
Metrics-server is running at https://...
Nakonec se ujistěte, že jsou k dispozici systémové i uživatelské uzly:
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.labels.agentpool}{"\n"}{end}' |
sort |
uniq -c
Tím se vypíše počet uzlů, například:
1 system
1 user
Shrnutí: Ověřili jsme, že cluster AKS je přítomný, v pořádku a dostupný přes kubectl v aktuálním kontextu.
Shrnutí
Skupina prostředků, registr kontejnerů, cluster AKS, volitelný fond uzlů a připojení registru jsou ověřeny, a cluster je připravený pro všechny kontejnerizované úlohy.
Další kroky
-
docs/OpenWebSearch_On_AKS.mdPokračujte nasazením KMCP a serveru MCP. - Nakonfigurujte přiřazení rolí nebo síťové zásady specifické pro vaše bezpečnostní prostředí.
- Integrace služby Azure Monitor nebo Log Analytics pro zajištění provozní viditelnosti
- Spuštění příkazů čištění infrastruktury po experimentování za účelem správy nákladů