88 lines
1.7 KiB
Markdown
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` |
|