Este repositório fornece uma implementação de um controlador Ingress para NGINX e NGINX Plus das pessoas por trás do NGINX.
Valorizamos a contribuição da comunidade e adoraríamos vê-lo na próxima teleconferência da comunidade. Nessas ligações, discutimos PRs de membros da comunidade, bem como problemas, discussões e solicitações de recursos.
Link do Microsoft Teams : KIC - Triagem de problemas do GitHub
ID da reunião: 298 140 979 789
Senha: jpx5TM
Slack : Junte-se ao nosso canal #nginx-ingress-controller
no NGINX Community Slack para atualizações e discussões.
Quando : 15:00 GMT / Converta para o seu fuso horário, todas as segundas-feiras alternadas.
Datas de convocação da comunidade |
---|
07/10/2024 |
2024-10-21 |
05/11/2024 |
18/11/2024 |
02/12/2024 |
16/12/2024 |
O NGINX Ingress Controller funciona com NGINX e NGINX Plus e oferece suporte aos recursos padrão do Ingress - roteamento baseado em conteúdo e terminação TLS/SSL.
Além disso, vários recursos NGINX e NGINX Plus estão disponíveis como extensões para o recurso Ingress por meio de anotações e do recurso ConfigMap. Além do HTTP, o NGINX Ingress Controller suporta balanceamento de carga de aplicativos Websocket, gRPC, TCP e UDP. Consulte os documentos ConfigMap e Annotations para saber mais sobre os recursos suportados e opções de personalização.
Como alternativa ao Ingress, o NGINX Ingress Controller oferece suporte aos recursos VirtualServer e VirtualServerRoute. Eles permitem casos de uso não suportados pelo recurso Ingress, como divisão de tráfego e roteamento avançado baseado em conteúdo. Consulte o documento de recursos VirtualServer e VirtualServerRoute.
O balanceamento de carga de passagem TCP, UDP e TLS também é suportado. Consulte o documento de recurso TransportServer.
Leia este documento para saber mais sobre o NGINX Ingress Controller com NGINX Plus.
Observação
Este projeto é diferente do NGINX Ingress Controller no repositório kubernetes/ingress-nginx. Consulte este documento para descobrir as principais diferenças.
O Ingress é um recurso do Kubernetes que permite configurar um balanceador de carga HTTP para aplicações em execução no Kubernetes, representadas por um ou mais serviços. Esse balanceador de carga é necessário para entregar esses aplicativos a clientes fora do cluster Kubernetes.
O recurso Ingress oferece suporte aos seguintes recursos:
Roteamento baseado em conteúdo :
Roteamento baseado em host . Por exemplo, rotear solicitações com o cabeçalho de host foo.example.com
para um grupo de serviços e o cabeçalho de host bar.example.com
para outro grupo.
Roteamento baseado em caminho . Por exemplo, rotear solicitações com o URI que começa com /serviceA
para o serviço A e solicitações com o URI que começa com /serviceB
para o serviço B.
Terminação TLS/SSL para cada nome de host, como foo.example.com
.
Consulte o Guia do usuário do Ingress para saber mais sobre o recurso do Ingress.
O Ingress Controller é um aplicativo executado em um cluster e configura um balanceador de carga HTTP de acordo com os recursos do Ingress. O balanceador de carga pode ser um balanceador de carga de software executado no cluster ou um balanceador de carga de hardware ou nuvem executado externamente. Diferentes balanceadores de carga exigem diferentes implementações do Ingress Controller.
No caso do NGINX, o Ingress Controller é implantado em um pod junto com o balanceador de carga.
Observação
Toda a documentação deve ser utilizada apenas com a versão estável mais recente, indicada na página de lançamentos do repositório GitHub.
Instale o NGINX Ingress Controller usando o gráfico Helm ou os manifestos do Kubernetes.
Configure o balanceamento de carga para um aplicativo Web simples:
Use o recurso Ingress. Veja o exemplo do Café.
Ou o recurso VirtualServer. Veja o exemplo de configuração básica.
Veja exemplos de configuração adicionais.
Saiba mais sobre todas as configurações e personalizações disponíveis na documentação.
Publicamos versões do NGINX Ingress Controller no GitHub. Veja nossa página de lançamentos.
A versão estável mais recente é 3.7.2. Para uso em produção, recomendamos que você escolha a versão estável mais recente.
A versão Edge é útil para experimentar novos recursos que ainda não foram publicados em uma versão estável. Para usá-lo, escolha a versão Edge construída a partir do commit mais recente do branch principal.
Para usar o NGINX Ingress Controller, você precisa ter acesso a:
Uma imagem do controlador de ingresso NGINX.
Manifestos de instalação ou um gráfico do Helm.
Documentação e exemplos.
É importante que as versões dos itens acima correspondam.
A tabela abaixo resume as opções referentes às imagens, gráfico do Helm, manifestos, documentação e exemplos e fornece links para as versões corretas:
Versão | Descrição | Imagem para NGINX | Imagem para NGINX Plus | Manifestos de instalação e gráfico do Helm | Documentação e exemplos |
---|---|---|---|---|---|
Última versão estável | Para uso em produção | Use as imagens 3.7.2 do DockerHub, GitHub Container, Amazon ECR Public Gallery ou Quay.io ou crie sua própria imagem. | Use as imagens 3.7.2 do F5 Container Registry ou crie sua própria imagem. | Manifestos. Gráfico do leme. | Documentação. Exemplos. |
Borda/Noturno | Para testar e experimentar | Use imagens de borda ou noturnas do DockerHub, GitHub Container, Amazon ECR Public Gallery ou Quay.io ou crie sua própria imagem. | Construa sua própria imagem. | Manifestos. Gráfico do leme. | Documentação. Exemplos. |
Geramos SBOMs para os binários e as imagens Docker.
Os SBOMs dos binários estão disponíveis na página de lançamentos. Os SBOMs são gerados usando syft e estão disponíveis no formato SPDX.
Os SBOMs para as imagens Docker estão disponíveis nos repositórios DockerHub, GitHub Container, Amazon ECR Public Gallery ou Quay.io. Os SBOMs são gerados usando syft e armazenados como atestado no manifesto da imagem.
Por exemplo, para recuperar o SBOM para linux/amd64
do Docker Hub e analisá-lo usando o grype, você pode executar o seguinte comando:
docker buildx imagetools inspecionam nginx/nginx-ingress:edge --format '{{ json (index .SBOM "linux/amd64").SPDX }}' | raiva
Gostaríamos de ouvir seu feedback! Se você tiver alguma sugestão ou tiver problemas com nosso Ingress Controller, crie um problema ou envie uma solicitação pull no GitHub. Você pode entrar em contato conosco diretamente através do NGINX Community Slack.
Se você gostaria de contribuir com o projeto, leia nosso guia de contribuição.
Para clientes do NGINX Plus, o NGINX Ingress Controller (quando usado com o NGINX Plus) é coberto pelo contrato de suporte.