Préparer votre cluster Kubernetes avec Azure Arc
Important
Opérations Azure IoT Préversion avec Azure Arc est actuellement en préversion. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.
Vous devrez déployer une nouvelle installation d’Azure IoT Operations lorsqu’une version généralement disponible sera disponible. Vous ne pourrez pas mettre à niveau une installation en préversion.
Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Un cluster Kubernetes avec Azure Arc est un prérequis pour le déploiement d’Opérations Azure IoT (préversion). Cet article explique comment préparer un cluster avant de déployer Opérations Azure IoT. Cet article contient des conseils pour Ubuntu et Windows.
Les étapes décrites dans cet article préparent votre cluster pour un déploiement de paramètres sécurisés, qui est un processus plus long mais prêt pour la production. Si vous souhaitez déployer rapidement Opérations Azure IoT et exécuter un exemple de charge de travail avec uniquement des paramètres de test, consultez plutôt Démarrage rapide : exécuter Opérations Azure IoT (préversion) dans GitHub Codespaces avec K3s. Pour plus d’informations sur les paramètres de test et les paramètres sécurisés, consultez Détails du déploiement > Choisir vos fonctionnalités.
Prérequis
Microsoft prend en charge Azure Kubernetes Service (AKS) Edge Essentials pour les déploiements sur Windows et K3s pour les déploiements sur Ubuntu. Pour obtenir la liste des combinaisons matérielles et logicielles spécifiques testées et validées, consultez Environnements validés.
Si vous souhaitez déployer Opérations Azure IoT sur une solution à plusieurs nœuds, utilisez K3s sur Ubuntu.
Pour préparer un cluster Kubernetes avec Azure Arc, vous avez besoin de :
Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez-en un gratuitement avant de commencer.
Azure CLI version 2.64.0 ou ultérieure installée sur votre ordinateur de développement. Utilisez
az --version
pour vérifier votre version etaz upgrade
pour effectuer une mise à jour si nécessaire. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Installation de l’interface de ligne de commande Azure.La dernière version des extensions suivantes pour Azure CLI :
az extension add --upgrade --name azure-iot-ops az extension add --upgrade --name connectedk8s
Matériel qui répond à la configuration requise :
- Vérifiez que votre machine dispose d’un minimum de 16 Go de RAM disponible et de 8 processeurs virtuels disponibles réservé pour Opérations Azure IoT.
- Configuration requise pour Kubernetes avec Azure Arc.
- Configuration requise pour K3s.
Si vous allez déployer Opérations Azure IoT sur un cluster à plusieurs nœuds avec tolérance de panne activée, passez en revue les exigences matérielles et de stockage dans Préparer Linux pour les Edge Volumes.
Créer un cluster et l’activer pour Arc
Cette section fournit des étapes pour créer des clusters dans des environnements validés sur Linux et Windows.
Pour préparer un cluster Kubernetes K3s sur Ubuntu :
Installez K3s en suivant les instructions du guide de démarrage rapide K3s.
Vérifiez que kubectl a été installé dans le cadre de K3s. Si ce n’est pas le cas, suivez les instructions pour Installer kubectl sur Linux.
kubectl version --client
Suivez les instructions pour Installer Helm.
Créez un fichier yaml de configuration K3s dans
.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
Exécutez la commande suivante pour augmenter les limites de surveillance/d’instance de l’utilisateur.
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
Pour de meilleures performances, augmentez la limite du descripteur de fichier :
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Configurer des clusters à plusieurs nœuds pour Stockage de conteneurs Azure
Sur les clusters à plusieurs nœuds avec au moins trois nœuds, vous avez la possibilité d’activer la tolérance de panne pour le stockage avec Stockage de conteneurs Azure activé par Azure Arc lorsque vous déployez Opérations Azure IoT.
Si vous voulez activer la tolérance de panne lors du déploiement, configurez vos clusters en suivant les étapes de Préparer Linux pour des volumes Edge en utilisant un cluster Ubuntu à plusieurs nœuds.
Activer votre cluster avec Arc
Connectez votre cluster à Azure Arc afin qu’il puisse être géré à distance.
Sur l’ordinateur sur lequel vous avez déployé le cluster Kubernetes, connectez-vous avec Azure CLI :
az login
Si vous obtenez une erreur indiquant que Votre appareil doit être géré pour accéder à votre ressource, exécutez de nouveau
az login
et assurez-vous que vous vous êtes connecté de manière interactive dans un navigateur.Une fois que vous êtes connecté, Azure CLI affiche tous vos abonnements et indique votre abonnement par défaut avec un astérisque
*
. Pour continuer avec votre abonnement par défaut, sélectionnezEnter
. Sinon, tapez le numéro de l’abonnement Azure que vous voulez utiliser.Inscrivez les fournisseurs de ressources requis dans votre abonnement.
Remarque
Cette étape doit être exécutée une seule fois par abonnement. Pour inscrire des fournisseurs de ressources, vous devez disposer de l’autorisation d’effectuer l’opération
/register/action
qui est incluse dans les rôles Contributeur et Propriétaire de l’abonnement. Pour plus d’informations, consultez Fournisseurs et types de ressources 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"
Utilisez la commande az group create pour créer un groupe de ressources dans votre abonnement Azure pour stocker toutes les ressources :
Pour obtenir la liste des régions Azure actuellement prises en charge, consultez Régions prises en charge.
az group create --location <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID>
Utilisez la commande az connectedk8s connect pour activer Arc sur votre cluster Kubernetes et le gérer dans le cadre de votre groupe de ressources Azure.
az connectedk8s connect --name <CLUSTER_NAME> -l <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID> --enable-oidc-issuer --enable-workload-identity
Obtenez l’URL de l’émetteur du cluster.
az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsv
Enregistrez la sortie de cette commande à utiliser dans les étapes suivantes.
Créez un fichier de configuration k3s.
sudo nano /etc/rancher/k3s/config.yaml
Ajoutez le contenu suivant au fichier
config.yaml
, en remplaçant l’espace réservé<SERVICE_ACCOUNT_ISSUER>
par l’URL de l’émetteur de votre cluster.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24h
Enregistrez le fichier et quittez l’éditeur nano.
Récupérez l’élément
objectId
de l’application Microsoft Entra ID utilisée par le service Azure Arc dans votre tenant et enregistrez-le en tant que variable d’environnement. Exécutez la commande suivante exactement comme elle est écrite, sans changer la valeur GUID.export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
Utilisez la commande az connectedk8s enable-features pour activer la prise en charge personnalisée de l’emplacement sur votre cluster. Cette commande utilise l’élément
objectId
de l’application Microsoft Entra ID utilisée par le service Azure Arc. Sur l’ordinateur sur lequel vous avez déployé le cluster Kubernetes, exécutez la commande suivante :az connectedk8s enable-features -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
Redémarrez K3s.
systemctl restart k3s
Vérifier votre cluster
Pour vérifier que votre cluster est prêt pour le déploiement d’Opérations Azure IoT, vous pouvez utiliser la commande d’assistance verify-host dans l’extension Opérations Azure IoT pour Azure CLI. Lorsqu’elle est exécutée sur l’hôte de cluster, cette commande d’assistance vérifie la connectivité aux points de terminaison Azure Resource Manager et Microsoft Container Registry.
az iot ops verify-host
Configuration avancée
À ce stade, quand vous disposez d’un cluster Kubernetes avec Azure Arc mais avant de déployer Opérations Azure IoT, vous pouvez configurer votre cluster pour des scénarios avancés.
- Si vous souhaitez activer les fonctionnalités d’observabilité sur le cluster, suivez les étapes décrites dans Déployer les ressources d’observabilité et configurez les journaux d’activité.
- Si vous souhaitez configurer votre propre émetteur de certificat sur le cluster, suivez les étapes décrites dans gestion des certificats > Apportez votre propre émetteur.
Étapes suivantes
Maintenant que vous disposez d’un cluster Kubernetes avec Azure Arc, vous pouvez déployer Opérations Azure IoT.