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: , ou . 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
- 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 - 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 - 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 - 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.
- 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 - 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%.
- Aprenda finalmente vim 🙂
Links:
- — esta é a própria página da certificação
- — um ótimo curso de preparação, tudo claro e ilustrado
- — links úteis e anotações sobre o exame
- — relato de colegas do Habr sobre a realização do exame CKA mais complexo
Fonte: habr.com
