Integração de um Master
Preparação do Novo Servidor Master
Configuração do Repositório do Kubernetes
Execute o comando abaixo para criar o arquivo de repositório, ajustando o URL conforme seu ambiente:
$ cat <<eof> /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes Base
baseurl=https://repo.example.com/kubernetes/el7/x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://repo.example.com/keys/yum-key.gpg https://repo.example.com/keys/rpm-key.gpg
exclude=kube*
EOF
</eof>
Operações de Inicialização do Sistema
Desative o swap e ajuste os parâmetros do kernel para o Kubernetes:
$ swapoff -a
$ cp /etc/fstab /etc/fstab.old
$ grep -v 'swap' /etc/fstab.old > /etc/fstab
$ cat /etc/fstab
$ cat <<eof> /etc/sysctl.d/kubernetes.conf
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
$ modprobe br_netfilter
$ sysctl --system
$ cat > /etc/sysconfig/modules/ipvs.modules <<script chmod="" grep="" ip_vs="" ip_vs_rr="" ip_vs_sh="" ip_vs_wrr="" lsmod="" modprobe="" nf_conntrack_ipv4="" script=""></script></eof>
Instalação e Configuração do Docker
Instale o Docker seguindo a documentação oficial para sua distribuição. Em seguida, personalize o daemon do Docker:
$ vi /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {"max-size": "150m", "max-file": "2"}
}
$ systemctl restart docker.service
Instalação das Ferramentas do Kubernetes
$ yum install -y kubelet-1.24.8 kubeadm-1.24.8 kubectl-1.24.8 --disableexcludes=kubernetes
Substitua as versões conforme a necessidade do seu cluster.
Geração de Token para Junção
Crie um token novo e exiba o comando de junção:
$ kubeadm token create --print-join-command
kubeadm join 172.16.0.10:6443 --token a1b2c3.d4e5f6g7h8i9j0 --discovery-token-ca-cert-hash sha256:abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
Geração de Certificdao Adicional
Para adicionar um master, gere uma chave de certificado:
$ kubeadm init phase upload-certs --upload-certs
[upload-certs] Usando chave de certificado:
1f2e3d4c5b6a79887766554433221100ffaabbbccddeeff001122334455667788
Nota: Em versões anteriores à 1.16, utilize a flag --experimental-upload-certs.
Adicionar o Novo Master ao Cluster
$ kubeadm join 172.16.0.10:6443 --token a1b2c3.d4e5f6g7h8i9j0 --discovery-token-ca-cert-hash sha256:abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890 --control-plane --certificate-key 1f2e3d4c5b6a79887766554433221100ffaabbbccddeeff001122334455667788
Para versões anteriores à 1.16, substitua --control-plane por --experimental-control-plane.
Integração de um Nó Worker
Para adicionar um nó ao cluster, gere um comando de junção e execute-o no servidor do nó:
$ kubeadm token create --print-join-command
kubeadm join 172.16.0.10:6443 --token a1b2c3.d4e5f6g7h8i9j0 --discovery-token-ca-cert-hash sha256:abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890