Files
aiworker/k8s-cluster-info.md
Hector Ros db71705842 Complete documentation for future sessions
- CLAUDE.md for AI agents to understand the codebase
- GITEA-GUIDE.md centralizes all Gitea operations (API, Registry, Auth)
- DEVELOPMENT-WORKFLOW.md explains complete dev process
- ROADMAP.md, NEXT-SESSION.md for planning
- QUICK-REFERENCE.md, TROUBLESHOOTING.md for daily use
- 40+ detailed docs in /docs folder
- Backend as submodule from Gitea

Everything documented for autonomous operation.

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-01-20 00:37:19 +01:00

121 lines
3.9 KiB
Markdown

# AiWorker Kubernetes HA Cluster
**Location**: Houston, Texas (us-hou-1)
**Created**: 2026-01-19
**K3s Version**: v1.35.0+k3s1
**Network**: 10.100.0.0/24 (k8s-cluster-network)
## Architecture
```
[Floating IP]
|
┌────────────┴────────────┐
| |
[LB-01 (HA)] [LB-02 (HA)]
| |
└────────────┬────────────┘
|
┌───────────────┼───────────────┐
| | |
[CP-01] [CP-02] [CP-03]
etcd HA etcd HA etcd HA
| | |
─────┴───────────────┴───────────────┴─────
| | |
[Worker-01] [Worker-02] [Worker-03]
```
## Control Plane Nodes (gp.starter: 4 vCPU, 8 GB RAM)
| Hostname | Public IP | Private IP | Role |
|-------------|-----------------|-------------|------------------|
| k8s-cp-01 | 108.165.47.233 | 10.100.0.2 | control-plane,etcd |
| k8s-cp-02 | 108.165.47.235 | 10.100.0.3 | control-plane,etcd |
| k8s-cp-03 | 108.165.47.215 | 10.100.0.4 | control-plane,etcd |
## Worker Nodes (gp.small: 8 vCPU, 16 GB RAM)
| Hostname | Public IP | Private IP | Role |
|----------------|-----------------|-------------|--------|
| k8s-worker-01 | 108.165.47.225 | 10.100.0.5 | worker |
| k8s-worker-02 | 108.165.47.224 | 10.100.0.6 | worker |
| k8s-worker-03 | 108.165.47.222 | 10.100.0.7 | worker |
## Load Balancers (gp.micro: 2 vCPU, 4 GB RAM)
| Hostname | Public IP | Private IP | Purpose |
|------------|--------------|-------------|-----------------|
| k8s-lb-01 | (pending) | (pending) | HAProxy Primary |
| k8s-lb-02 | (pending) | (pending) | HAProxy Backup |
## K3s Configuration
```bash
# Token
K10e74a5aacfaf4e2e0a291c3b369db8588cf0b9c2590a4d66e04ab960e24fcb4db::server:bc53704a9707d3cd9188af9e558ab50c
# API Server (via LB - will be configured)
https://<floating-ip>:6443
# Direct access (temporary)
https://108.165.47.233:6443
```
## Network Configuration
- **Private Network**: 10.100.0.0/24 (eth1)
- **Flannel Interface**: eth1
- **All internal communication**: via private IPs
- **External access**: via public IPs (with firewall)
## SSH Access
```bash
# Control Planes
ssh root@108.165.47.233 # k8s-cp-01
ssh root@108.165.47.235 # k8s-cp-02
ssh root@108.165.47.215 # k8s-cp-03
# Workers
ssh root@108.165.47.225 # k8s-worker-01
ssh root@108.165.47.224 # k8s-worker-02
ssh root@108.165.47.222 # k8s-worker-03
```
## Kubeconfig
```bash
# Local kubeconfig
~/.kube/aiworker-config
# Usage
export KUBECONFIG=~/.kube/aiworker-config
kubectl get nodes
# Or
kubectl --kubeconfig ~/.kube/aiworker-config get nodes
```
## Cost Summary
| Component | Plan | Qty | Unit Price | Total/Month |
|-----------------|------------|-----|------------|-------------|
| Control Planes | gp.starter | 3 | $15/mo | $45 |
| Workers | gp.small | 3 | $29/mo | $87 |
| Load Balancers | gp.micro | 2 | $8/mo | $16 |
| **Total** | | 8 | | **$148/mo** |
## Cluster Health
```bash
# Check nodes
kubectl get nodes -o wide
# Check system pods
kubectl get pods -A
# Check etcd cluster
kubectl get endpoints -n kube-system kube-apiserver
# Cluster info
kubectl cluster-info
```
## Next Steps
1. ✅ Cluster deployed
2. 🔄 Configure load balancers (HAProxy)
3. ⏳ Setup floating IP for HA
4. ⏳ Install Nginx Ingress Controller
5. ⏳ Install Cert-Manager
6. ⏳ Deploy AiWorker application