BLOG | NGINX

Leitfaden zur Auswahl eines Ingress-Controllers, Teil 4: Optionen für den NGINX Ingress Controller

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Jenn Gile Miniaturbild
Jenn Gile
Veröffentlicht am 27. September 2021

Redakteur – Dieser Beitrag ist Teil einer 10-teiligen Serie:

  1. Reduzieren Sie die Komplexität mit produktionsreifem Kubernetes
  2. So verbessern Sie die Ausfallsicherheit in Kubernetes mit erweitertem Verkehrsmanagement
  3. So verbessern Sie die Sichtbarkeit in Kubernetes
  4. Sechs Möglichkeiten zur Sicherung von Kubernetes mit Traffic-Management-Tools
  5. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 1: Identifizieren Sie Ihre Anforderungen
  6. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 2: Risiken und Zukunftssicherheit
  7. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 3: Open Source vs. Standard vs. Kommerziell
  8. Leitfaden zur Auswahl eines Ingress-Controllers, Teil 4: NGINX Ingress Controller-Optionen (dieser Beitrag)
  9. So wählen Sie ein Service Mesh aus
  10. Leistungstests für NGINX-Ingress-Controller in einer dynamischen Kubernetes-Cloud-Umgebung

Sie können den kompletten Blogsatz auch als kostenloses E-Book herunterladen: Kubernetes vom Test zur Produktion bringen .

Laut der Umfrage 2020 der Cloud Native Computing Foundation (CNCF) ist NGINX die am häufigsten verwendete Datenebene in Ingress-Controllern für Kubernetes – aber wussten Sie, dass es mehr als einen „NGINX Ingress Controller“ gibt?

Eine frühere Version dieses Blogs, die 2018 unter dem Titel „ Moment mal, welchen NGINX-Ingress-Controller für Kubernetes verwende ich?“ veröffentlicht wurde, entstand aufgrund eines Gesprächs mit einem Community-Mitglied über die Existenz zweier beliebter Ingress-Controller, die NGINX verwenden.

Es ist leicht zu erkennen, warum es zu Verwirrung kam (und immer noch kommt). Beide Ingress-Controller sind:

  • Genannt „NGINX Ingress Controller“
  • Open Source
  • Gehostet auf GitHub mit sehr ähnlichen Repo-Namen
  • Das Ergebnis von Projekten, die etwa zur gleichen Zeit begannen

Und die größte Gemeinsamkeit besteht natürlich darin, dass sie dieselbe Funktion implementieren.

NGINX im Vergleich Kubernetes Community Ingress Controller

Der Übersichtlichkeit halber unterscheiden wir die beiden Versionen wie folgt:

  • Community-Version – Der Community-Ingress-Controller befindet sich im Repository „kubernetes/ingress-nginx“ auf GitHub und basiert auf NGINX Open Source mit Dokumentationen auf Kubernetes.io . Es wird von der Kubernetes-Community gepflegt.
  • NGINX-Version – Zu finden im Repository nginxinc/kubernetes-ingress auf GitHub. NGINX Ingress Controller wird von F5 NGINX entwickelt und gepflegt. Dokumentationen finden Sie auf docs.nginx.com . Es ist in zwei Ausgaben erhältlich:

Es gibt auch eine Reihe anderer Ingress-Controller auf Basis von NGINX, wie beispielsweise Kong, aber glücklicherweise lassen sich ihre Namen leicht unterscheiden. Wenn Sie nicht sicher sind, welchen NGINX Ingress Controller Sie verwenden, überprüfen Sie das Container-Image des laufenden Ingress-Controllers und vergleichen Sie dann den Namen des Docker-Images mit den oben aufgeführten Repos.

Ziele und Prioritäten des NGINX Ingress Controllers

Ein wesentlicher Unterschied zwischen dem NGINX Ingress Controller und dem Community Ingress Controller (sowie anderen Ingress Controllern basierend auf NGINX Open Source) sind ihre Entwicklungs- und Bereitstellungsmodelle, die wiederum auf unterschiedlichen Zielen und Prioritäten basieren.

  • Entwicklungsphilosophie – Unsere oberste Priorität für alle NGINX-Projekte und -Produkte ist die Bereitstellung eines schnellen, leichtgewichtigen Tools mit langfristiger Stabilität und Konsistenz. Wir unternehmen alle möglichen Anstrengungen, um Verhaltensänderungen zwischen Versionen zu vermeiden, insbesondere solche, die die Abwärtskompatibilität beeinträchtigen. Wir versprechen, dass Sie beim Upgrade keine unerwarteten Überraschungen erleben werden. Wir glauben auch an die Auswahl, daher können alle unsere Lösungen auf jeder Plattform bereitgestellt werden, einschließlich Bare Metal, Containern, VMs und öffentlichen, privaten und Hybrid-Clouds.
  • Integrierte Codebasis – NGINX Ingress Controller verwendet eine 100 % reine NGINX Open Source- oder NGINX Plus-Instanz zum Lastenausgleich und wendet eine Best-Practice-Konfiguration ausschließlich unter Verwendung nativer NGINX-Funktionen an. Es basiert nicht auf Modulen von Drittanbietern oder Lua-Code, die nicht von unseren Interoperabilitätstests profitiert haben. Wir stellen unseren Ingress-Controller nicht aus zahlreichen Drittanbieter-Repos zusammen, sondern entwickeln und pflegen die Load Balancer- (NGINX und NGINX Plus) und Ingress-Controller-Software (eine Go-Anwendung) selbst. Wir sind die einzige Autorität für alle Komponenten unseres Ingress-Controllers.
  • Erweitertes Verkehrsmanagement – Eine der Einschränkungen der Standard-Kubernetes-Ingress-Ressource besteht darin, dass Sie Zusatzfunktionen wie Annotation, ConfigMaps und Kundenvorlagen verwenden müssen, um sie mit erweiterten Funktionen anzupassen. NGINX Ingress-Ressourcen bieten einen nativen, typsicheren und eingerückten Konfigurationsstil, der die Implementierung von Ingress-Lastausgleichsfunktionen vereinfacht, einschließlich TCP/UDP, Circuit Breaking, A/B-Tests, Blue-Green-Bereitstellungen, Header-Manipulation, gegenseitige TLS-Authentifizierung (mTLS) und Web Application Firewall (WAF).
  • Kontinuierliche Produktionsbereitschaft – Jede Version wird gemäß einem unterstützbaren Produktionsstandard erstellt und gepflegt. Sie profitieren von diesem „Enterprise-Grade“-Fokus gleichermaßen, unabhängig davon, ob Sie die auf Open Source oder NGINX Plus basierende Edition von NGINX verwenden. Benutzer von NGINX Open Source können ihre Fragen auf GitHub von unserem Engineering-Team beantworten lassen, während Abonnenten von NGINX Plus erstklassigen Support erhalten. So oder so ist es, als hätten Sie einen NGINX-Entwickler in Ihrem DevOps-Team!

NGINX Open Source vs. NGINX Plus – Warum auf unsere Commercial Edition upgraden?

Und wenn wir schon dabei sind, lassen Sie uns auch einige der wichtigsten Vorteile durchgehen, die Sie vom NGINX Plus-basierten NGINX Ingress Controller erhalten. Wie wir in „So wählen Sie einen Kubernetes-Ingress-Controller aus, Teil 3“ besprochen haben: Open Source vs. Standard vs. Kommerziell : Es gibt erhebliche Unterschiede zwischen Open Source und kommerziellen Ingress-Controllern. Wenn Sie große Kubernetes-Bereitstellungen und komplexe Apps in der Produktion planen, werden Sie feststellen, dass unser kommerzieller Ingress-Controller Ihnen in einigen wichtigen Bereichen Zeit und Geld spart.

Sicherheit und Compliance

Einer der Hauptgründe, warum viele Unternehmen Kubernetes-Apps nicht in die Produktion bringen, ist die Schwierigkeit, ihre Sicherheit und Konformität zu gewährleisten. Der auf NGINX Plus basierende NGINX Ingress Controller erschließt fünf Anwendungsfälle, die für die Sicherheit Ihrer Apps und Kunden von entscheidender Bedeutung sind.

Erfahren Sie, wie der deutsche Automobilgigant Audi seine Red Hat OpenShift-Apps gesichert hat, indem er in „Audi Future‑Proofs Tech Vision and App Innovation with NGINX“ nachgeforscht hat .

Anwendungsleistung und Ausfallsicherheit

Betriebszeit und App-Geschwindigkeit sind häufig wichtige Leistungsindikatoren (KPIs) für Entwickler und Platform-Ops-Teams. Der auf NGINX Plus basierende NGINX Ingress Controller ermöglicht fünf Anwendungsfälle, die Ihnen helfen, die Versprechen von Kubernetes einzulösen.

  • Erhalten Sie Live-Überwachung – Das NGINX Plus-Dashboard zeigt Hunderte wichtiger Last- und Leistungsmetriken an, sodass Sie die Ursache für langsame (oder ausgefallene!) Apps schnell beheben können.
  • Erkennen und beheben Sie Fehler schneller – Implementieren Sie einen Leistungsschalter mit aktiven Integritätsprüfungen, der die Integrität Ihrer TCP- und UDP-Upstreamserver proaktiv überwacht.
  • Neukonfiguration ohne Neustarts – Eine schnellere, unterbrechungsfreie Neukonfiguration gewährleistet, dass Sie Anwendungen mit gleichbleibender Leistung und Ressourcennutzung sowie geringerer Latenz als die Open Source-Alternativen bereitstellen können.
  • Testen Sie neue Funktionen und Bereitstellungen gründlich – Erleichtern Sie die Durchführung von A/B-Tests und Blue-Green-Bereitstellungen, indem Sie den Schlüssel-Wert-Speicher nutzen, um die Prozentsätze zu ändern, ohne dass Neuladen erforderlich ist.
  • Support-Anforderungen schnell lösen – Vertraulicher, kommerzieller Support ist für Organisationen von entscheidender Bedeutung, die nicht auf die Beantwortung von Fragen durch die Community warten können oder die Offenlegung vertraulicher Daten nicht riskieren können. Der NGINX-Support ist entsprechend Ihren Anforderungen in mehreren Stufen verfügbar und umfasst Unterstützung bei Installation, Bereitstellung, Fehlerbehebung und Fehlerkorrektur. Sie können sogar Hilfe bekommen, wenn etwas einfach nicht „richtig“ erscheint.

Erfahren Sie, wie das SMS-Unternehmen Zipwhip mit NGINX eine Verfügbarkeit von 99,99 % für seine SaaS-Apps erreichte und so die Sicherheit und Verkehrstransparenz auf Amazon EKS stärkte .

Nächster Schritt: Testen Sie NGINX Ingress Controller

Wenn Sie sich für einen Open-Source-Ingress-Controller als richtige Wahl für Ihre Apps entschieden haben, können Sie in unserem GitHub-Repo schnell loslegen.

Wir hoffen, dass Sie für große Produktionsbereitstellungen unseren kommerziellen Ingress-Controller auf Basis von NGINX Plus ausprobieren. Es ist als 30-tägige kostenlose Testversion verfügbar, die NGINX App Protect umfasst.


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."