So stellen Sie Elasticsearch auf Azure AKS Automated bereit

Erfahren Sie, wie Sie Elasticsearch mit Kibana auf Azure mithilfe von AKS Automatic und ECK für eine teilweise verwaltete Elasticsearch-Setup-Konfiguration bereitstellen.

Neu bei Elasticsearch? Nehmen Sie an unserem Webinar „Erste Schritte mit Elasticsearch“ teil. Sie können jetzt auch eine kostenlose Cloud-Testversion starten oder Elastic auf Ihrem Rechner testen.

Dieser Artikel ist Teil einer Reihe, in der wir lernen werden, wie man Elasticsearch mithilfe verschiedener Infrastrukturen installiert.

ECK erfordert deutlich mehr Aufwand als die Marketplace-basierten Elastic Cloud-Lösungen, ist aber stärker automatisiert als die manuelle Bereitstellung von VMs, da der Kubernetes-Operator die Systemorchestrierung und die Skalierung der Knoten übernimmt.

Dieses Mal werden wir mit dem Azure Kubernetes Service (AKS) arbeiten und dabei die automatische Methode verwenden. In den anderen Artikeln erfahren Sie, wie Sie Azure VM und Azure Marketplace nutzen.

Was ist AKS Automatic?

Der Azure Kubernetes Service (AKS) verwaltet automatisch die Clusterkonfiguration, weist Ressourcen dynamisch zu und integriert bewährte Sicherheitspraktiken bei gleichzeitiger Beibehaltung der Flexibilität von Kubernetes. Dadurch können Entwickler innerhalb von Minuten vom Container-Image zur bereitgestellten Anwendung gelangen.

AKS Automatic beseitigt den Großteil des Aufwands für die Clusterverwaltung und schafft ein gutes Gleichgewicht zwischen Einfachheit und Flexibilität. Die richtige Wahl hängt von Ihrem Anwendungsfall ab, aber die Entscheidung wird einfacher, wenn Sie Folgendes planen:

  • Bereitstellung einer Testumgebung: Die Bereitstellung ist schnell und unkompliziert und eignet sich daher ideal für schnelle Experimente oder kurzlebige Cluster.
  • Arbeiten Sie ohne strenge VM-, Speicher- oder Netzwerkanforderungen: AKS Automatic bietet vordefinierte Standardeinstellungen. Wenn diese Ihren Bedürfnissen entsprechen, erspart Ihnen das zusätzliche Konfigurationsaufwand.
  • So starten Sie zum ersten Mal mit Kubernetes: AKS Automatic übernimmt einen Großteil der Cluster-Einrichtung, senkt die Lernkurve und ermöglicht es Teams, sich auf ihre Anwendungen zu konzentrieren.

Für Elasticsearch werden wir Elastic Cloud on Kubernetes (ECK) verwenden, den offiziellen Elastic Kubernetes Operator, der die Orchestrierung von Kubernetes-Bereitstellungen des Elastic Stack vereinfacht.

So richten Sie AKS Automatic ein

1. Melden Sie sich beim Microsoft Azure Portal an.

2. Klicken Sie oben rechts. Klicken Sie auf die Schaltfläche „Cloud Shell“ , um auf die Konsole zuzugreifen und den AKS-Cluster von dort aus bereitzustellen. Alternativ können Sie die Azure Cloud Shell verwenden.

Denken Sie daran, die Projekt-ID während des Tutorials durch Ihre eigene zu ersetzen.

Das Öffnen des AKS sollte wie im obigen Screenshot aussehen.

3. Installieren Sie die Azure CLI-Erweiterung aks-preview. Diese Vorabversion ermöglicht es uns, bei der Clustererstellung --sku automatic auszuwählen, wodurch die AKS-Automatikfunktion aktiviert wird.

Wenn Sie diese Meldung sehen, bedeutet dies, dass die AKS-Erweiterung ordnungsgemäß installiert wurde.

4. Registrieren Sie Feature-Flags mit dem Befehl az feature register

Sie sehen nun die Details zu dem soeben erstellten Funktionsabonnement:

Überprüfen Sie den Registrierungsstatus, bis er sich von „ Registrierung läuft“ in „ Registriert“ ändert. Die Registrierung kann einige Minuten dauern.

Führen Sie az provider register aus, um die Änderungen zu verbreiten.

5. Erstellen Sie eine Ressourcengruppe

Eine Ressourcengruppe ist eine logische Gruppe von Azure-Ressourcen, die verwaltet und bereitgestellt werden sollen.

6. Erstellen Sie einen Autopilot-Cluster. Wir werden es myAKSAutomaticCluster nennen und die soeben erstellte Ressourcengruppe verwenden. Stellen Sie sicher, dass auf einer der folgenden VM-Größen 16 vCPUs verfügbar sind: Standard_D4pds_v5, Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, damit AKS Ressourcen zuweisen kann.

* FallsMissingSubscriptionRegistration-Fehler auftreten , gehen Sie mit den fehlenden Abonnements zurück zu Schritt 4. Beispielsweise erfordert The subscription is not registered to use namespace 'microsoft.insights'die Ausführung vonaz provider register --namespace Microsoft.Insights.

Folgen Sie dem interaktiven Login:

Es erscheint eine Meldung mit der Aufforderung, „az login“ auszuführen. Sie müssen diesen Befehl ausführen und dann warten.

7. Warten Sie, bis es fertig ist. Die Erstellung dauert etwa 10 Minuten.

8. Konfigurieren Sie den Zugriff auf die kubectl-Befehlszeile.

Beachten Sie, dass die von uns installierte Erweiterung AKS Automatic aktiviert.

9. Bestätigen Sie, dass die Knoten bereitgestellt wurden.

Es wird eine Fehlermeldung angezeigt, die den Zugriff verweigert. Kopieren Sie die Benutzer-ID aus der Fehlermeldung.

10. Fügen Sie Ihren Benutzer zur AKS-Zugriffskontrolle hinzu.

AKS-ID abrufen. Kopiere die Ausgabe des Befehls.

Erstellen Sie eine Rollenzuweisung mithilfe der AKS-ID und der Principal-ID Ihres Benutzers.

11. Versuchen Sie erneut zu überprüfen, ob die Knoten bereitgestellt wurden.

12. Installieren Sie den Elastic Cloud on the Kubernetes (ECK)-Operator.

13. Wir erstellen eine Elasticsearch-Instanz mit einem einzelnen Knoten und den Standardwerten.

Wir haben nmap deaktiviert, da die Standard-AKS-Maschine einen zu niedrigen Wert für vm.max_map_count hat. Für den Produktivbetrieb wird von einer Deaktivierung abgeraten, stattdessen sollte der Wert von vm.max_map_count erhöht werden. Mehr dazu können Sie hier nachlesen.

14. Wir werden auch einen Kibana-Einzelknotencluster bereitstellen. Für Kibana werden wir einen Load Balancer hinzufügen, der uns eine externe IP-Adresse bereitstellt, über die wir Kibana von unserem Gerät aus erreichen können.

Standardmäßig konfiguriert AKS Automatic den Load Balancer als öffentlich; Sie können dieses Verhalten ändern, indem Sie die Metadaten-Annotation festlegen:

service.beta.kubernetes.io/azure-load-balancer-internal: "true"

15. Überprüfen Sie, ob Ihre Pods ausgeführt werden.

16. Sie können auch kubectl get elasticsearch und kubectl get kibana ausführen, um spezifischere Statistiken wie Elasticsearch-Version, Knoten und Zustand zu erhalten.

17. Greifen Sie auf Ihre Dienste zu.

Hier wird Ihnen die externe URL für Kibana unter EXTERNAL-IP angezeigt. Es kann einige Minuten dauern, bis der Load Balancer bereitgestellt ist. Kopieren Sie den Wert von EXTERNAL-IP.

18. Ermitteln Sie das Elasticsearch-Passwort für den Benutzer „elastic“:

19. Greifen Sie über Ihren Browser auf Kibana zu :

a. URL: https://:5601<EXTERNAL_IP>

b. Benutzername:elastic

c. Passwort:c44A295CaEt44D6xIzN6Zs5m (aus dem vorherigen Schritt)

20. Wenn Sie Elastic Cloud über Ihren Browser aufrufen, wird Ihnen der Begrüßungsbildschirm angezeigt.

Wenn Sie die Spezifikationen des Elasticsearch-Clusters ändern möchten, z. B. die Anzahl oder Größe der Knoten anpassen, können Sie das YML-Manifest mit den neuen Einstellungen erneut anwenden:

In diesem Beispiel fügen wir einen weiteren Knoten hinzu und modifizieren RAM und CPU. Wie Sie sehen können, zeigt kubectl get elasticsearch jetzt 2 Knoten an:

Das Gleiche gilt für Kibana:

Wir können die CPU/RAM-Auslastung des Containers sowie die Speichernutzung von Node.js (max-old-space-size) anpassen.

Beachten Sie, dass bestehende Volumenansprüche nicht reduziert werden können. Nach der Installation des Updates kann der Betreiber die Änderungen mit minimalen Unterbrechungszeiten vornehmen.

Denken Sie daran, den Cluster nach Abschluss der Tests zu löschen, um unnötige Kosten zu vermeiden.

Fazit

Die Verwendung von Azure AKS Automatic mit ECK bietet eine ausgewogene Lösung für die Bereitstellung von Elasticsearch und Kibana: Sie reduziert die operative Komplexität, gewährleistet automatisierte Skalierung und Aktualisierungen und nutzt die Flexibilität von Kubernetes. Dieser Ansatz ist ideal für Teams, die einen zuverlässigen, wiederholbaren und wartungsfreundlichen Bereitstellungsprozess wünschen, ohne jedes Infrastrukturdetail manuell verwalten zu müssen. Daher ist er eine praktische Wahl sowohl für Test- als auch für Produktionsumgebungen.

Wie geht es weiter?

Wenn Sie mehr über Kubernetes erfahren möchten, können Sie die offizielle Dokumentation hier einsehen:

Zugehörige Inhalte

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus