infra/cluster/README.md

99 lines
2.3 KiB
Markdown

# Talos Cluster Applications
This directory contains Kubernetes application manifests for the Talos home cluster.
## Cluster Information
- **Cluster**: home-cluster (Talos)
- **Nodes**: 6 (3 control plane + 3 workers)
- **IPs**: 10.0.15.1-6
- **Kubernetes Version**: v1.35.0
- **Talos Version**: v1.12.1
## Deployed Applications
### Ceph CSI RBD Driver
**Directory**: `ceph-csi/`
**Status**: ✅ Deployed and Working
**Purpose**: Direct integration with Proxmox Ceph storage for persistent volumes
**Quick Commands**:
```bash
# Check deployment
kubectl get pods -n ceph-csi-rbd
# Check StorageClass
kubectl get storageclass ceph-rbd
# Create a test PVC
kubectl apply -f ceph-csi/test-pvc.yaml
# View documentation
cat ceph-csi/README.md
```
**Features**:
- Default StorageClass (ceph-rbd)
- Volume expansion enabled
- Topology-aware scheduling
- Automatic volume deletion on PVC delete
## Directory Structure
```
cluster/
├── README.md # This file
└── ceph-csi/ # Ceph CSI RBD driver
├── README.md # Detailed documentation
├── deploy.sh # Deployment script
├── test-pvc.yaml # Test resources
└── *.yaml # Kubernetes manifests
```
## Adding New Applications
1. Create a subdirectory for the application
2. Add Kubernetes manifests
3. Create a deploy.sh script if needed
4. Document in a README.md
5. Update this file with the application status
## Common Operations
### Check All Deployments
```bash
kubectl get deployments --all-namespaces
```
### Check All Storage
```bash
kubectl get pvc --all-namespaces
kubectl get pv
kubectl get storageclass
```
### Check All Services
```bash
kubectl get svc --all-namespaces
```
## Storage Options
1. **Ceph CSI** (in progress) - Direct Proxmox Ceph integration
2. **Longhorn** (alternative) - Self-hosted distributed storage
3. **Local Path** (simple) - Node-local storage only
## Networking
- **CNI**: Flannel (default with Talos)
- **Ingress**: Not yet deployed
- **Load Balancer**: Not yet deployed
## Next Steps
1. Resolve Ceph CSI topology issues or switch to Longhorn
2. Deploy ingress controller (Traefik or Nginx)
3. Deploy cert-manager for automatic SSL
4. Deploy monitoring stack (Prometheus/Grafana)
5. Deploy logging stack (Loki/Promtail)