infracloud/k3s/deployment_guide.md
2026-01-10 10:21:12 -06:00

88 lines
1.7 KiB
Markdown

# Guia de Operação K3s
Este guia aborda operações básicas nos clusters **Zeus** e **Posseidon**. Como são instalações K3s, o comando principal é `k3s kubectl`.
## 📡 Acesso aos Clusters
Acesso via SSH diretamente no nó master.
```bash
# Cluster Zeus
ssh zeus
sudo k3s kubectl get nodes
# Cluster Posseidon
ssh posseidon
sudo k3s kubectl get nodes
```
## 📦 Implantando Aplicações (Deploy)
### 1. Criar um Manifesto YAML
Crie um arquivo `meu-app.yaml`:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: meu-nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: meu-nginx-svc
spec:
selector:
app: nginx
ports:
- port: 80
```
### 2. Aplicar no Cluster
```bash
sudo k3s kubectl apply -f meu-app.yaml
```
## 🌐 Expondo via Ingress (Traefik)
O K3s vem com Traefik habilitado. Para expor um serviço na porta 80/443 do host:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: meu-nginx-ingress
annotations:
# Não precisa de annotations específicas para Traefik default no K3s
spec:
rules:
- host: meu-app.rede5.com.br
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: meu-nginx-svc
port:
number: 80
```
## 🛠️ Comandos Úteis
| Ação | Comando |
|------|---------|
| Ver Nós | `sudo k3s kubectl get nodes` |
| Ver Pods (Todos) | `sudo k3s kubectl get pods -A` |
| Ver Logs | `sudo k3s kubectl logs -f -n [namespace] [pod-name]` |
| Descrever Pod | `sudo k3s kubectl describe pod [pod-name]` |
| Reiniciar K3s | `sudo systemctl restart k3s` |
| Desinstalar | `/usr/local/bin/k3s-uninstall.sh` |