Catégorie : Reseau

AKS | Private Cluster avec Private Link

Hello,

Dans cet article, je vous présenter comment déployer un cluster AKS privé. Au moment ou j’écris cet article cette fonctionnalité est encore en « public preview ».

Au sein d’un cluster AKS traditionnel le « control plane » (API Master) est exposé publiquement. Il possible de restreindre l’accès, comme expliqué dans cet article: AKS | Restreindre l’accès a API Server

Désormais il est possible d’avoir une connexion privé direct vers l’API Master avec un « Private Link« . Plus concrètement il est désormais plus nécessaire d’avoir une adresse ip publique entre votre node pool et l’API Master.

Pour le moment cette fonctionnalité est disponible uniquement dans les régions suivantes:

  • West US
  • West US 2
  • East US 2
  • Canada Central
  • North Europe
  • West Europe
  • Australia East
## Requirements

az extension update --name aks-preview 
az extension list

az feature register --name AKSPrivateLinkPreview --namespace Microsoft.ContainerService
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/AKSPrivateLinkPreview')].{Name:name,State:properties.state}"
az provider register --namespace Microsoft.ContainerService
az provider register --namespace Microsoft.Network


az feature register --name PodSecurityPolicyPreview --namespace Microsoft.ContainerService
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/PodSecurityPolicyPreview')].{Name:name,State:properties.state}"
az feature register --name MultiAgentpoolPreview --namespace Microsoft.ContainerService
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/MultiAgentpoolPreview')].{Name:name,State:properties.state}"
az feature register --name VMSSPreview --namespace Microsoft.ContainerService
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/VMSSPreview')].{Name:name,State:properties.state}"
az feature register --name PodSecurityPolicyPreview --namespace Microsoft.ContainerService
az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/PodSecurityPolicyPreview')].{Name:name,State:properties.state}"


## Create a resource group
RG_NAME=aksprivate
az group create --name $RG_NAME --location canadacentral

## Last Kubernetes version for a specific region
VERSION=$(az aks get-versions -l eastus --query 'orchestrators[-1].orchestratorVersion' -o tsv)


## Create a virtual network and subnet
az network vnet create \
    --resource-group $RG_NAME \
    --name myVnet \
    --address-prefixes 10.0.0.0/8 \
    --subnet-name myAKSSubnet \
    --subnet-prefix 10.240.0.0/16

## Create a service principal and read in the application ID
SP_ID_PASSWORD=$(az ad sp create-for-rbac --skip-assignment --query [appId,password] -o tsv)
SP_ID=$(echo ${SP_ID_PASSWORD} | sed -e 's/ .*//g')
SP_PASSWORD=$(echo ${SP_ID_PASSWORD} | sed -e 's/.* //g')
unset SP_ID_PASSWORD

## Wait 15 seconds to make sure that service principal has propagated
echo "Waiting for service principal to propagate..."
sleep 15

## Get the virtual network resource ID
VNET_ID=$(az network vnet show --resource-group $RG_NAME --name myVnet --query id -o tsv)

## Assign the service principal Contributor permissions to the virtual network resource
az role assignment create --assignee 458e9c24-b6c2-4c32-88df-28bacb890a22 --scope $VNET_ID --role Contributor

## Get the virtual network subnet resource ID
SUBNET_ID=$(az network vnet subnet show --resource-group $RG_NAME --vnet-name myVnet --name myAKSSubnet --query id -o tsv)

## Create AKS Private Cluster

CLUSTER_NAME=aksmaxpriv

az aks create \
  --resource-group $RG_NAME \
  --name $CLUSTER_NAME \
  --load-balancer-sku standard \
  --enable-private-cluster \
  --network-plugin azure \ 
  --vnet-subnet-id $SUBNET_ID \ 
  --docker-bridge-address 172.17.0.1/16 \ 
  --dns-service-ip 10.2.0.10 \ 
  --service-cidr 10.2.0.0/24 \
  --kubernetes-version $VERSION \
  --generate-ssh-keys \
  --enable-vmss \
  --enable-cluster-autoscaler \
  --min-count 1 \
  --max-count 3 \
  --service-principal $SP_ID \
  --client-secret $SP_PASSWORD
Limitations:
  • Aucune prise en charge des nœuds virtuels dans un cluster privé pour faire tourner des instances ACI privées dans un Azure VNET privé
  • Aucune prise en charge de l’intégration Azure DevOps prête à l’emploi avec des clusters privés
  • Si les clients doivent activer ACR pour fonctionner avec des AKS privés, le VNET de l’ACR devra être comparé avec le cluster d’agents VNET
  • Pas de prise en charge actuelle pour Azure Dev Spaces
  • Pas de prise en charge pour convertir les clusters AKS existants en clusters privés
  • La suppression ou la modification du point de terminaison privé dans le sous-réseau client entraînera l’arrêt du fonctionnement du cluster
  • Azure Monitor pour les conteneurs « Live Data » n’est pas actuellement pris en charge.

Maxime.

Azure Private Link – Introduction

Hello,

Dans cet article nous allons explorer ensemble Azure Private Link. Ce service (disponible pour le moment uniquement en public preview) vous permet d’utiliser des services PaaS directement depuis votre VNet via l’utilisation d’un point de terminaison privé.

Comme une image vaut souvent mille mots:

Les principaux avantages de ce service sont:

  • Isolation des services : Connectez votre réseau virtuel à des services s’exécutant dans Azure en privé sans avoir besoin d’une adresse IP publique au niveau de la source ou de la destination.
  • Global Reach : Connectez-vous en privé à des services s’exécutant dans d’autres régions. Cela signifie que le réseau virtuel du consommateur peut se trouver dans la région A et qu’il peut se connecter aux services qui se trouvent derrière Liaison privée dans la région B.
  • Protection contre l’exfiltration de données : Avec le service Liaison privée Azure, le point de terminaison privé du réseau virtuel est mappé à une instance spécifique de la ressource PaaS du client, par opposition à l’ensemble du service. Le point de terminaison privé permet aux clients de se connecter uniquement à la ressource spécifique et non à une autre ressource du service. Ce mécanisme intégré offre une protection contre les risques liés à l’exfiltration des données.

Ci-dessous les services supportés par Azure Private Link:

  • Azure SQL
  • Azure SQL Data Warehouse
  • Azure Storage
  • Azure Data Lake Sorage Gen 2
  • Azure CosmosDB

Dans un prochain article, nous verrons ensemble comment mettre en oeuvre le service Azure Private Link.

Maxime.

Formations Azure | L’essentiel de Microsoft Azure IaaS & Microsoft Azure La sécurité

Salut !

Je profite de ce billet pour vous annoncer que je viens de publier deux formations Azure en français sur la plateforme Linkedin Learning.

Formation : L’essentiel de Microsoft Azure IaaS (2h58min)

Vous êtes consultant, administrateur ou architecte, et vous pensez mettre en place une architecture d’Infrastructure as a Service (IaaS) prochainement ? Avec Maxime Coquerel, MVP Azure et architecte cloud, découvrez les principaux enjeux liés à la création de machines virtuelles, au stockage, aux réseaux ainsi qu’à la sécurité de la plateforme cloud Azure. Dans cette formation, vous vous initierez au cloud computing en explorant le portail Azure à travers ses concepts et ses fonctionnalités. Vous verrez comment déployer et dimensionner vos propres machines virtuelles dans Microsoft Azure. Puis vous étudierez les techniques qui permettent de maintenir un niveau de sécurité suffisant, d’effectuer des sauvegardes et de gérer le plan de reprise d’activité de manière efficace.

  • Introduction
  • 1. Découvrir Azure
  • 2. Travailler avec les machines virtuelles
  • 3. Gérer le stockage
  • 4. Gérer les réseaux dans Azure
  • 5. Maintenir le niveau de sécurité
  • 6. Gérer le sauvegarde et plan de reprise d’activité
  • 7. Automatiser dans Azure
  • Conclusion

Formation : Microsoft Azure – La sécurité (1h26min)

Si vous êtes chargé de l’administration et de la sécurité d’un environnement cloud sous Microsoft Azure, alors suivez cette formation de Maxime Coquerel. Après avoir abordé les généralités sur le cloud computing, vous plongerez très rapidement dans l’architecture du service Azure et de Microsoft Trust Center, avant de passer à la mise en conformité aux normes actuelles, puis à la gestion de la sécurité, des identités ainsi que la protection des données. À la fin de cette formation, vous aurez toutes les clés en main pour assurer la sécurité de votre environnement cloud sous Azure.
  • Introduction
  • 1. Découvrir la plateforme Azure
  • 2. Découvrir Microsoft Trust Center
  • 3. Assurer la conformité
  • 4. Aborder la sécurité de l’infrastructure
  • 5. Administrer les identités
  • 6. Mettre en oeuvre Security Center
  • 7. Gérer les secrets
  • Conclusion

N’hésitez pas à me solliciter si vous avez des questions / feedbacks.

Au plaisir,

Maxime.