Cluster Kubernetes via RKE
Os nós (hosts) são instanciados da seguinte maneira:
- Primeiramente, clona-se o modelo
CTIC-VM-Nuvem-Template
presente no nosso Proxmox em uma VM no modoFull Clone
. Após o clone, configuram-se os parâmetros docloud init
. Exemplo:
- Em seguida, adiciona-se o host ao inventário do Ansible no grupo vms_nuvem para aplicar o playbook que configura a VM e instala as dependências.
ansible-playbook -i inventory_ansible/servidores/host ansible/servidores/vms_nuvem.yml -u root
- Na sequência , é adicionada uma entrada no DNS do câmpus:
vmnuvemX IN A 191.36.8.X
- O próximo passo é adicionar o nó no arquivo cluster.yml:
- address: vmnuvemX.sj.ifsc.edu.br
role: [worker] # opções: [controlplane,worker,etcd]
hostname_override: vmnuvemX
user: root
ssh_key_path: ~/.ssh/id_rsa
Instalação do Kubernetes via RKE:
- Com a configuração do cluster.yml gerada utilizamos o seguinte comando para instalar e configurar o kubernetes:
./rke up --config cluster.yml
- No DNS também é necessário adicionar o host nas entradas de api-cloud e ingress-cloud dependendo do papel do host. Caso seja [controlplane] deve colocar no api-cloud e sendo [worker] colocar no ingress-cloud.
api-cloud IN A 191.36.8.X
;
ingress-cloud IN A 191.36.8.X
Instalação do Rancher
Foi seguido o tutorial oficial.
- A criação da chave:
kubectl -n cattle-system create secret tls tls-rancher-ingress --cert=tls.crt --key=tls.key
- Por fim, é iniciado o serviço do Rancher via
helm
:
helm install rancher-stable/rancher --name rancher --namespace cattle-system --set hostname=projetos.sj.ifsc.edu.br --set ingress.tls.source=tls-rancher-ingress
Repositório
O repositório é https://github.com/ctic-sje-ifsc/cluster_k8s_rke.