Outro local para procurar gráficos de comando oficial é o diretório KubeApps, que permite que os aplicativos Kubernetes sejam implantados e instalados a partir de um próprio cluster de Kubernetes, usando uma interface baseada na Web.

Kubernetes simplifica o gerenciamento de recursos de aplicativos

Recipientes devem ser imutável; O código e os dados que você coloca neles não devem mudar. Mas as aplicações precisam estadoo que significa que eles precisam de uma maneira confiável de lidar com dados que mudam. Isso é ainda mais complicado pela maneira como os contêineres vivem, morrem e renascem ao longo da vida de um aplicativo.

O Kubernetes fornece abstrações para permitir que contêineres e aplicativos lidem com o armazenamento de dados da mesma maneira dissociada que outros recursos. Muitos tipos comuns de armazenamento, desde os volumes da Amazon EBS a compartilhamentos antigos da NFS simples, podem ser acessados ​​por meio de drivers de armazenamento de Kubernetes, chamados de volumes. Normalmente, os volumes estão ligados a um POD específico, mas um subtipo de volume chamado volume persistente (PV) pode ser usado para dados que precisam viver independentemente de qualquer POD.

Os contêineres geralmente precisam trabalhar com segredos. São credenciais como chaves da API ou senhas de serviço que você não deseja codificadas em um contêiner ou escondido abertamente em um volume de disco. Embora existam soluções de terceiros, como segredos do Docker e Hashicorp Vault, o Kubernetes tem seu próprio mecanismo para lidar nativamente de segredos, embora deva ser configurado com cuidado (por exemplo, restringindo o acesso através de RBACs).

Em nuvem híbrida e implantações de várias nuvens

Um dos sonhos de longa data da computação em nuvem é poder executar qualquer aplicativo em qualquer nuvem ou em qualquer mistura de nuvens públicas ou privadas. Isso não é apenas para evitar o bloqueio do fornecedor, mas também para aproveitar os recursos específicos para nuvens individuais.

Por algum tempo, o mecanismo mais comum para manter vários clusters sincronizados entre entre várias regiões e nuvens foi um projeto Kubernetes SIG chamado Kubefed, para a Federação de Cluster de Kubernetes. Em uma federação, uma determinada implantação de aplicativos pode ser mantida consistente entre vários clusters, e diferentes clusters podem compartilhar a descoberta de serviços para que um recurso de back-end possa ser acessado a partir de qualquer cluster. As federações também podem ser usadas para criar implantações de Kubernetes altamente disponíveis ou tolerantes a falhas, estejam ou não vários ambientes em nuvem.

No entanto, em setembro de 2023, o projeto Kubefed foi arquivado. Um projeto sucessor, Karmada, usa APIs nativas de Kubernetes para sincronizar aplicativos em clusters. Não requer alterações nos próprios aplicativos.

Pequenas implantações e computação de borda

As implantações de Kubernetes não precisam ser grandes para serem úteis. Os K3s, por exemplo, são uma pequena implantação de Kubernetes-um binário único de 70 MB-que pode ser executado em hardware incorporado ou sistemas de braço com poucos recursos (2 GB de RAM). As distritos mínimos de Kubernetes criaram espaço para Kubernetes na computação de borda – não apenas em ambientes com restrições de hardware apertadas, mas também com redes mínimas ou mesmo nenhuma rede externa.

Onde conseguir kubernetes

O Kubernetes está disponível de várias formas – de bits de código aberto a distribuição comercialmente apoiada ao serviço de nuvem pública. A melhor maneira de descobrir onde obter Kubernetes é por caso de uso.

  • Se você quiser fazer tudo sozinho: O código-fonte e os binários pré-criados para plataformas mais comuns podem ser baixados do repositório do GitHub para Kubernetes. Se você quiser experimentar uma pequena instância de Kubernetes em seu próprio sistema, pode usar o Minikube para configurar um cluster local em uma única máquina ou usar a distribuição K3S.
  • Se você está usando o Docker: As edições mais recentes do Docker Desktop vêm com Kubernetes como um pacote. Esta é ostensivamente a maneira mais fácil de os Mavens de Contêineres conseguirem uma vantagem com Kubernetes, pois vem por meio de um produto com o qual você quase certamente já está familiarizado. (O Docker também pode usar o Minikube para implantações.)
  • Se você está implantando no local ou em uma nuvem privada: É bom que qualquer infraestrutura que você escolher para sua nuvem privada tenha Kubernetes embutido. As distribuições de Kubernetes de edição padrão, certificada e suportada estão disponíveis em dezenas de fornecedores.
  • Se você está implantando em uma nuvem pública: Os três principais fornecedores de nuvens públicas oferecem Kubernetes como um serviço. O Google Cloud Platform oferece o Google Kubernetes Engine. A Microsoft Azure oferece o serviço do Azure Kubernetes. E a Amazon adicionou a Kubernetes ao seu serviço de contêiner elástico existente. Os serviços gerenciados da Kubernetes também estão disponíveis em muitos fornecedores.

Kubernetes Tutoriais e certificações

Agora que você tem o básico, está pronto para começar com Kubernetes? Você pode começar com os tutoriais simples no próprio site do projeto Kubernetes; Quando estiver pronto para algo mais avançado, confira a lista de guias no Awesome-Kubernetes Repository, que tem algo para todos. Para conselhos de migração, consulte “Como ter sucesso com Kubernetes”.

Se você acha que tem um bom truque sobre como o Kubernetes funciona e deseja demonstrar sua experiência aos empregadores, a certificação pode ser o caminho a percorrer. Confira o par de certificações relacionadas a Kubernetes oferecidas em conjunto pela Fundação Linux e pela Fundação de Computação Nativa de Cloud:

  • Administrador Certificado de Kubernetes: procura “fornecer garantia de que os CKAs têm as habilidades, conhecimentos e competências para executar as responsabilidades dos administradores de Kubernetes”, incluindo gerenciamento de ciclo de vida, instalação, configuração, validação, manutenção de cluster e solução de problemas.
  • Desenvolvedor de aplicativos certificado Kubernetes: certifica que “os usuários podem projetar, criar, configurar e expor os aplicativos nativos de nuvem para Kubernetes”.

Os exames de certificação custam US $ 445 cada. Também existem cursos de treinamento que podem servir como uma maneira estruturada de aprender mais sobre Kubernetes.