Skip to content

Refactor/config management - #2

Open
glasswalk3r wants to merge 6 commits into
4linux:masterfrom
glasswalk3r:refactor/config-management
Open

Refactor/config management#2
glasswalk3r wants to merge 6 commits into
4linux:masterfrom
glasswalk3r:refactor/config-management

Conversation

@glasswalk3r

Copy link
Copy Markdown

Resumo

Este PR reúne um conjunto de melhorias na infraestrutura de provisionamento das VMs (Vagrant/VirtualBox) e no material de RBAC da aula 04, além de introduzir validação automática dos arquivos YAML do repositório.

Mudanças

Provisionamento (Vagrant/VirtualBox)

  • Ordem de inicialização (environment.yaml): a VM kube-infra passou a ser declarada primeiro, garantindo que vagrant up/vagrant halt respeitem a ordem correta de dependência entre as VMs (infra antes de master/nodes), evitando erros de provisionamento.
  • Melhorias nas VMs (Vagrantfile): adicionado um provisionamento shell inline que atualiza pacotes (incluindo o kernel, requerido pelo VirtualBox Guest Additions) e desabilita unattended-upgrades; habilitado vbguest.auto_update e linked_clone para acelerar a criação das VMs e permitir o compartilhamento de diretório (/vagrant).
  • Correção de permissões: Vagrantfile e environment.yaml deixaram de estar marcados como executáveis (modo 755644), já que não são scripts.

RBAC (aula04/rbac/analista-rbac.yaml)

  • Reorganização da configuração de RBAC do usuário analista, tornando-a mais legível.
  • Adicionada uma ClusterRole/ClusterRoleBinding (namespace-lister) para permitir que o usuário liste e obtenha namespaces — útil para uso de ferramentas como kubens sem precisar de acesso amplo ao cluster.

Qualidade / Lint

  • Adicionado .yamllint.yaml com regras de indentação (2 espaços, sequências indentadas), proibição de brackets e limite de 120 colunas por linha.
  • Adicionado Makefile com o alvo lint-yaml, que percorre o repositório validando todos os arquivos .yaml com yamllint.

Como testar

make lint-yaml
vagrant up kube-infra kube-master kube-node1 kube-node2
kubectl apply -f aula04/rbac/analista-rbac.yaml

Observações

  • Nenhuma mudança de versão do Kubernetes ou de comportamento dos playbooks Ansible.

O cache do Vagrant e arquivos que podem ser compartilhados via o
Virtualbox Guest Additions não devem ser versionados.
Com essa nova ordem de declaração de servidores, as VM's podem ser
ligadas na ordem correta com "vagrant up" e também desligadas com
"vagrant halt", garantindo que a ordem de dependências entre elas seja
respeitada, o que evita erros.
- garante que as VM's estarão com pacotes atualizados, incluindo o
  kernel (requerido para o Virtualbox Guest Addtions)
- garante que o Virtualbox Guest Additions será configurado: isso permite o uso de diretório compartilhado entre todas as VM's (/vagrant) e também o uso do recurso de Linked Clones do Virtualbox.
- Melhoria na configuração de RBAC do usuário analista: agora a
  configuração é mais legível.
- Também foi adicionada uma ClusterRole para permitir usuários de listar
  e obter informações de namespaces. Isso é especialmente útil para usar
  um kubens (https://github.com/ahmetb/kubectx) e evitar um monte de
  digitação
Usando o programa yamllint e o GNU Make para buscar todos os arquivos e
válida-los conforme uma configuração que tem como objetivo garantir uma
legibilidade nos arquivos, além de buscar por erros.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant