Ter um bom ciclo de feedback de desenvolvimento local é um tópico de rápido desenvolvimento no ecossistema Kubernetes.
Resolvendo essa questão, existem algumas ferramentas que acredito apoiar bem esse objetivo.
Docker para Mac Kubernetes
Docker para Mac Kubernetes ( Docker Desktop é o nome genérico de plataforma cruzada) oferece uma excelente opção para desenvolvimento local. Para virtualização, ele usa o HyperKit, que é construído na estrutura nativa do Hypervisor no macOS em vez do VirtualBox.
O recurso Kubernetes foi lançado pela primeira vez como beta no canal de borda em janeiro de 2018 e já percorreu um longo caminho desde então, tornando-se um Kubernetes certificado em abril de 2018 e passando para o canal estável em julho de 2018 .
Na minha experiência, é muito mais fácil trabalhar com o Minikube, especialmente no macOS, e especialmente quando se trata de problemas como RBAC, Helm, hipervisor, registro privado, etc.
Leme
No que diz respeito à distribuição de seu código e à obtenção de atualizações localmente, o Helm é uma das opções mais populares. Você pode publicar seus aplicativos via CI / CD como gráficos Helm (e também as imagens Docker subjacentes às quais eles fazem referência). Em seguida, você pode obter esses gráficos de seu registro de gráficos do Helm localmente e atualizar em seu cluster local.
Rascunho do Azure
Você também pode usar uma ferramenta como o Azure Draft para fazer implantações locais simples e gerar gráficos básicos do Helm a partir de modelos de linguagem comum, como buildpacks, para automatizar essa peça do quebra-cabeça.
Skaffold
Skaffold é como o Azure Draft, mas mais maduro, muito mais amplo em escopo e feito pelo Google. Possui uma arquitetura muito plugável. Acho que, no futuro, mais pessoas o usarão para o desenvolvimento de aplicativos locais para o Kubernetes.
Se você já usou o React, penso no Skaffold como " Criar aplicativo React para Kubernetes".
Kompose ou Compose no Kubernetes
O Docker Compose , embora não relacionado ao Kubernetes, é uma alternativa que algumas empresas usam para fornecer um ambiente de desenvolvimento local simples, fácil e portátil, análogo ao ambiente Kubernetes executado na produção. No entanto, seguir esse caminho significa divergir suas configurações de produção e desenvolvimento local.
Kompose é um conversor do Docker Compose para Kubernetes. Esse pode ser um caminho útil para alguém que já está executando seus aplicativos como coleções de contêineres localmente.
Compose no Kubernetes é uma oferta de código aberto recentemente (dezembro de 2018) do Docker que permite implantar arquivos Docker Compose diretamente em um cluster do Kubernetes por meio de um controlador personalizado.