9 VIEWS

DAPR in der Cloud

23.04.2021

DAPR verspricht Plattformagnostik und quasi keinen zusätzlichen Konfigurationsaufwand bei der Migration in remote Cluster.

Im ersten Teil sind wir darauf eingegangen, was die DAPR ist. Da eine der zentralen Problemstellungen, welche gelöst werden soll, die Plattformagnostik ist möchten wir nun darauf eingehen wie sich ein remote Deployment realisieren lässt.

Um die Migration von DAPR Projekten zu testen, wird ein lokales Minikube Cluster in eine Azure als auch in eine AWS Umgebung migriert.

Azure Kubernetes Service

Vorgehen:

  1. Vorbereitung Azure Kubernetes Service
  2. Azure Container Registry für Images verknüpfen

Vorbereitung AKS / ACR

Nun sollte kubectl verfügbar sein:
Anschließend werden Azure Kubernetes Service und Azure Container registry verknüpft:
Die verwendeten Images sollten in einer für das Cluster erreichbaren Container registry hinterlegt sein.

 

Amazon Elastic Kubernetes Service

Vorbereitung EKS/ ECR

Neues Cluster erstellen:

Überprüfen:

Elastic Container registry

https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html

Sofern ECR und EKS dem gleichen IAM zugeordnet sind, kann das EKS auf diese zugreifen.

Die lokal verwendeten Images unterscheiden sich in keiner Weise von denen, die im Azure / AWS Cluster ausgeführt werden. Lediglich in den YAML Deployment Files müssen eventuell die Image Repository Pfade angepasst werden.

Deployment im Cluster

  1. Message Broker / PubSub installieren (redis)
  2. DAPR in das Cluster einbinden
  3. Deployments

Benötigt: kubectl Zugriff auf remote Cluster, helm, DAPR-CLI

Installation REDIS

Hint: Die Redis Pods müssen im selben Namespace sein wie die DAPR-Anwendung die diese verwenden soll! (Default: default)

Installation DAPR

Wenn die DAPR-CLI lokal installiert ist und kubectl mit dem remote Cluster verbunden ist, kann DAPR einfach per Befehl in das Cluster geladen werden.

Deployment Anwendung

Hint: Die Anwendung wird im “default” namespace deployed.

In jedem Anwendungs-Pod laufen nun zwei Container: Die Anwendung und das DAPR Sidecar.

Fazit

Durch diese recht einfach umgesetzte Art kann erreicht werden, dass lokale Anwendungen einfach über Plattformen hinweg deployed werden können. Der große Vorteil durch den Einsatz von DAPR besteht darin, dass im eigentlichen Programmcode der Microservices keine Änderungen bezüglich Zugriffspunkten erledigt werden müssen. Diese werden durch die DAPR Anwendung über ein Routing verfügbar gemacht.

 

Co-Autor: Jacob Zeising


Quellen:

dapr.io

github.com/dapr

https://azure.microsoft.com/de-de/services/kubernetes-service/#features  

https://aws.amazon.com/de/eks/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc&eks-blogs.sort-by=item.additionalFields.createdDate&eks-blogs.sort-order=desc

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*Pflichtfelder

*

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.