Kubelet
- Executa comando ordenados pelo [[kube-scheduler]]
- Regularmente informa ao apiserver o estado do nó
- Registra os nós no cluster
- Quando recebe a ordem de criar um container, vai chamar o CRI para baixar a imagem, e monitorar a saúde dos pods para o api server
- O kubelet não é instalado pelo kubeadm. Deve ser instalado manualmente
Security
- As configurações são feitas utilizando o parametro --config, que carregará um arquivo do
kind
KubeletConfiguration - O Kubelet serve duas portas:
- 10250 - Serve a API habilitando acesso full
- 10255 - Serve a API que permite requisições não atenticadas readonly
- Só estará disponbível se a opção read-only-port for configurada
- O kubeapi é um cliente do kubelet, e utiliza certificado/key para fazer a comunicação com o kubelet
- É necessário utilizar o authorization.mode para Webhook, para que o kubelet faça uma chamada ao kubeapi sever para determinar se a requisição é autorizada
curl -X GET http://127.0.0.1:8001/api/v1/nodes/<node-name>/proxy/configz | jq .
PARA MODIFICAR AS CONFIGURACOES DOS KUBELETS DE NOVOS NOS, EH NECESSARIO MODIFICAR O CONFIGMAP kubelet-config
no namespace kube-system
kubectl edit cm -n kube-system kubelet-config
DEPOIS DISSO... EH PRECISO RODAR O COMANDO KUBEADM NAS MAQUINAS PRA PODER ATUALIZAR AUTOMOTICAMENTE SEM PRECISAR EDITAR O ARQUIVO DE CONFIGURACAO
kubeadm upgrade node phase kubelet-config
RESTART DO KUBELET
systemctl restart kubelet