Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sizing platefome kubernetes - Kafka BOA

Besoins

  • Environnment: AKS Cloud AZURE
  • Nombres de clusters: 3 (dev, preprod, prod)
  • Nombres de namespace par environnement: 16 namespaces kafka (dev: 1 controller + 1 broker par namespace, preprod et prod 3 controller + 3broker par namespace)

Sizing des clusters

Ce document propose un sizing de départ, pas un dimensionnement définitif

Parameters AKS DEV AKS PREPROD AKS PROD
vm size (Default Pool) Standard_D4s_v5 Standard_D4ds_v5 Standard_D4as_v5
vm size (App Pool) Standard_D4s_v5 Standard_D4ds_v5 Standard_D8ds_v5
node count 3 4 7
max pod 110 110 110
Os Disk Size 50 50 50
OS disk Type Managed Managed Managed
Pod CIDR 188.10.0.0/16 188.11.0.0/16 188.12.0.0/16
Service CIDR 198.10.0.0/16 198.11.0.0/16 198.12.0.0/16
Node Type VirtualMachineScaleSets VirtualMachineScaleSets VirtualMachineScaleSets
Kubernetes Version 1.33.5 1.33.5 1.33.5
Outbound Type LoadBalancer LoadBalancer LoadBalancer
CNI Azure CNI Overlay Azure CNI Overlay Azure CNI Overlay
Auto scaling Enabled Enabled Enabled
AKS SKU Standard Standard Standard
AKS DNS IP 198.10.0.10 198.11.0.10 198.12.0.10
AKS Private Enabled Enabled Enabled
AKS Workload Identity Enabled Enabled Enabled
AKS OIDC Enabled Enabled Enabled
AKS RBAC Enabled Enabled Enabled
ACR SKU Premium Premium Premium
ACR Public Enabled No No No
ACR Network Rule set Enabled Enabled Enabled
ACR Content Trust Disabled Disabled Disabled

Infrastructure existants

Ressources Azure AKS DEV AKS PREPROD AKS PROD
Resource Group RG-DEV RG-PREPROD RG-PROD
Vnet VNET-KUB-DEV VNET-KUB-PREPROD-NEW VNET-KUB-PROD_NEW
Subnet default default default
Subnet CIDR 10.110.0.0/24 10.150.0.0/24 10.160.0.0/24
Entra ID User Group AKS Admin GRP_KUB_DEV GRP_KUB_PREPROD GRP_KUB_PRDO

Déploiement des clusters avec Terraform

Prèrequis et Outils

  • Terraform
  • kubectl
  • kubelogin
  • git

Permissions sur azure dont devez avoir

  • Role Contributor sur la souscription Global Subscription BOA HOLDING CSP
  • Role Owner sur les ressources Groups RG-KUB-DEV, RG-KUB-PREPROD, RG-KUB-PROD
  • Role en lecture sur les group Azure Entra ID GRP_KUB_DEV, GRP_KUB_PREPROD, GRP_KUB_PROD

Récupération du code

  • Cloner le repository

Déploiement

  • Sur l'environnement de DEV

    • cd aks-kafka/dev
    • terrafom init
    • terraform plan
    • terraform apply
  • Sur l'environnement de PREPROD

    • cd aks-kafka/preprod
    • terrafom init
    • terraform plan
    • terraform apply
  • Sur l'environnement de PROD

    • cd aks-kafka/prod
    • terrafom init
    • terraform plan
    • terraform apply

Connection sur le cluster

  1. Recuperer le kubeconf du cluster dépuis le portal azure
  2. Tapez les commandes ci-dessous
az account set --subscription <subscription_id>
az aks get-credentials --resource-group <rg-name> --name <cluster-name> --overwrite-existing
kubelogin convert-kubeconfig -l azurecli
  1. Tester l'accès au cluster
kubectl get nodes
kubectl get pod -n kube-system

Mise à jour du cluster pour rediriger les flux sortant vers PaloAlto

Pour rediriger les flux sortant du cluster vers PaloAlto, voici les actions à faire:

  1. Associer la table routage au subnet sur lequel se trouve le cluter.
    Exemple pour le cluster de dev
    Dans le vnet VNET-KUB-DEV, subnet default, route table sélectionné RT_KUB_DEV_TO_PALOALTO, et enregistrer.

  2. Changer le output_type de loadBalancer à userDefinedRoute
    Exemple pour le cluster de dev Dans le dossier dev du code terraform, modifier la ligne 105 du fichier main.tf à outbound_type : "userDefinedRouting"

  3. Déployer les mise à jour

terraform plan
terraform apply

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages