Adding garage (S3 like) and zot (private docker registry)
This commit is contained in:
+107
@@ -0,0 +1,107 @@
|
||||
# garage
|
||||
|
||||
S3-compatible object store — https://garagehq.deuxfleurs.fr/
|
||||
|
||||
Chart: https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/main/script/helm
|
||||
|
||||
## Namespace
|
||||
|
||||
```
|
||||
kubectl create namespace garage
|
||||
```
|
||||
|
||||
## PV / PVC
|
||||
|
||||
Create the host directories first:
|
||||
```
|
||||
sudo mkdir -p /storage/garage/{data,meta}
|
||||
```
|
||||
|
||||
Apply the PVs (PVCs are created automatically by the StatefulSet):
|
||||
```
|
||||
kubectl apply -f ./pv-garage.yaml
|
||||
kubectl get pv | grep garage
|
||||
```
|
||||
|
||||
## Helm
|
||||
|
||||
```
|
||||
helm install -n garage garage . -f values.yaml
|
||||
|
||||
helm upgrade --install garage . \
|
||||
-n garage \
|
||||
-f values.yaml
|
||||
|
||||
helm delete garage -n garage
|
||||
```
|
||||
|
||||
## Check
|
||||
|
||||
```
|
||||
kubectl -n garage get pods,pvc,ingress
|
||||
kubectl -n garage get pvc
|
||||
kubectl get pv | grep garage
|
||||
kubectl -n garage get svc
|
||||
```
|
||||
|
||||
## Logs
|
||||
|
||||
```
|
||||
kubectl -n garage logs -l app.kubernetes.io/name=garage --prefix
|
||||
kubectl -n garage describe pod
|
||||
```
|
||||
|
||||
## Garage CLI — layout & cluster
|
||||
|
||||
After the pod is running, initialize the cluster layout (single-node):
|
||||
```
|
||||
# Get the node ID
|
||||
kubectl -n garage exec -it garage-0 -- /garage status
|
||||
|
||||
# Assign capacity to the node (replace <node-id>)
|
||||
kubectl -n garage exec -it garage-0 -- /garage layout assign -z dc1 -c 50G <node-id>
|
||||
|
||||
# Review and apply
|
||||
kubectl -n garage exec -it garage-0 -- /garage layout show
|
||||
kubectl -n garage exec -it garage-0 -- /garage layout apply --version 1
|
||||
```
|
||||
|
||||
## Garage CLI — buckets & keys
|
||||
|
||||
```
|
||||
# List buckets
|
||||
kubectl -n garage exec -it garage-0 -- /garage bucket list
|
||||
|
||||
# Create a bucket
|
||||
kubectl -n garage exec -it garage-0 -- /garage bucket create <bucket-name>
|
||||
|
||||
# List access keys
|
||||
kubectl -n garage exec -it garage-0 -- /garage key list
|
||||
|
||||
# Create an access key
|
||||
kubectl -n garage exec -it garage-0 -- /garage key create <key-name>
|
||||
|
||||
# Grant key access to bucket
|
||||
kubectl -n garage exec -it garage-0 -- /garage bucket allow \
|
||||
--read --write --owner <bucket-name> --key <key-name>
|
||||
|
||||
# Show key credentials (access key + secret)
|
||||
kubectl -n garage exec -it garage-0 -- /garage key info <key-name>
|
||||
```
|
||||
|
||||
## Certificate
|
||||
|
||||
```
|
||||
kubectl -n garage get certificate
|
||||
kubectl -n garage describe certificate garage-s3-tls
|
||||
kubectl -n garage get challenges
|
||||
```
|
||||
|
||||
## Show chart values
|
||||
|
||||
```
|
||||
helm show values garage/garage | grep -A20 -B5 -i persistence
|
||||
helm show values garage/garage | grep -A20 -B5 -i ingress
|
||||
```
|
||||
|
||||
kubectl -n garage exec -it garage-0 -- /garage status
|
||||
Reference in New Issue
Block a user