Kftray - kubernetes port forward no menu bar!

Henrique Cavarsan - Feb 16 - - Dev Community

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)

gif demo

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:

  1. 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.

create new configuration

  1. 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.

multiple configurations

  1. 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"  
  }  
]
Enter fullscreen mode Exit fullscreen mode

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 !

. . . . . . . . . .