Ajouter des adresses IP Chaos Studio comme adresses IP autorisées sur AKS
Vue d’ensemble
Azure Kubernetes Service vous permet d’autoriser uniquement certaines plages d’adresses IP à atteindre un cluster. Si vous avez activé cette option, les erreurs AKS de Chaos Studio peuvent échouer, sauf si vous autorisez les adresses IP utilisées par Chaos Studio pour la communication.
Par exemple, si vous essayez d’exécuter une erreur Chaos Mesh sur un cluster AKS avec les plages d’adresses IP autorisées activées, mais que les adresses IP de Chaos Studio ne sont pas autorisées, l’expérience peut échouer avec l’erreur d’expiration du délai d’attente : The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing
.
Autorisation d’adresses IP
Il y a de nombreuses manières de résoudre ce problème :
- Utiliser l’Étiquette de service de Chaos Studio pour autoriser les adresses IP pertinentes (préversion)
- Utiliser un script PowerShell pour récupérer les adresses IP et ajoutez-les automatiquement
- Récupérer et ajouter les adresses IP manuellement
Utiliser la fonctionnalité en préversion Étiquettes de service avec AKS
Une étiquette de service est un groupe de préfixes d’adresse IP qui peuvent être affectés à des règles de trafic entrant et sortant pour des groupes de sécurité réseau. Elles gèrent automatiquement les mises à jour du groupe de préfixes d’adresses IP, sans aucune intervention de votre part. Les étiquettes de service activant principalement le filtrage d’adresses IP, les étiquettes de service seules ne permettent pas de sécuriser le trafic.
Vous pouvez utiliser une fonctionnalité AKS en préversion pour ajouter des Étiquettes de service directement aux plages d’adresses IP autorisées : Utiliser des étiquettes de service pour les plages d’adresses IP autorisées du serveur d’API.
L’Étiquette de service pertinente est ChaosStudio
.
script PowerShell
Le script PowerShell suivant récupère les adresses IP répertoriées dans l’Étiquette de service ChaosStudio
et les ajoute aux plages d’adresses IP autorisées de votre cluster AKS en utilisant l’interface Azure CLI.
Pour utiliser ce script, copiez et collez-le dans un nouveau fichier et appelez-le Add-KubernetesChaosStudioAuthorizedIPs.ps1
, puis exécutez le script en utilisant les instructions commentées.
# Script to add Chaos Studio IPs to authorized IP range of AKS cluster.
# Run command .\Add-KubernetesChaosStudioAuthorizedIps.ps1 -subscriptionId "yourSubscriptionId" -resourceGroupName "yourResourceGroupName" -clusterName "yourAKSClusterName" -region "regionName"
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[string]
$subscriptionId,
[Parameter(Mandatory=$true)]
[string]
$resourceGroupName,
[Parameter(Mandatory=$true)]
[string]
$clusterName,
[Parameter(Mandatory=$true)]
[string]
$region
)
# Get IP addresses for the Chaos Studio service tag using the Service Tag Discovery API.
try {
Write-Host "Getting IP addresses for the ChaosStudio service tag..." -ForegroundColor Yellow
$chaosStudioIps = $(az network list-service-tags --location $region --query "values[?contains(name, 'ChaosStudio')].properties.addressPrefixes[]" -o tsv)
} catch {
throw "Failed to retrieve IPs for Chaos Studio service tag from Service Tag Discovery API (https://learn.microsoft.com/en-us/azure/virtual-network/service-tags-overview#use-the-service-tag-discovery-api). Exception: $($_.Exception)"
}
# List IP addresses associated with the Chaos Studio service tag.
Write-Host "Chaos Studio IPs:"
$chaosStudioIps | ForEach-Object {
Write-Host "$_"
}
# Add Chaos Studio IPs to authorized IP range of AKS cluster.
try {
Write-Host "Adding Chaos Studio IPs to authorized IP range of AKS cluster '$clusterName' in resource group '$resourceGroupName' of subscription '$subscriptionId'." -ForegroundColor Yellow
az account set --subscription $subscriptionId
az aks update -g $resourceGroupName -n $clusterName --api-server-authorized-ip-ranges $($chaosStudioIps -join (","))
Write-Host "Successfully added Chaos Studio IPs to authorized IP range of AKS cluster '$clusterName' in resource group '$resourceGroupName' of subscription '$subscriptionId'." -ForegroundColor Yellow
} catch {
throw "Failed to add Chaos Studio IPs to authorized IP range of AKS cluster '$clusterName'. Exception: $($_.Exception)"
}
Addition manuelle
Découvrez comment limiter l’accès réseau d’AKS à un ensemble de plages d’adresses IP. Vous pouvez obtenir les plages d’adresses IP de Chaos Studio en interrogeant l’étiquette de service ChaosStudio
avec l’API Découverte d’étiquette de service ou avec des fichiers JSON téléchargeables.