Sdílet prostřednictvím


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 a az 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:

  • 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:

  1. 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.

  2. Zkontrolujte, jestli se kubectl nainstaloval jako součást K3s. Pokud ne, postupujte podle pokynů k instalaci kubectl v Linuxu.

    kubectl version --client
    
  3. Postupujte podle pokynů k instalaci Helmu.

  4. 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
    
  5. 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
    
  6. 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ě.

  1. 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.

  2. 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, vyberte Enter. V opačném případě zadejte číslo předplatného Azure, které chcete použít.

  3. 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"
    
  4. 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:

    1. Postupujte podle pokynů v připojení pomocí odchozího proxy serveru nebo clusterů Kubernetes k Azure Arc pomocí služby Azure Arc Gateway.
    2. Přidejte 169.254.169.254 do --proxy-skip-range parametru az 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.

  5. 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.

  6. Vytvořte konfigurační soubor k3s.

    sudo nano /etc/rancher/k3s/config.yaml
    
  7. 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
    
  8. Uložte soubor a ukončete editor nano.

  9. 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.

  1. 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
    
  2. 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.

Další kroky

Teď, když máte cluster Kubernetes s podporou Azure Arc, můžete nasadit operace Azure IoT.