Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud Native Workshop

Cloud Native Workshop

Slides of my cloud native workshop at "Grazer Linuxtage" 2024

https://pretalx.linuxtage.at/glt24/talk/VWBVLQ/

Are you a cloud native developer?

Was bedeutet es, ein "cloud nativer" Entwickler zu sein, wie sieht ein entsprechender Workflow dazu aus, welche Tools kommen zum Einsatz? Wie spielen Konzepte und Tools von GitHub, Hashicorp und Microsoft zusammen?
Die Fragen dazu möchten wir mit euch mittels einer Hands-On Session beantworten.

Lasst uns gemeinsam mit Hilfe von 'Visual Studio Code' und 'GitHub Codespaces' Cloud Ressourcen mittels 'Infrastructure as Code' definieren und deployen. Zudem werden wir auch zusammen Befehle für das Command Line Interface zu Kubernetes Clustern ausführen.

Der volle Inhalt:
* Erstellung deines eigenens GitHub Codespaces
* Installieren der Extension für GitHub Codespaces für Visual Studio Code
* Definieren einer Azure ressource mittels einer Terraform Configuration
* Provisionieren der Ressource in einer Azure Subscription mittels Terraform
* Deployment von Kubernetes Jobs auf einem Kubernetes Cluster
* Skalieren der Workloads
* Zerstören der Ressourcen in der Azure Subscription

Koch, Patrick AVL/AT

April 08, 2024
Tweet

More Decks by Koch, Patrick AVL/AT

Other Decks in Technology

Transcript

  1. Task 1  Dev Container  GitHub Codespaces  Terraform

    configurations  Deployment of a Ubuntu Virtual Machine on Azure  Destruction of the resources Source GitHub Codespaces icon: https://education.github.com/experiences/primer_codespaces, Azure Icon: Azure Public Service Icons V14, Ubuntu Icon: https://en.m.wikipedia.org/wiki/File:Logo-ubuntu_cof-orange-hex.svg, Terraform Icon: HashiCorp Brand Kit
  2. on-site / dev environment in the cloud user Terraform configuration

    in a GitHub Codespace Ubuntu virtual machine Source GitHub Codespaces icon: https://education.github.com/experiences/primer_codespaces, Azure Icons: Azure Public Service Icons V14, Ubuntu Icon: https://en.m.wikipedia.org/wiki/File:Logo-ubuntu_cof-orange-hex.svg, Terraform Icon: HashiCorp Brand Kit
  3. Github Dev Container und Codespace erstellen Source GitHub Codespaces icon:

    https://education.github.com/experiences/primer_codespaces
  4. Erstelle ein neues Git repository  Mit den Konfigurationsdateien für

    den Dev-Container und für den GitHub Codespace:  https://github.com/patkoch/azure_terraform_codespace
  5. Anmeldung bei der Azure Subscription mittels Azure CLI  az

    login // bei Azure anmelden  Credentials: siehe beigelegten Usernamen/Passwort
  6. Terraform Configuration adaptieren und Bereitstellung  https://github.com/patkoch/terraform-azure-virtual-machine-linux  RSA Schlüssel

    erstellen ssh-keygen -t rsa -f id_rsa  terraform init # Connection to the backend  Terraform Configuration adaptieren (variables.tf)  id_rsa.pub Pfad in variables.tf hinzufügen/kontrollieren  terraform fmt # .tf files automatisiert formatieren  terraform validate # .tf files auf Syntax checken  terraform plan –out tfplan # Plan erstellen  terraform apply tfplan # Ressourcen laut Plan deployen
  7. Verbinden zu der Ubuntu VM  chmod 600 id_rsa 

    ssh -i id_rsa adminuser@<public IP der Ubuntu VM auf Azure>  ls –la  exit
  8. Task 2  Adapt your Dev Container: install kubectl 

    Update your kubeconfig file with the credentials of a Kubernetes cluster  Deployment of Linux Workloads on an Azure Kubernetes Cluster  Scaling the Workloads az aks get-credentials --resource-group myResourceGroup --name myAKSCluster Source AKS icon: Microsoft (Azure Public Service Icons)