Review kubernetes-bootstrap tutorial: fix inaccuracies
- Fix k3s table entry (BlumeOps uses k3s on ringtail) - Fix broken tailscale serve command (minikube ip returns IP, not port) - Rewrite NFS section to match actual static PV/PVC binding pattern - Fix "BluemeOps" typo - Add last-reviewed frontmatter Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
796baaa41a
commit
4ae55f9bf4
1 changed files with 31 additions and 8 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
title: Kubernetes Bootstrap
|
title: Kubernetes Bootstrap
|
||||||
modified: 2026-02-07
|
modified: 2026-03-25
|
||||||
|
last-reviewed: 2026-03-25
|
||||||
tags:
|
tags:
|
||||||
- tutorials
|
- tutorials
|
||||||
- replication
|
- replication
|
||||||
|
|
@ -20,7 +21,7 @@ For homelab use, lightweight distributions work well:
|
||||||
| Distribution | Best For | BlumeOps Uses |
|
| Distribution | Best For | BlumeOps Uses |
|
||||||
|--------------|----------|---------------|
|
|--------------|----------|---------------|
|
||||||
| **Minikube** | Single-node, macOS | Yes |
|
| **Minikube** | Single-node, macOS | Yes |
|
||||||
| **k3s** | Single-node, Linux | - |
|
| **k3s** | Single-node, Linux | Yes (ringtail) |
|
||||||
| **kind** | Local development | - |
|
| **kind** | Local development | - |
|
||||||
| **kubeadm** | Multi-node clusters | - |
|
| **kubeadm** | Multi-node clusters | - |
|
||||||
|
|
||||||
|
|
@ -76,7 +77,7 @@ To access the cluster from other Tailscale devices, expose the API server:
|
||||||
### Option A: Tailscale Serve (Simple)
|
### Option A: Tailscale Serve (Simple)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
tailscale serve --bg --tcp 6443 tcp://localhost:$(minikube ip --format '{{.Port}}')
|
tailscale serve --bg --tcp 6443 tcp://$(minikube ip):8443
|
||||||
```
|
```
|
||||||
|
|
||||||
### Option B: Tailscale Kubernetes Operator (Advanced)
|
### Option B: Tailscale Kubernetes Operator (Advanced)
|
||||||
|
|
@ -125,22 +126,44 @@ kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storagec
|
||||||
|
|
||||||
### NFS for Shared Storage
|
### NFS for Shared Storage
|
||||||
|
|
||||||
If you have a NAS:
|
If you have a NAS on your tailnet, create a static PersistentVolume and PersistentVolumeClaim pair:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolume
|
kind: PersistentVolume
|
||||||
metadata:
|
metadata:
|
||||||
name: nfs-share
|
name: media-nfs-pv
|
||||||
spec:
|
spec:
|
||||||
capacity:
|
capacity:
|
||||||
storage: 1Ti
|
storage: 1Ti
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
storageClassName: ""
|
||||||
nfs:
|
nfs:
|
||||||
server: nas.your-tailnet.ts.net
|
server: nas # Tailscale MagicDNS hostname
|
||||||
path: /volume1/k8s
|
path: /volume1/media
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: media-nfs-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: ""
|
||||||
|
volumeName: media-nfs-pv
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Ti
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Key details:
|
||||||
|
- `storageClassName: ""` ensures static binding (not dynamic provisioning)
|
||||||
|
- `volumeName` in the PVC binds it to the specific PV
|
||||||
|
- `Retain` reclaim policy prevents accidental data loss
|
||||||
|
- Use the NAS's Tailscale hostname, not an IP address
|
||||||
|
|
||||||
## What You Now Have
|
## What You Now Have
|
||||||
|
|
||||||
- A Kubernetes cluster running on your server
|
- A Kubernetes cluster running on your server
|
||||||
|
|
@ -152,7 +175,7 @@ spec:
|
||||||
- [[argocd-config|Configure ArgoCD]] - GitOps deployments
|
- [[argocd-config|Configure ArgoCD]] - GitOps deployments
|
||||||
- Install essential addons (ingress controller, cert-manager)
|
- Install essential addons (ingress controller, cert-manager)
|
||||||
|
|
||||||
## BluemeOps Specifics
|
## BlumeOps Specifics
|
||||||
|
|
||||||
BlumeOps' cluster configuration includes:
|
BlumeOps' cluster configuration includes:
|
||||||
- Tailscale operator for automatic ingress
|
- Tailscale operator for automatic ingress
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue