Skip to content

Workshop de 2 jours autour de d'Azure Kubernetes Services et services associés

Notifications You must be signed in to change notification settings

squasta/Workshop-Azure-Kubernetes-Service-2days

 
 

Repository files navigation

Workshop-Azure-Kubernetes-Service-2days

Workshop de 2 jours autour de d'Azure Kubernetes Services et services associés

tags: #workshop #aks #github #kubernetes

Objectifs

Découverte de Kubernetes dans Azure avec des exercices pratiques

Agenda

Jour 1

Matinée

  • Introduction de l'atelier, programme des 2 journées
  • Rappels rapides sur les architectures cloud natives, 12 factors apps, pet vs cattle, baking vs frying....
  • Rappels rapides sur les basiques de Kubernetes
  • Présentation AKS : control plane, worker nodes, réseau, stockage
  • Lab 1 : création d'un cluster AKS via le portail Azure + visualisation des ressources via le portail Azure
  • Lab 2 : création d'un cluster plus avancé via Azure CLI, connexion et utilisation basique de kubectl
  • Lab 3 : création d'un cluster avec plusieurs node pools avec autoscaling via Terraform + déploiement basique d'une application (service de type load balancer)

Après midi

  • Intégration avec d'autres services Azure : Azure Monitor, Azure Policy, Azure Container Registry, Azure Log Anaytics, Azure Application Gateway, Azure NAT Gateway, Microsoft Defender for Cloud...
  • Lab 4: Activation du monitoring avec Azure Monitor
  • Lab 5 : Azure Container Registry : configuration, importation et utilisation avec AKS
  • Lab 6 : Installation d'AGIC, déploiement d'Azure Application Gateway et déploiement d'une application basique
  • Lab 7 : Utilisation du Secret Store CSI Driver avec Azure Key Vault

Jour 2

Matinée

  • Gestion des montées de version : du cluster à l'application
  • Lab 8 : Montées de versions dans AKS
  • Lab 9 : Montées de version de l'application => Rolling update, Blue Green, Canary
  • Automatisation des déploiements applicatifs et configurations Kubernetes : Deployment Center, Pipelines avec GitHub, GitOps
  • Lab 10 : Pipeline basique CI/CD Kubernetes YAML

Après midi

  • Introduction à Kustomize
  • Lab 11 : Introduction à Kustomize et Pipeline avec Kustomize
  • Lab 12 : GitOps avec AKS et Fluxv2
  • Autoscaling quelles options ? HPA, KEDA, VPA, Virtual Kubelet...
  • Conclusion - Tour de table

Pré requis - compétences

Pré requis - techniques

  • Un Abonnement Azure avec des privilèges d'administrateur
  • Un compte GitHub

L'ensemble des labs peut être réalisé depuis l'Azure Cloud Shell

Accéder au cloud shell via l'url suivante dans votre navigateur : https://shell.azure.com

Ouvrir un Azure Cloud Shell. Si c'est la première utilisation d'Azure Cloud Shell, valider la création d'un compte de stockage (qui contiendra les données du profil).

Informations complémentaires sur Azure Cloud Shell : https://docs.microsoft.com/en-us/azure/cloud-shell/overview

Installation des composants nécessaires pour travailler sur un poste local (Optionnel)

Avoir un environnement Bash

Avoir les outils suivants installés dans WSL :

Procédure d'installation de la CLI Terraform pour Linux (WSL Ubuntu 20.04)

sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install terraform

Créer une clé SSH si vous n'en avez pas déjà

se placer sur le répertoire home : cd

ssh-keygen -t rsa

Créer un Service Principal dans Azure

az login

az account list -o table

Récupérer l'ID de la subscription Azure puis exécuter la commande suivante :

az ad sp create-for-rbac --name "votrenom-demo-githubaction2022" --role "Contributor" --scopes /subscriptions/METTRE_ICI_L_ID_DE_LA_SUBSCRIPTION -o jsonc

Récupérer le output de la commande et le sauvegarder temporairement dans un fichier

About

Workshop de 2 jours autour de d'Azure Kubernetes Services et services associés

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 92.6%
  • JavaScript 5.4%
  • Dockerfile 2.0%