Minha experiência e dicas para o exame Certified Kubernetes Application Developer (CKAD)

Minha experiência e dicas para o exame Certified Kubernetes Application Developer (CKAD)Recentemente, passei com sucesso no exame Certified Kubernetes Application Developer (CKAD) e recebi meu certificado. Hoje, quero compartilhar a experiência da certificação e como me preparei para ela. Para mim, foi uma experiência interessante fazer o exame online sob a atenta supervisão do avaliador. Este texto não conterá informações técnicas valiosas, tendo um caráter puramente narrativo. Também não tinha um grande background trabalhando com Kubernetes e não preparei junto com colegas, estudei e pratiquei sozinho no meu tempo livre.

Sou bastante novo na área de desenvolvimento web, mas percebi rapidamente que sem pelo menos conhecimentos básicos de Docker e K8s, não chegaria muito longe. Fazer o curso e me preparar para este tipo de exame me pareceu um bom ponto de partida para o mundo dos containers e sua orquestração.

Se você ainda acha que Kubernetes é muito complicado e que não é para você, convido-o a continuar lendo.

O que é isso?

Existem dois tipos de certificação em Kubernetes pela Cloud Native Computing Foundation (CNCF):

  • Certified Kubernetes Application Developer (CKAD) — avalia a capacidade de projetar, construir, configurar e publicar aplicativos cloud native para Kubernetes. O exame tem duração de 2 horas, com 19 questões, e a nota mínima é de 66%. São necessários conhecimentos bastante superficiais dos principais primitivas. O custo é de $300.
  • Certified Kubernetes Administrator (CKA) — avalia habilidades, conhecimentos e competências para realizar as funções de administradores Kubernetes. O exame dura 3 horas, com 24 questões, e a nota mínima é de 74%. São necessários conhecimentos mais profundos sobre construção e configuração de sistemas. O custo também é de $300.

Os programas de certificação CKAD e CKA foram desenvolvidos pela Cloud Native Computing Foundation com o objetivo de expandir o ecossistema Kubernetes por meio de educação e certificação padronizada. Esta fundação foi criada pelo Google em parceria com a Linux Foundation, a qual recebeu Kubernetes como contribuição tecnológica inicial e conta com o apoio de empresas como Microsoft, Apple, Facebook, Cisco, Intel, Red Hat e muitas outras (c) Wiki.

Em resumo, esses são os exames da 'organização principal' para Kubernetes. É claro que existem certificações de outras empresas também.

Por quê?

Talvez este seja o ponto mais controverso de toda essa empreitada. Não quero criar uma polêmica sobre a necessidade de certificados, só quero acreditar que ter um certificado desse tipo influenciará positivamente meu valor no mercado de trabalho. Tudo é subjetivo — nunca se sabe o que será o fator decisivo na hora de ser contratado.

PS: não estou procurando trabalho, no momento estou satisfeito… exceto talvez por uma mudança para os EUA.

Preparação

O teste CKAD contém 19 questões, distribuídas pelos seguintes temas:

  • 13% – Conceitos Básicos
  • 18% – Configuração
  • 10% – Multi-Container Pods
  • 18% – Observabilidade
  • 20% – Design de Pods
  • 13% – Serviços & Networking
  • 8% – Persistência de Estado

Na plataforma Udemy, há um curso incrível de um indiano chamado Mumshad Mannambeth (o link estará no final do artigo). O material é realmente de alta qualidade por um preço baixo. É especialmente legal que, ao longo do curso, você seja convidado a realizar exercícios práticos em um ambiente de teste, assim você desenvolve suas habilidades no console.

Eu completei todo o curso e resolvi todos os exercícios práticos (não pude evitar de dar uma olhada nas respostas), e imediatamente antes do exame, revi todas as aulas em velocidade aumentada e fiz dois últimos exames simulados (mock exams). Isso levou cerca de um mês em um ritmo tranquilo. Esse material foi mais do que suficiente para eu passar o exame com um resultado de 91%. Cometi um erro em uma questão (NodePort não funcionou) e não tive alguns minutos suficientes para concluir outra questão relacionada ao ConfigMap a partir de um arquivo, embora soubesse a solução.

Como é o exame

O exame é realizado no navegador, com a webcam ligada e a tela compartilhada. As regras do exame exigem que não haja pessoas estranhas na sala. Eu fiz o exame quando o país já havia implementado o isolamento social, então era importante para mim encontrar um momento tranquilo para que minha esposa não entrasse na sala ou a criança não chorasse. Escolhi a madrugada, felizmente há flexibilidade de horário.

No início do exame, o examinador pede para mostrar seu ID Primário contendo foto e nome completo (em letras latinas) — eu usei meu passaporte, e ter que rodar a webcam para mostrar a mesa de trabalho e a sala, para garantir que não havia objetos estranhos.

Durante o exame, é permitido manter uma outra aba do navegador aberta com um dos recursos: ​https://kubernetes.io/docs/​, ​https://github.com/kubernetes/​ ou https://kubernetes.io/blog/​. Eu usei a documentação, que foi suficiente.

Na janela principal, além do texto das tarefas, do terminal e do chat com o examinador, há também uma janela para notas, onde você pode copiar nomes ou comandos importantes - isso foi útil algumas vezes.

Dicas

  1. Use aliases para economizar tempo. Aqui está o que eu usei:
    export ns=default # variável para namespace
    alias ku='kubectl' # abreviando o comando principal
    alias kun='ku -n=$ns' # kubectl + namespace
    alias kudr='kun --dry-run -o=yaml' # flags muito úteis para gerar a descrição yaml para o objeto
  2. Lembre-se das combinações de flags para o comando run, para gerar rapidamente yaml para diferentes objetos — pod/deploy/job/cronjob (embora não seja obrigatório memorizá-las, você pode apenas consultar a ajuda com a flag -h):
    kudr run pod1 --image=nginx --restart=Never > pod1.yaml
    kudr run deploy1 --image=nginx > deploy1.yaml
    kudr run job1 --image=nginx --restart=OnFailure > job1.yaml
    kudr run cronjob1 --image=nginx --restart=OnFailure --schedule="*\/1 * * * * " > cronjob1.yaml
  3. Use nomes de recursos abreviados:
    ku get ns # em vez de namespaces
    ku get deploy # em vez de deployments
    ku get pv # em vez de persistentvolumes
    ku get pvc # em vez de persistentvolumeclaims
    ku get svc # em vez de services
    # etc., a lista completa pode ser consultada com o comando: 
    kubectl api-resources
  4. Administre bem seu tempo para realizar todas as tarefas, não fique preso em uma só, pule perguntas e siga em frente. No início, pensei que estava fazendo as tarefas em um ritmo muito rápido e terminaria o exame antes do tempo, mas no final não consegui concluir duas tarefas. Na verdade, o tempo para o exame é justo, e as 2 horas passam em tensão.
  5. Não esqueça de mudar o contexto - no início de cada tarefa, há um comando para alternar, para trabalhar no cluster correto.
    Além disso, fique de olho no namespace. Para isso, usei mais um truque:
    alias kun='echo namespace=$ns && ku -n=$ns' # ao executar cada comando, a primeira linha mostrava meu namespace atual
  6. Não se apresse em pagar pela certificação, espere por descontos. O autor do curso costuma enviar por e-mail códigos promocionais com descontos de 20-30%.
  7. Aprenda finalmente vim 🙂

Links:

  1. www.cncf.io/certification/ckad — esta é a própria página da certificação
  2. www.udemy.com/course/certified-kubernetes-application-developer — um ótimo curso de preparação, tudo claro e ilustrado
  3. github.com/lucassha/CKAD-resources — links úteis e anotações sobre o exame
  4. habr.com/ru/company/flant/blog/425683 — relato de colegas do Habr sobre a realização do exame CKA mais complexo

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster