distribute READMEs

This commit is contained in:
2024-07-21 10:37:55 -04:00
parent e6aff894e8
commit 60eb1e26a0
15 changed files with 196 additions and 261 deletions

View File

@@ -19,13 +19,6 @@
- [Test Minecraft Server](#test-minecraft-server)
- [Automatic Updates](#automatic-updates)
- [Database Backups](#database-backups)
- [Quickstart](#quickstart)
- [Help](#help)
- [Troubleshooting](#troubleshooting)
- [Deleting a stuck namespace](#deleting-a-stuck-namespace)
- [Fixing a bad volume](#fixing-a-bad-volume)
- [Mounting an ix-application volume from truenas](#mounting-an-ix-application-volume-from-truenas)
- [Mounting a volume](#mounting-a-volume)
- [Uninstall](#uninstall)
## Guide
@@ -104,24 +97,24 @@ scp kube:/etc/rancher/k3s/k3s.yaml ~/.kube/admin-kube-config
```bash
# Download the updated template from github
kubectl kustomize "github.com/rancher/local-path-provisioner/deploy?ref=v0.0.28" > local-path-provisioner/local-path-storage.yaml
kubectl kustomize "github.com/rancher/local-path-provisioner/deploy?ref=v0.0.28" > kubernetes/incubating/local-path-provisioner/local-path-storage.yaml
# Apply customizations (ssd/hdd storage, read write many support)
kubectl kustomize local-path-provisioner | kubectl apply -f -
kubectl kustomize kubernetes/incubating/local-path-provisioner/local-path-provisioner | kubectl apply -f -
# Create test pod
kubectl apply -f k3s/tests/local-storage-test.yaml
kubectl apply -f infrastructure/graduated/k3s/tests/local-storage-test.yaml
```
## Coredns
1. Edit `coredns/values.yaml` to ensure the forward nameserver is correct.
1. Edit `kubernetes/graduated/coredns/values.yaml` to ensure the forward nameserver is correct.
```bash
# Install CoreDNS
helm upgrade --install \
--namespace=kube-system \
--values coredns/values.yaml \
--values kubernetes/graduated/coredns/values.yaml \
coredns coredns/coredns
# Test DNS works
@@ -188,7 +181,7 @@ you can list them. We're only going to use one because we want to port forward f
```bash
# create the metallb allocation pool
kubectl apply -f metallb/addresspool.yaml
kubectl apply -f kubernetes/graduated/metallb/addresspool.yaml
```
You'll need to annotate your service as follows if you want an external IP:
@@ -231,9 +224,9 @@ EOF
kubectl create secret generic external-dns \
--namespace kube-system --from-file secrets/externaldns-credentials
kubectl apply -f external-dns/sa.yaml
kubectl apply -f kubernetes/graduated/external-dns/sa.yaml
kubectl apply -f external-dns/deploy.yaml
kubectl apply -f kubernetes/graduated/external-dns/deploy.yaml
```
### Annotation
@@ -256,7 +249,7 @@ helm repo update
helm upgrade --install \
ingress-nginx \
ingress-nginx/ingress-nginx \
--values ingress-nginx/values.yaml \
--values kubernetes/graduated/ingress-nginx/values.yaml \
--namespace kube-system
```
@@ -325,16 +318,16 @@ You can test if your ingress is working with:
```bash
# Navigate to demo.reeseapps.com
kubectl apply -f k3s/tests/ingress-nginx-test.yaml
kubectl apply -f infrastructure/graduated/k3s/tests/ingress-nginx-test.yaml
# Cleanup
kubectl delete -f k3s/tests/ingress-nginx-test.yaml
kubectl delete -f infrastructure/graduated/k3s/tests/ingress-nginx-test.yaml
```
## Test Minecraft Server
```bash
helm upgrade --install minecraft ./minecraft -n minecraft --create-namespace
helm upgrade --install minecraft kubernetes/graduated/minecraft -n minecraft --create-namespace
```
## Automatic Updates
@@ -345,7 +338,7 @@ helm upgrade --install minecraft ./minecraft -n minecraft --create-namespace
kubectl create namespace system-upgrade
kubectl apply -f https://github.com/rancher/system-upgrade-controller/releases/latest/download/system-upgrade-controller.yaml
kubectl apply -f https://github.com/rancher/system-upgrade-controller/releases/latest/download/crd.yaml
kubectl apply -f k3s/upgrade-plan.yaml
kubectl apply -f infrastructure/graduated/k3s/upgrade-plan.yaml
# Check plan
kubectl get plan -n system-upgrade
@@ -369,60 +362,8 @@ k3s server \
--cluster-reset-restore-path=/var/lib/rancher/k3s/server/db/snapshots/on-demand-kube-1720459685
```
### Quickstart
```bash
# Create certsigner pod for all other operations
./setup.sh <server_fqdn>
# Create a user, use "admin" to create an admin user
./upsertuser.sh <ssh_address> <server_fqdn (for kubectl)> <user>
# Remove a user, their namespace, and their access
./removeuserspace <server_fqdn> <user>
```
## Help
### Troubleshooting
#### Deleting a stuck namespace
```bash
NAMESPACE=nginx
kubectl proxy &
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize
```
#### Fixing a bad volume
```bash
xfs_repair -L /dev/sdg
```
#### Mounting an ix-application volume from truenas
```bash
# set the mountpoint
zfs set mountpoint=/ix_pvc enc1/ix-applications/releases/gitea/volumes/pvc-40e27277-71e3-4469-88a3-a39f53435a8b
#"unset" the mountpoint (back to legacy)
zfs set mountpoint=legacy enc1/ix-applications/releases/gitea/volumes/pvc-40e27277-71e3-4469-88a3-a39f53435a8b
```
#### Mounting a volume
```bash
# mount
mount -t xfs /dev/zvol/enc0/dcsi/apps/pvc-d5090258-cf20-4f2e-a5cf-330ac00d0049 /mnt/dcsi_pvc
# unmount
umount /mnt/dcsi_pvc
```
## Uninstall
```bash
/usr/local/bin/k3s-uninstall.sh
```
```