infracloud/azure-devops/CLUSTER-CONNECTION.md
2026-02-17 15:31:47 -03:00

165 lines
3 KiB
Markdown

# K3s Cluster - Conexão e Configuração
## Visão Geral
Documentação de conexão aos clusters Kubernetes baseados em **K3s** (Lightweight Kubernetes).
## Nós do Cluster
| Hostname | Função | IP | Utilizador | Chave SSH |
|----------|--------|----|------------|-----------|
| **Zeus** | Control Plane | `45.39.210.92` | root | `lh-zeus` |
| **Posseidon** | Control Plane | `45.39.210.21` | root | `lh-zeus` |
| **Apolo** | Worker Node | `45.143.7.55` | root | `lh-zeus` |
## Configuração SSH
### Arquivo de Configuração SSH
**Localização:** `C:\Users\TiagoRibeiro\.ssh\config`
```
Host zeus
HostName 45.39.210.92
User root
IdentityFile C:/Users/TiagoRibeiro/.ssh/lh-zeus
IdentitiesOnly yes
Host posseidon
HostName 45.39.210.21
User root
IdentityFile C:/Users/TiagoRibeiro/.ssh/lh-zeus
IdentitiesOnly yes
Host apolo
HostName 45.143.7.55
User root
IdentityFile C:/Users/TiagoRibeiro/.ssh/lh-zeus
IdentitiesOnly yes
```
### Chaves SSH
- **Chave Privada:** `C:\Users\TiagoRibeiro\.ssh\lh-zeus`
- **Chave Pública:** `C:\Users\TiagoRibeiro\.ssh\lh-zeus.pub`
## Conexão aos Nós
### Conectar via SSH
```bash
# Conectar a Zeus (Control Plane)
ssh zeus
# Conectar a Posseidon
ssh posseidon
# Conectar a Apolo
ssh apolo
# Ou diretamente pelo IP
ssh root@45.39.210.92
ssh root@45.39.210.21
ssh root@45.143.7.55
```
##ações K Oper3s
### Verificar Status do Cluster
```bash
# No nó Zeus
kubectl get nodes
kubectl get pods -A
kubectl get services -A
# Status do K3s
systemctl status k3s
```
### Contextos Kubernetes
```bash
# Listar contextos
kubectl config get-contexts
# Trocar de contexto
kubectl config use-context <context-name>
# Ver contexto atual
kubectl config current-context
```
### Exemplos de Comandos
```bash
# Ver pods em todos os namespaces
kubectl get pods -A
# Ver serviços
kubectl get svc -A
# Ver nós
kubectl get nodes -o wide
# Ver logs de um pod
kubectl logs -n <namespace> <pod-name>
# Ver eventos do cluster
kubectl get events -A --sort-by='.lastTimestamp'
```
## Stack Tecnológica
- **Distro**: K3s (Rancher)
- **Ingress Controller**: Traefik (Built-in)
- **Storage**: Local Path Provisioner
- **OS**: AlmaLinux 9.x
## Manutenção
### Reiniciar K3s
```bash
# Reiniciar serviço K3s
systemctl restart k3s
# Ver logs
journalctl -u k3s -f
```
### Backup K3s
```bash
# Backup dos recursos
kubectl get all -A -o yaml > k3s-backup.yaml
# Backup do etcd (se configurado)
k3s etcd-snapshot save
```
## Acesso Remoto (kubeconfig)
Para acesso remoto ao cluster, copie o kubeconfig de um dos nós:
```bash
# No nó Zeus
cat /etc/rancher/k3s/k3s.yaml
# Guardar localmente em ~/.kube/config
```
## Troubleshooting
### Verificar conectividade entre nós
```bash
# Ping entre nós
ping 45.39.210.92
ping 45.39.210.21
ping 45.143.7.55
# Ver portas abertas
ss -tuln | grep 6443 # API Server
```
### Verificar tokens de nó
```bash
# No nó master
cat /var/lib/rancher/k3s/server/node-token
```
---
*Documento gerado em: 2026-02-17*