59 lines
1.3 KiB
Markdown
59 lines
1.3 KiB
Markdown
# Kubernetes Configuration
|
|
|
|
Cluster configuration for the roamflow k3s cluster.
|
|
|
|
## Structure
|
|
|
|
```
|
|
kube-config/
|
|
├── apps/ # Application deployments
|
|
│ ├── headlamp/ # Kubernetes dashboard
|
|
│ └── ...
|
|
├── infrastructure/ # Cluster infrastructure
|
|
│ └── ...
|
|
└── scripts/ # Deployment scripts
|
|
└── deploy.sh
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Deploy a specific app
|
|
```bash
|
|
./scripts/deploy.sh headlamp
|
|
```
|
|
|
|
### Deploy all apps
|
|
```bash
|
|
./scripts/deploy.sh --all
|
|
```
|
|
|
|
## Cluster Access
|
|
|
|
```bash
|
|
# Start SSH tunnel
|
|
ssh -f -N -L 6443:127.0.0.1:6443 roamflow-1
|
|
|
|
# Use kubectl
|
|
KUBECONFIG=~/.kube/config-roamflow kubectl get pods -A
|
|
```
|
|
|
|
## Apps
|
|
|
|
| App | Namespace | Description | URL |
|
|
|-----|-----------|-------------|-----|
|
|
| headlamp | headlamp | Kubernetes dashboard | headlamp.duylai.duckdns.org |
|
|
| gitea | gitea | Git hosting | gitea.duylai.duckdns.org |
|
|
| vikunja | vikunja | Task management | tasks.duylai.duckdns.org |
|
|
|
|
## Memory Configuration
|
|
|
|
The following memory limits have been adjusted to prevent OOM kills:
|
|
|
|
| Service | Limit | Request |
|
|
|---------|-------|---------|
|
|
| PostgreSQL (per pod) | 768Mi | 512Mi |
|
|
| Pgpool | 512Mi | 384Mi |
|
|
| Valkey | 192Mi | 128Mi |
|
|
|
|
These are saved in `apps/gitea/values.yaml` for future upgrades.
|