O que vem instalado no servidor k3s?
- k3s a partir do canal estável do instalador oficial, na versão atual no momento da instalação
- Um cluster de nó único, com a API do Kubernetes na porta 6443 e um certificado que inclui o seu IP
- O controlador de ingress Traefik nas portas 80 e 443
- CoreDNS, local-storage e metrics-server, tal como vêm com o k3s
- O runtime containerd do próprio k3s, sem Docker instalado
- Um ficheiro kubeconfig em /etc/rancher/k3s/k3s.yaml, legível apenas pelo root
- Firewall com as portas 22, 80, 443 e 6443 abertas e as redes de pods e de serviços permitidas
Que tamanho é necessário para o k3s?
A documentação oficial do k3s pede pelo menos 2 núcleos de CPU e 2 GB de RAM num nó servidor, por isso esta instalação começa com 2 núcleos. O k3s funciona com 2 GB, mas isso deixa pouca folga para as aplicações. Como regra prática, pondere 4 GB para alguns pods pequenos e 8 GB para uma base de dados ou mais serviços. A RAM e o CPU crescem a partir do painel; o servidor reinicia uma vez, e os dados e o IP mantêm-se. Os volumes persistentes ficam no mesmo disco.
| Utilização | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 2 GB RAM · 2 vCore · 40 GB NVMe | $4.51/mês | |
| Médio | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês | |
| Potente | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mês |
Para quem é?
- Programadores que querem aprender Kubernetes num cluster próprio
- Equipas que publicam uma aplicação pequena com manifestos ou Helm
- Pipelines que implementam com o kubectl
- Quem quer testar manifestos locais num servidor real
O que acontece depois de encomendar?
- Defina o CPU com pelo menos 2 núcleos, escolha o tamanho e conclua o pagamento.
- O servidor arranca e o k3s instala-se sozinho. No separador Resumo, espere que a linha Aplicação indique que o k3s está pronto.
- Obtenha o ficheiro: scp root@IP:/etc/rancher/k3s/k3s.yaml ~/.kube/config. Isto substitui qualquer ficheiro existente, por isso copie-o primeiro.
- Na linha server do ficheiro, substitua 127.0.0.1 pelo endereço IP do servidor.
- Experimente: kubectl get nodes. O nó deve aparecer como Ready.
- Implemente a aplicação e exponha-a nas portas 80 e 443 com um Ingress.
Em todos os servidores
- Cópias de segurança diárias incluídas no preço
- Tráfego ilimitado
- Acesso root completo
- Aumentar ou reduzir a RAM e o CPU mais tarde, e fazer crescer o disco
- Localização: Istanbul · IST-1.
Bom saber
- O k3s.yaml é a chave de acesso total ao cluster, por isso não o partilhe. A porta 6443 está aberta à internet e o acesso usa o certificado deste ficheiro; pode limitá-la ao seu próprio IP com o ufw.
- O cluster tem um único nó, por isso as aplicações ficam em baixo por instantes enquanto o servidor reinicia.
- O k3s renova os certificados do kubeconfig de administração sempre que arranca. Volte a obter a cópia local de vez em quando, para que não expire.
- A instalação não acrescenta um gestor de certificados. Para HTTPS nos Ingress, define o certificado por si.
- As atualizações não acontecem sozinhas. A forma oficial é voltar a executar o instalador com as mesmas definições, porque as que deixar de fora perdem-se.
- Um segundo nó precisa de 8472/UDP e 10250/TCP. A documentação oficial diz que a 8472 não deve ficar exposta à internet, por isso permita apenas o endereço IP desse servidor.
k3s: perguntas e respostas
O que é o k3s e em que difere do Kubernetes?
O k3s é uma distribuição Kubernetes leve e totalmente conforme. O kubectl e os manifestos funcionam da mesma forma. Componentes como o Traefik, o CoreDNS e o armazenamento local são instalados com o k3s, por isso não os acrescenta à parte.
De quanta RAM precisa o k3s?
A documentação oficial pede pelo menos 2 núcleos e 2 GB de RAM num nó servidor. Como regra prática, 2 GB chegam para o próprio k3s, 4 GB são um bom começo para algumas aplicações e 8 GB para uma base de dados e mais serviços.
Como me ligo ao meu cluster k3s?
Obtenha o ficheiro com scp root@IP:/etc/rancher/k3s/k3s.yaml ~/.kube/config, substitua nele 127.0.0.1 pelo endereço IP do servidor e execute kubectl get nodes. No próprio servidor, o k3s kubectl também funciona.
Como exponho a minha aplicação no k3s?
Defina um Service e um Ingress. O controlador de ingress Traefik escuta nas portas 80 e 443 e encaminha os pedidos para o serviço. Para HTTPS, acrescente o seu próprio certificado como um Secret.
Como funcionam os volumes persistentes no k3s?
O k3s inclui o Local Path Provisioner com a classe de armazenamento local-path. Os volumes são criados em /var/lib/rancher/k3s/storage no servidor, por isso entram na cópia de segurança noturna. São guardados os últimos 7 dias, e isto está incluído no preço.
Posso usar o Helm com o k3s?
Sim. A ferramenta helm do seu computador liga-se com o mesmo ficheiro kubeconfig. O k3s também aplica sozinho os ficheiros que colocar em /var/lib/rancher/k3s/server/manifests, o que inclui recursos HelmChart.