docs(README): Update documentation
Add logging, metrics and visualization setup, custom namespaces and update documentation for new helm-less configuration
This commit is contained in:
parent
bde95b734f
commit
5db3f92c15
74
README.md
74
README.md
@ -1,27 +1,30 @@
|
|||||||
# K3s cluster
|
# K3s cluster
|
||||||
|
|
||||||
| Name | Usage | Accessibility | Host | DB type | Additional data | Backup configuration | Log management | Status |
|
| Name | Usage | Accessibility | Host | DB type | Additional data | Backup configuration | Loki integration | Prometheus integration | Status |
|
||||||
|-------------------------|--------------------------------------|---------------|--------------|------------|----------------------|----------------------|----------------|--------------------------------|
|
|-------------------------|--------------------------------------|---------------|--------------|------------|----------------------|----------------------|------------------|------------------------|--------------------------------|
|
||||||
| therbron.com | Personal website | Public | Socrates | - | - | - | Not configured | Awaiting configuration |
|
| therbron.com | Personal website | Public | Socrates | - | - | - | Not configured | Not configured | Awaiting configuration |
|
||||||
| Traefik | Reverse proxy and load balancer | Public* | Socrates | - | - | - | Not configured | Yes |
|
| Traefik | Reverse proxy and load balancer | Public* | Socrates | - | - | - | Configured | Configured | Completed |
|
||||||
| Adguard | DNS ad blocker and custom DNS server | Private | Socrates | - | - | - | Not configured | Yes |
|
| Adguard | DNS ad blocker and custom DNS server | Private | Socrates | - | - | - | Not configured | Not configured | Completed |
|
||||||
| Owncloud Infinity Scale | File hosting webUI | Public | Plato | PostgreSQL | Drive files | None | Not configured | Awaiting configuration |
|
| Owncloud Infinity Scale | File hosting webUI | Public | Plato | PostgreSQL | Drive files | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Home assistant | Home automation and monitoring | Private | Pythagoras-a | PostgreSQL | - | None | Not configured | Awaiting configuration |
|
| Home assistant | Home automation and monitoring | Private | Pythagoras-a | PostgreSQL | - | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Vikunja | To-do and Kanban boards | Public | Pythagoras-b | - | - | - | Not configured | Migrate to Gitlab |
|
| Vikunja | To-do and Kanban boards | Public | Pythagoras-b | - | - | - | Not configured | Not configured | Migrate to Gitlab |
|
||||||
| Gitlab | Version control system | Public | Pythagoras-b | PostgreSQL | User created content | None | Not configured | Awaiting configuration |
|
| Gitlab | Version control system | Public | Pythagoras-b | PostgreSQL | User created content | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Wiki | Documentation manager | Public | Pythagoras-b | - | - | - | Not configured | Migrate to VuePress and Gitlab |
|
| Wiki | Documentation manager | Public | Pythagoras-b | - | - | - | Not configured | Not configured | Migrate to VuePress and Gitlab |
|
||||||
| Vaultwarden | Password manager | Public | Pythagoras-b | PostgreSQL | - | 4AM K8s CronJob | Not configured | Awaiting configuration |
|
| Vaultwarden | Password manager | Public | Pythagoras-b | PostgreSQL | - | 4AM K8s CronJob | Configured | Not available | Completed |
|
||||||
| Synapse | Matrix server - Message centralizer | Public | Pythagoras-b | PostgreSQL | User medias | None | Not configured | Awaiting configuration |
|
| Synapse | Matrix server - Message centralizer | Public | Pythagoras-b | PostgreSQL | User medias | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| PaperlessNG | PDF viewer and organiser | Public | Pythagoras-b | PostgreSQL | - | - | Not configured | Research migration into OCIS |
|
| PaperlessNG | PDF viewer and organiser | Public | Pythagoras-b | PostgreSQL | - | - | Not configured | Not configured | Research migration into OCIS |
|
||||||
| Raspsnir | Bachelor memorial website | Public | Pythagoras-b | PostgreSQL | - | None | Not configured | Awaiting configuration |
|
| Raspsnir | Bachelor memorial website | Public | Pythagoras-b | PostgreSQL | - | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Jellyfin | Media streaming | Public | Archimedes | - | - | - | Not configured | Awaiting configuration |
|
| Jellyfin | Media streaming | Public | Archimedes | - | - | - | Not configured | Not configured | Awaiting configuration |
|
||||||
| Sonarr | TV shows collection manager | Private | Plato | SQLite** | Internal backups | None | Not configured | Awaiting configuration |
|
| Sonarr | TV shows collection manager | Private | Plato | SQLite** | Internal backups | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Radarr | Movie collection manager | Private | Plato | SQLite** | Internal backups | None | Not configured | Awaiting configuration |
|
| Radarr | Movie collection manager | Private | Plato | SQLite** | Internal backups | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Jackett | Torrent indexer | Private | Plato | - | <center> ? </center> | None | Not configured | Awaiting configuration |
|
| Jackett | Torrent indexer | Private | Plato | - | <center> ? </center> | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Deluge | Torrent client | Private | Plato | - | <center> ? </center> | - | Not configured | Awaiting configuration |
|
| Deluge | Torrent client | Private | Plato | - | <center> ? </center> | - | Not configured | Not configured | Awaiting configuration |
|
||||||
| Minecraft | Vanilla minecraft server for friends | Public | Archimedes | - | Game map | None | Not configured | Yes |
|
| Minecraft | Vanilla minecraft server for friends | Public | Archimedes | - | Game map | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Satisfactory | Satisfactory server for friends | Public | Archimedes | - | Game map | None | Not configured | Awaiting configuration |
|
| Satisfactory | Satisfactory server for friends | Public | Archimedes | - | Game map | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
| Space engineers | Space engineers server for friends | Public | Archimedes | - | Game map | None | Not configured | Awaiting configuration |
|
| Space engineers | Space engineers server for friends | Public | Archimedes | - | Game map | Not configured | Not configured | Not configured | Awaiting configuration |
|
||||||
|
| Prometheus | Metrics aggregator | Private | Pythagoras-b | TBD | - | Not configured | Configured | Configured | Partial |
|
||||||
|
| Loki | Log aggregator | Private | Pythagoras-b | TBD | - | Not configured | Configured | Configured | Partial |
|
||||||
|
| Grafana | Graph visualizer | Public | Pythagoras-b | - | - | Not configured | Configured | Configured | Partial |
|
||||||
|
|
||||||
\* Configuration panel only available internally<br>
|
\* Configuration panel only available internally<br>
|
||||||
** Current implementation only support SQLite, making manual backups a necessity
|
** Current implementation only support SQLite, making manual backups a necessity
|
||||||
@ -54,39 +57,36 @@ longhorn
|
|||||||
- Write CI/CD pipeline to create environment loaded files
|
- Write CI/CD pipeline to create environment loaded files
|
||||||
- Write CI/CD pipeline to deploy cluster
|
- Write CI/CD pipeline to deploy cluster
|
||||||
- Setup internal traefik with nodeport as reverse proxy for internal only services
|
- Setup internal traefik with nodeport as reverse proxy for internal only services
|
||||||
- Setup DB container sidecars for automated backups to Longhorn volume
|
- ~~Setup DB container sidecars for automated backups to Longhorn volume~~
|
||||||
- Setup secrets configuration through CI/CD variable injection
|
- Setup secrets configuration through CI/CD variable injection
|
||||||
|
- Explore permission issues when issuing OVH API keys (not working for wildcard and `beta.halia.dev` subdomain)
|
||||||
|
- ~~Setup log and metric monitoring~~
|
||||||
|
- ~~Define namespaces through yaml files~~
|
||||||
- ~~Look into CockroachDB for redundant database~~ Judged too complicated, moving to a 1 to 1 relationship between services and databases
|
- ~~Look into CockroachDB for redundant database~~ Judged too complicated, moving to a 1 to 1 relationship between services and databases
|
||||||
- ~~Configure IP range accessibility through Traefik (Internal vs external services)~~ Impossible because of flannel ip-masq
|
- ~~Configure IP range accessibility through Traefik (Internal vs external services)~~ Impossible because of flannel ip-masq
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
# Cluster base setup
|
### Cluster base setup
|
||||||
Add node to the list of available load balancer
|
Add node to the list of available load balancer
|
||||||
`kubectl label node <node-name> svccontroller.k3s.cattle.io/enablelb=true`
|
`kubectl label node <node-name> svccontroller.k3s.cattle.io/enablelb=true`
|
||||||
|
NOTE: For development, don't forget to also add the `cp` to the LB list, in order to access local only services
|
||||||
|
|
||||||
|
|
||||||
Setup OVH configuration
|
Setup OVH configuration
|
||||||
`kubectl apply -f ovh-config.yaml`
|
`kubectl apply -f ovh-config.yaml`
|
||||||
|
|
||||||
|
Install traefik
|
||||||
Install traefik through helm
|
`kubectl apply -f traefik`
|
||||||
```
|
|
||||||
helm repo add traefik https://helm.traefik.io/traefik
|
|
||||||
helm repo update
|
|
||||||
helm install -f helm/traefik/values.yaml traefik traefik/traefik
|
|
||||||
```
|
|
||||||
|
|
||||||
Setup SSL certificates
|
|
||||||
```
|
|
||||||
kubectl apply -f ovh-config.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
Install longhorn
|
Install longhorn
|
||||||
```
|
```
|
||||||
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml
|
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml
|
||||||
```
|
```
|
||||||
|
Remove `local-path` from default StorageClass
|
||||||
|
`kubectl patch storageclass standard -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'`
|
||||||
|
|
||||||
Add longhorn storage classes
|
Add longhorn storage classes
|
||||||
`kubectl apply -f res`
|
`kubectl apply -f res`
|
||||||
|
|
||||||
|
### Convert helm chart to k3s manifest
|
||||||
|
`helm template chart stable/chart --output-dir ./chart`
|
||||||
|
Loading…
Reference in New Issue
Block a user