Příprava clusteru Kubernetes s podporou Služby Azure Arc
Cluster Kubernetes s podporou Azure Arc je předpokladem pro nasazení operací Azure IoT. Tento článek popisuje, jak připravit cluster před nasazením operací Azure IoT. Tento článek obsahuje pokyny pro Ubuntu i Windows.
Kroky v tomto článku připraví cluster na nasazení zabezpečeného nastavení, což je delší, ale produkční proces. Pokud chcete operace Azure IoT nasadit rychle a spustit ukázkovou úlohu pouze s testovacím nastavením, podívejte se na rychlý start: Spuštění operací Azure IoT v GitHub Codespaces s využitím K3s . Další informace o nastavení testu a nastavení zabezpečení najdete v tématu Podrobnosti > o nasazení Volba funkcí.
Požadavky
Microsoft podporuje Azure Kubernetes Service (AKS) Edge Essentials pro nasazení ve Windows a K3s pro nasazení v Ubuntu. Pokud chcete nasadit operace Azure IoT do řešení s více uzly, použijte K3s na Ubuntu.
K přípravě clusteru Kubernetes s podporou Azure Arc potřebujete:
Předplatné Azure s rolí vlastníka nebo kombinací rolí Přispěvatel a Správce uživatelských přístupů. Úroveň přístupu můžete zkontrolovat tak, že přejdete do svého předplatného, vyberete Řízení přístupu (IAM) na levé straně webu Azure Portal a pak vyberete Zobrazit můj přístup. Pokud nemáte předplatné Azure, vytvořte si ho zdarma , než začnete.
Skupina prostředků Azure. Pro každou skupinu prostředků je podporována pouze jedna instance operací Azure IoT. Pokud chcete vytvořit novou skupinu prostředků, použijte příkaz az group create . Seznam aktuálně podporovaných oblastí Azure najdete v tématu Podporované oblasti.
az group create --location <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID>
Azure CLI verze 2.64.0 nebo novější nainstalovaná na vašem počítači clusteru. Použijte
az --version
ke kontrole vaší verze aaz upgrade
k aktualizaci v případě potřeby. Další informace najdete v tématu Postup instalace Azure CLI.Nejnovější verze rozšíření Connectedk8s pro Azure CLI:
az extension add --upgrade --name connectedk8s
Hardware, který splňuje požadavky na systém:
- Podporovaná prostředí operací Azure IoT
- Požadavky na systém Kubernetes s podporou Azure Arc
- Požadavky na K3s.
Pokud nasadíte operace Azure IoT do clusteru s více uzly s povolenou odolností proti chybám, projděte si požadavky na hardware a úložiště v části Příprava Linuxu na svazky Edge.
Vytvoření clusteru a povolení služby Arc
Tato část obsahuje postup vytvoření clusterů v ověřených prostředích v Linuxu a Windows.
Příprava clusteru K3s Kubernetes na Ubuntu:
Vytvořte cluster K3s s jedním uzlem nebo více uzly. Příklady najdete v úvodní příručce K3s nebo v projektech souvisejících s K3s.
Zkontrolujte, jestli se kubectl nainstaloval jako součást K3s. Pokud ne, postupujte podle pokynů k instalaci kubectl v Linuxu.
kubectl version --client
Postupujte podle pokynů k instalaci Helmu.
Vytvořte soubor yaml konfigurace K3s v
.kube/config
:mkdir ~/.kube sudo KUBECONFIG=~/.kube/config:/etc/rancher/k3s/k3s.yaml kubectl config view --flatten > ~/.kube/merged mv ~/.kube/merged ~/.kube/config chmod 0600 ~/.kube/config export KUBECONFIG=~/.kube/config #switch to k3s context kubectl config use-context default sudo chmod 644 /etc/rancher/k3s/k3s.yaml
Spuštěním následujícího příkazu zvyšte limity sledování uživatelů nebo instancí.
echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Pokud chcete dosáhnout lepšího výkonu, zvyšte limit popisovače souborů:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Povolení služby Arc clusteru
Připojte cluster ke službě Azure Arc, abyste ho mohli spravovat vzdáleně.
Na počítači, na kterém jste nasadili cluster Kubernetes, se přihlaste k Azure CLI pomocí uživatelského účtu Microsoft Entra, který má požadované role pro předplatné Azure:
az login
Pokud se v libovolném okamžiku zobrazí chyba s informací , že pro přístup k vašemu prostředku je potřeba spravovat vaše zařízení, spusťte
az login
to znovu a ujistěte se, že se přihlašujete interaktivně pomocí prohlížeče.Po přihlášení se v Azure CLI zobrazí všechna vaše předplatná a označí vaše výchozí předplatné hvězdičkou
*
. Pokud chcete pokračovat s výchozím předplatným, vyberteEnter
. V opačném případě zadejte číslo předplatného Azure, které chcete použít.Zaregistrujte požadované poskytovatele prostředků ve vašem předplatném.
Poznámka:
Tento krok stačí spustit jenom jednou pro každé předplatné. K registraci poskytovatelů prostředků potřebujete oprávnění k provedení
/register/action
operace, která je součástí rolí Přispěvatel předplatného a Vlastník. Další informace najdete v tématu Poskytovatelé a typy prostředků Azure.az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperations" az provider register -n "Microsoft.DeviceRegistry" az provider register -n "Microsoft.SecretSyncController"
Pomocí příkazu az connectedk8s connect povolte cluster Kubernetes a spravujte ho jako součást skupiny prostředků Azure.
az connectedk8s connect --name <CLUSTER_NAME> -l <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID> --enable-oidc-issuer --enable-workload-identity --disable-auto-upgrade
Aby se zabránilo neplánovaným aktualizacím služby Azure Arc a systémovým rozšířením Arc, která operace Azure IoT používá jako závislosti, tento příkaz zakáže automatickéupgrade. Místo toho podle potřeby agenty ručně upgradujte.
Důležité
Pokud vaše prostředí používá proxy server nebo službu Azure Arc Gateway, upravte
az connectedk8s connect
příkaz s informacemi o proxy serveru:- Postupujte podle pokynů v připojení pomocí odchozího proxy serveru nebo clusterů Kubernetes k Azure Arc pomocí služby Azure Arc Gateway.
- Přidejte
169.254.169.254
do--proxy-skip-range
parametruaz connectedk8s connect
příkazu. Azure Device Registry používá tento místní koncový bod k získání přístupových tokenů pro autorizaci.
Operace Azure IoT nepodporují proxy servery, které vyžadují důvěryhodný certifikát.
Získejte adresu URL vystavitele clusteru.
az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsv
Uložte výstup tohoto příkazu, který se použije v dalších krocích.
Vytvořte konfigurační soubor k3s.
sudo nano /etc/rancher/k3s/config.yaml
Přidejte do
config.yaml
souboru následující obsah a nahraďte<SERVICE_ACCOUNT_ISSUER>
zástupný symbol adresou URL vystavitele vašeho clusteru.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24h
Uložte soubor a ukončete editor nano.
Připravte se na povolení služby Azure Arc, vlastního umístění v clusteru Arc tím, že získáte ID objektu vlastního umístění a uložíte ho jako proměnnou prostředí OBJECT_ID. Abyste mohli spustit příkaz, nikoli instanční objekt, musíte být přihlášeni k Azure CLI pomocí uživatelského účtu Microsoft Entra. Spusťte následující příkaz přesně tak, jak je napsaný, aniž byste změnili hodnotu GUID.
export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
Poznámka:
Pokud se zobrazí chyba Nejde načíst identifikátor aplikace custom-locations. Pokračuje se bez povolení této funkce. Nedostatečná oprávnění k dokončení operace" pak můžete použít instanční objekt, který nemá potřebná oprávnění k načtení ID objektu vlastního umístění. Přihlaste se k Azure CLI pomocí uživatelského účtu Microsoft Entra, který splňuje požadavky.
Pomocí příkazu az connectedk8s enable-features povolte funkci vlastního umístění v clusteru Arc. Tento příkaz používá proměnnou prostředí OBJECT_ID uloženou z předchozího kroku k nastavení hodnoty pro parametr custom-locations-oid. Spusťte tento příkaz na počítači, na kterém jste nasadili cluster Kubernetes:
az connectedk8s enable-features -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
Restartujte K3s.
systemctl restart k3s
Konfigurace clusterů s více uzly pro Azure Container Storage
V clusterech s více uzly s alespoň třemi uzly máte možnost povolit odolnost proti chybám pro úložiště se službou Azure Container Storage povolenou službou Azure Arc při nasazování operací Azure IoT.
Pokud chcete povolit odolnost proti chybám během nasazování, nakonfigurujte clustery podle kroků v části Příprava svazků Edge pro Linux pomocí clusteru Ubuntu s více uzly.
Rozšířená konfigurace
V tuto chvíli, když máte cluster Kubernetes s podporou Služby Azure Arc, ale před nasazením operací Azure IoT do něj možná budete chtít cluster nakonfigurovat pro pokročilé scénáře.
- Pokud chcete povolit funkce pozorovatelnosti v clusteru, postupujte podle kroků v části Nasazení prostředků pozorovatelnosti a nastavte protokoly.
- Pokud chcete v clusteru nakonfigurovat vlastního vystavitele certifikátu, postupujte podle kroků v tématu Správa > certifikátů Přineste si vlastního vystavitele.
Další kroky
Teď, když máte cluster Kubernetes s podporou Azure Arc, můžete nasadit operace Azure IoT.