Ce référentiel fournit une implémentation d'un contrôleur d'entrée pour NGINX et NGINX Plus par les personnes derrière NGINX.
Nous apprécions la contribution de la communauté et serions ravis de vous voir lors du prochain appel communautaire. Lors de ces appels, nous discutons des PR des membres de la communauté ainsi que des problèmes, des discussions et des demandes de fonctionnalités.
Lien Microsoft Teams : KIC - Triage des problèmes GitHub
Numéro de réunion : 298 140 979 789
Code d'accès : jpx5TM
Slack : rejoignez notre chaîne #nginx-ingress-controller
sur la communauté NGINX Slack pour des mises à jour et des discussions.
Quand : 15h00 GMT / Convertissez vers votre fuseau horaire, un lundi sur deux.
Dates des appels communautaires |
---|
2024-10-07 |
2024-10-21 |
2024-11-05 |
2024-11-18 |
2024-12-02 |
2024-12-16 |
NGINX Ingress Controller fonctionne à la fois avec NGINX et NGINX Plus et prend en charge les fonctionnalités Ingress standard : routage basé sur le contenu et terminaison TLS/SSL.
De plus, plusieurs fonctionnalités NGINX et NGINX Plus sont disponibles en tant qu'extensions de la ressource Ingress via les annotations et la ressource ConfigMap. En plus de HTTP, NGINX Ingress Controller prend en charge l'équilibrage de charge des applications Websocket, gRPC, TCP et UDP. Consultez les documents ConfigMap et Annotations pour en savoir plus sur les fonctionnalités prises en charge et les options de personnalisation.
Comme alternative à Ingress, NGINX Ingress Controller prend en charge les ressources VirtualServer et VirtualServerRoute. Ils permettent des cas d'utilisation non pris en charge avec la ressource Ingress, tels que la répartition du trafic et le routage avancé basé sur le contenu. Voir la documentation sur les ressources VirtualServer et VirtualServerRoute.
L'équilibrage de charge TCP, UDP et TLS Passthrough est également pris en charge. Consultez le document de ressources TransportServer.
Lisez ce document pour en savoir plus sur NGINX Ingress Controller avec NGINX Plus.
Note
Ce projet est différent du contrôleur d'entrée NGINX dans le dépôt kubernetes/ingress-nginx. Consultez ce document pour connaître les principales différences.
L'Ingress est une ressource Kubernetes qui vous permet de configurer un équilibreur de charge HTTP pour les applications exécutées sur Kubernetes, représentées par un ou plusieurs services. Un tel équilibreur de charge est nécessaire pour fournir ces applications aux clients en dehors du cluster Kubernetes.
La ressource Ingress prend en charge les fonctionnalités suivantes :
Routage basé sur le contenu :
Routage basé sur l'hôte . Par exemple, acheminer les requêtes avec l'en-tête d'hôte foo.example.com
vers un groupe de services et l'en-tête d'hôte bar.example.com
vers un autre groupe.
Routage basé sur le chemin . Par exemple, acheminer les requêtes avec l'URI commençant par /serviceA
vers le service A et les requêtes avec l'URI commençant par /serviceB
vers le service B.
Terminaison TLS/SSL pour chaque nom d'hôte, tel que foo.example.com
.
Consultez le guide de l'utilisateur Ingress pour en savoir plus sur la ressource Ingress.
Le contrôleur Ingress est une application qui s'exécute dans un cluster et configure un équilibreur de charge HTTP en fonction des ressources Ingress. L'équilibreur de charge peut être un équilibreur de charge logiciel exécuté dans le cluster ou un équilibreur de charge matériel ou cloud exécuté en externe. Différents équilibreurs de charge nécessitent différentes implémentations d'Ingress Controller.
Dans le cas de NGINX, le contrôleur d'entrée est déployé dans un pod avec l'équilibreur de charge.
Note
Toute la documentation ne doit être utilisée qu'avec la dernière version stable, indiquée sur la page des versions du référentiel GitHub.
Installez NGINX Ingress Controller à l'aide de la charte Helm ou des manifestes Kubernetes.
Configurez l'équilibrage de charge pour une application Web simple :
Utilisez la ressource Ingress. Voir l'exemple du Café.
Ou la ressource VirtualServer. Voir l'exemple de configuration de base.
Voir des exemples de configuration supplémentaires.
Apprenez-en plus sur toutes les configurations et personnalisations disponibles dans la documentation.
Nous publions les versions de NGINX Ingress Controller sur GitHub. Consultez notre page des versions.
La dernière version stable est la 3.7.2. Pour une utilisation en production, nous vous recommandons de choisir la dernière version stable.
La version Edge est utile pour expérimenter de nouvelles fonctionnalités qui ne sont pas encore publiées dans une version stable. Pour l'utiliser, choisissez la version Edge construite à partir du dernier commit de la branche principale.
Pour utiliser NGINX Ingress Controller, vous devez avoir accès à :
Une image du contrôleur d'entrée NGINX.
Manifestes d’installation ou graphique Helm.
Documentation et exemples.
Il est important que les versions des éléments ci-dessus correspondent.
Le tableau ci-dessous résume les options concernant les images, la charte Helm, les manifestes, la documentation et les exemples et donne vos liens vers les versions correctes :
Version | Description | Image pour NGINX | Image pour NGINX Plus | Manifestes d'installation et tableau de barre | Documentation et exemples |
---|---|---|---|---|---|
Dernière version stable | Pour une utilisation en production | Utilisez les images 3.7.2 de DockerHub, GitHub Container, Amazon ECR Public Gallery ou Quay.io ou créez votre propre image. | Utilisez les images 3.7.2 du registre de conteneurs F5 ou créez votre propre image. | Manifeste. Tableau de barre. | Documentation. Exemples. |
Bord/Nuit | Pour tester et expérimenter | Utilisez les images périphériques ou nocturnes de DockerHub, GitHub Container, Amazon ECR Public Gallery ou Quay.io ou créez votre propre image. | Construisez votre propre image. | Manifeste. Tableau de barre. | Documentation. Exemples. |
Nous générons des SBOM pour les binaires et les images Docker.
Les SBOM pour les binaires sont disponibles sur la page des versions. Les SBOM sont générés à l'aide de syft et sont disponibles au format SPDX.
Les SBOM pour les images Docker sont disponibles dans les référentiels DockerHub, GitHub Container, Amazon ECR Public Gallery ou Quay.io. Les SBOM sont générés à l'aide de syft et stockés comme attestation dans le manifeste de l'image.
Par exemple, pour récupérer le SBOM pour linux/amd64
depuis Docker Hub et l'analyser à l'aide de grype, vous pouvez exécuter la commande suivante :
docker buildx imagetools inspecte nginx/nginx-ingress:edge --format '{{ json (index .SBOM "linux/amd64").SPDX }}' | grogner
Nous aimerions connaître vos commentaires ! Si vous avez des suggestions ou rencontrez des problèmes avec notre contrôleur d'entrée, veuillez créer un problème ou envoyer une pull request sur GitHub. Vous pouvez nous contacter directement via NGINX Community Slack.
Si vous souhaitez contribuer au projet, veuillez lire notre guide de contribution.
Pour les clients NGINX Plus, NGINX Ingress Controller (lorsqu'il est utilisé avec NGINX Plus) est couvert par le contrat de support.