Como ajudar suas equipes de desenvolvimento a começar a usar o Kubernetes

Como ajudar suas equipes de desenvolvimento a começar a usar o Kubernetes

Se a sua empresa realmente deseja ser ágil e competitiva, o Kubernetes precisa fazer parte da equação.

Imagem em destaque

Aplicativos e microsserviços em contêineres estão na moda em todo o cenário dos negócios empresariais. Há uma razão (ou doze) para isso. Em primeiro lugar, os contêineres permitem que as empresas dimensionem rapidamente (até mesmo automaticamente) suas implantações conforme necessário. Há também um nível de automação que os aplicativos monolíticos tradicionais não conseguem alcançar.

Deixando de lado os motivos para implantar aplicativos em contêineres, quando você começar a perseguir essa toca do coelho, você acabará percebendo que ela leva diretamente ao Kubernetes.

O que é Kubernetes? Simplificando, o Kubernetes é uma plataforma de orquestração de contêineres que possibilita não apenas implantar, mas também gerenciar essas implantações com controle muito granular e em grande escala.

Mas há grandes chances de que suas equipes de desenvolvimento consigam pular direto nas águas do Kubernetes sem primeiro saber no que estão se metendo. É aí que você entra. Com um pouco de ajuda sua (ou de outros gerentes), você pode preparar suas equipes para que não tropeçam e tenham dificuldades com o Kubernetes.

Por que isso é necessário? Porque o Kubernetes não é fácil. Na verdade, pode muito bem ser uma das peças de tecnologia mais desafiadoras que suas equipes de desenvolvimento usarão.

Dito isso, vamos descobrir como você pode ajudar essas equipes a começar a usar o Kubernetes.

Tudo começa com Docker

O problema é o seguinte: Docker e Kubernetes já funcionaram muito bem juntos. Na verdade, o Kubernetes costumava depender do Docker para funcionar. No entanto, o Kubernetes retirou o suporte ao Docker da plataforma em versões recentes. É uma pena, pois o Docker é uma das maneiras mais fáceis de aprender como usar e implantar contêineres.

Mas mesmo que o Docker tenha sido retirado do Kubernetes, você ainda pode iniciar sua empresa de desenvolvimento do Kubernetes com o Docker. Como o Docker é tão fácil de entender e usar, seus desenvolvedores podem se familiarizar com o funcionamento dos aplicativos em contêineres sem quase nenhum esforço.

Conheça os componentes

Além do tempo de execução (como Docker, Podman, containerd), suas equipes de desenvolvimento precisarão estar familiarizadas com o restante dos componentes que compõem o Kubernetes. Esses componentes são:

  • kube-apiserver – expõe a API Kubernetes para que seja possível conversar com o cluster.
  • etcd – armazenamento de chave-valor distribuído onde os dados relacionados ao cluster são armazenados.
  • kube-scheduler – responsável por agendar todos os pods nos nós de trabalho.
  • kube-controller-manager – responsável por observar um objeto dentro do cluster e garantir que o estado atual corresponda ao estado desejado.
  • cloud-controller-manager – possibilita vincular seu cluster a um provedor de nuvem.
  • kubelet – responsável pela comunicação com o Kubernetes.
  • kube-proxy – proxy de rede executado em todos os nós.
  • nó – uma máquina de trabalho conectada ao cluster.

JSON

Todo manifesto do Kubernetes tem várias coisas em comum, mas tudo começa com JSON, que significa JavaScript Object Notation. É o formato no qual todos os manifestos do Kubernetes são escritos.

Compreender a formatação JSON é essencial para aprender Kubernetes. Um exemplo de manifesto do Kubernetes pode ser parecido com isto:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

É muito importante entender como o layout funciona e como ele depende muito da consistência do recuo. Se os recuos nos seus manifestos não forem consistentes, as implantações falharão.

Tudo sobre a linha de comando

Existem muitas ferramentas GUI poderosas que você pode usar para Kubernetes, mas em algum momento, seus desenvolvedores terão que se familiarizar com a linha de comando. Não importa se você está implantando seus aplicativos e microsserviços em contêineres em um data center interno ou em um host de nuvem de terceiros (como AWS ou Azure), a interface de linha de comando (CLI) se tornará uma necessidade.

Isso é especialmente verdadeiro se você planeja adicionar CI/CD (Integração Contínua/Implantação Contínua) à mistura.

Falando em CI/CD…

GitHub

Se sua empresa planeja aproveitar CI/CD para fluxos de trabalho ágeis e implantações automatizadas, suas equipes de desenvolvimento precisarão ter um conhecimento sólido de como o GitHub funciona. E não estamos falando apenas da interface baseada na web, mas também da linha de comando. Suas equipes precisam ser capazes de se conectar (e trabalhar a partir de) um repositório GitHub e vinculá-lo ao seu cluster Kubernetes se quiserem alcançar qualquer nível de automação consistente e ágil.

Comece pequeno

Em vez de fazer com que suas equipes mergulhem direto no Kubernetes, talvez seja melhor fazê-las dar pequenos passos com produtos como o MiniKube, o que torna muito fácil configurar um cluster local do Kubernetes no macOS, Linux e Windows. Com o MiniKube em uso, seus desenvolvedores individuais podem se familiarizar com o funcionamento do Kubernetes, sem interagir diretamente com suas implantações de produção.

Use o Minikube como campo de testes e treinamento. Assim que seus desenvolvedores estiverem fluentes com essa tecnologia, eles deverão estar prontos para migrar para a tecnologia real.

Conclusão

Embora o Kubernetes seja uma plataforma muito desafiadora, se seus desenvolvedores forem envolvidos nele com um pouco de planejamento e compreensão, eles não deverão ter problemas em ajudar a colocar sua empresa frente a frente com a concorrência. Adicione esses mesmos desenvolvedores à mistura sem um pouco de controle e poderão surgir problemas.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.