Introdução ao Kftray
uma aplicação no menu bar desenvolvida com Rust e React usando o framework Tauri, o app tem um proposito simples: simplificar a forma como executamos e gerenciamos multiplos kubectl port-forward no dia a dia, e também o kftray adiciona novos recursos em comparação com o tradicional kubectl port-forward. (mais detalhes nos proximos topicos)
KFtray
A principal missão do KFtray é simplificar o processo de gerenciamento de multipos kubectl port forward de clusters Kubernetes. Projetado com simplicidade e produtividade em mente, o app permite aos usuários iniciar e parar múltiplas configurações de redirecionamento de portas por meio de uma interface elegante e amigável. O app se destaca pela sua resiliência, operações com um clique e independência do kubectl, pois se conecta diretamente com a API do Kubernetes.
Mão na massa!
Configurar o KFtray é muito simples:
- Configurando configurações de port-forward: A UI intuitiva permite adicionar e gerenciar facilmente as configurações port forward com campos para workload (Proxy ou Serviço), alias único, contexto do Kubernetes, namespace, service, remote address (para Proxy), protocolo (TCP/UDP) e portas locais/remotas.
- Ativando os port forwards: Você pode iniciar um unico port forward com um simples clique ou lançar multipos forwards simultaneamente, tornando muito fácil gerenciar configurações complexas.
- Gerenciando Configurações: O KFtray fornece opções para exportar/importar configurações como arquivos JSON, garantindo que você possa compartilhar ou fazer backup de suas configurações. Ele também salva as configurações de forma segura localmente em “$HOME/.kftray/configs.db”. Aqui está um exemplo do formato JSON esperado pelo KFtray:
[
{
"alias": "consul-ui",
"context": "kind-7",
"local_port": 8500,
"namespace": "consul",
"protocol": "tcp",
"remote_port": 8500,
"service": "consul-ui",
"workload_type": "service"
},
{
"alias": "redis-gcp",
"context": "kind-6",
"local_port": 26379,
"namespace": "default",
"protocol": "udp",
"remote_address": "redis-prod.gcp.internal",
"remote_port": 6379,
"workload_type": "proxy"
}
]
Conexão de Redirecionamento de Porta Resiliente:
- Resilient Port Forwarding Connection: O KFtray garante que seus serviços permaneçam acessíveis ao reconectar automaticamente a pods alternativos em execução, caso algum falhe..
- Vários port forwards com Um Clique: Configure rapidamente múltiplas instâncias de port forward com um único clique
- Independente do Kubectl: A interface direta do KFtray com a API do Kubernetes elimina a dependência do kubectl, proporcionando uma experiência mais suave e atendendo àqueles que preferem interfaces gráficas ao invés da linha de comando.
- Suporte a Múltiplos Protocolos:: Expandindo além do TCP, o suporte do KFtray a múltiplos protocolos, incluindo UDP, permite acesso a uma variedade de serviços, tanto internos quanto externos aos seus clusters Kubernetes.
Conclusão
O KFtray visa melhorar a experiência de gerenciar multipos port forward de uma vez, oferecendo uma solução simples, eficiente e confiável. Seja para depuração de serviços ou acesso a recursos internos, o KFtray oferece a flexibilidade e confiabilidade necessárias em ambientes de desenvolvimento de ritmo acelerado.
Se você achou o KFtray util, considere nos dar uma estrela no GitHub em https://github.com/hcavarsan/kftray.
Se você encontrar algum problema ou tiver dúvidas sobre o KFtray, crie uma issue em nosso repositório !