This commit is contained in:
savagebidoof 2023-12-16 08:15:41 +01:00
parent 5f3c3b0e91
commit b5508eab97
3 changed files with 95 additions and 122 deletions

View File

@ -1,4 +1,6 @@
- This time I won't be doing a "walkthrough" from the process, but instead a progress list.
The plan is to replace the `srv` server that is currently used as standalone docker/NFS server, with a Proxmox instance as it would allow some more flexibility.
My current requirements are:
@ -55,7 +57,6 @@ I'm so good that I already was building an image with DHCP both for `amd64` and
Could create a new NFS pool for media related, specially when some data could b stored in an HDD and other could be stored in a SSD.
# Steps
## Make the DHCP server work in/from the Kubernetes cluster
@ -499,9 +500,23 @@ Meanwhile, it's certainly not a requirement (and I only use the monitor on emerg
- [x] Configured Jellyfin with GPU acceleration
## Deploy master node on the Proxmox server
## Make Cluster HA
2 Cores + 4GB RAM
- [ ] Done
- [x] Aborted
Since it would mostly require to recreate the cluster, I would like to have the DNS/DHCP service externalized to the cluster, or a Load Balancer external to the cluster, etc etc.
So, I rather have a cluster with 2 points of failure:
- Single control plane
- No HA NFS/NAS
Then to having an Uroboros for Cluster.
I also just thought on having a DNS failover
But it's not the current case, as
## Update rest of the stuff/configs as required to match the new Network distribution
@ -509,4 +524,30 @@ Which stuff?
IDK. It's an OS in case I'm forgetting something
- [x] Done Aka. everything seems to be running correctly
## Migrade Jenkins
https://devopscube.com/jenkins-build-agents-kubernetes/
https://www.jenkins.io/doc/book/installing/kubernetes/
- [x] Done
## Skaffold
- Learned to use Skaffold, yet requires manual execution.
- It's great tho
https://skaffold.dev/docs/references/yaml/
https://skaffold.dev/docs/builders/cross-platform/
## CI/CD Container creation
I have decided dump my old Jenkins architecture and rely on Skaffold, it's great.
I will work on integrating it with Jenkins.

128
README.md
View File

@ -3,14 +3,17 @@ gitea: none
include_toc: true
---
## Older patch notes/version
Select different tags.
## TLDR Changelog
- Pi4 joined the Kubernetes cluster as a Master, and moved the old/previous Orange Pi 5 that was working as a master to a slave role.
- Replaced the old standalone Docker/NFS server for a Proxmox/NFS instance.
- The main reverse proxy (Traefik) that was running in the Pi4 has been replaced for Istio running in the Kubernetes cluster.
- Added 2 VMs as worker nodes to the cluster, they will be used/are intended for x64 bit images.
- Services where reorganized into the server or Kubernetes cluster.
- One of the new added worker VMs receives a GPU through Proxmox PCI pass through.
- Some services might have been removed or added.
@ -22,112 +25,83 @@ include_toc: true
```yaml
Gateway: 192.168.1.1
Srv: 192.168.1.3
Proxmox/NFS: somwhere.
```
### Kluster
> Kubernetes Cluster
A Pi 4 with 4GB running as a Master.
A set of Orange PI 5, so far all of them are the 8GB of RAM version.
- Pi 4 with 4GB running as a Master. (Masterk/Pi4)
- A pair of Orange PI 5, so far all of them are the 8GB of RAM version. (Slave01-2)
- Proxmox VMs, both with 3 CPU cores and 8GB of RAM (Slave03-4)
- `Slave04` contains a GPU through Proxmox CPU pass through.
```yaml
Masterk: 192.168.1.9
Slave01: 192.168.1.10
Slave02: 192.168.1.11
Slave03: 192.168.1.12
Slave04: 192.168.1.13
```
## Which services are running where.
```yaml
Node Available(GPUs) Used(GPUs)
pi4.filter.home 0 0
slave01.filter.home 0 0
slave02.filter.home 0 0
slave03.filter.home 0 0
slave04.filter.home 1 0
```
### Srv (main media server)
## Which services I'm hosting
> Initially the server would contain media services and some with higher load, like Minecraft and factorio servers. Right now this server is the designated media server provider, and as well contains other more generalized services, as currently in planning a migration to reorganize the infrastructure.
Services run on `docker` / `docker-compose`.
#### Home Network
### Home Network
- CoreDNS
- DHCPd
#### Containerization
### Discord Bots
- Traefik
- Portainer
- Registry
- Registry-UI
- Jenkins agent
- containrrr/watchtower
- zcube/cadvisor
- https://gitea.filterhome.xyz/ofilter/Steam_Invite_Discord (both Master and Dev branches)
- Shlink + ShlinkUI (deployed as it has functionality with the Steam Discord Bot from above)
#### Git Servers
### Public DNS
- Gitea
- Godaddy
- Duckdns
#### Media
### CRDs
- kizaing/kavita
- prologic/tube
- gotson/komga
- lscr.io/linuxserver/qbittorrent
- grafana
- lscr.io/linuxserver/jellyfin
- difegue/lanraragi
- filebrowser/filebrowser
### Kluster
#### Clusterwise
- Cilium
- Istio Service Mesh
- Cert Manager
- Istio
- Nvidia Gpu Operator
- NFS Volume Provisioner
- MetalLB
- Cert-Manager
#### CI/CD
- Jenkins Controller
#### Monitoring
### Observability
- Grafana
- Prometheus
- Jaeger
- Kiali
- Jaeger
#### Home Network
### CI/CD
- CoreDNS
- DHCPd
- Jenkins master + dynamic agent(s)
- Docker Registry
#### Misc
### Git servers
- DuckDNS (updates the DNS records)
- GoDaddy (updates the DNS records)
- [Steam_Invite_Discord](https://gitea.filterhome.xyz/ofilter/Steam_Invite_Discord)
- Gitea
#### Notes
### Media related
Cert-Manager generates public certificates automatically
> https://cert-manager.io/docs/configuration/acme/
### Depracated
- bind9 DNS
- [Internet speedtest metrics](https://github.com/nickmaccarthy/internet-speed-test-metrics)
- kanboard
- mantis
- minecraft server + [Minecraft Discord Bot](https://gitea.filterhome.xyz/ofilter/Minecraft_Discord_Bot)
- [FGO Tools](https://github.com/OriolFilter/FGO_tools)
- muximix
- openvpn
- Plex
- Protainer
- mantis
- [speedtest_container](https://gitea.filterhome.xyz/ofilter/speedtest_contiainer)
- splunk
- vaultwarden
- alert manager
- chesscorp/chess-club
- Tube
- Firebrowser
- Filebrowser
- Jellyfin
- qBitTorrent

View File

@ -1,42 +0,0 @@
https://github.com/mikeroyal/Self-Hosting-Guide#backups
https://github.com/mikeroyal/Self-Hosting-Guide#snapshots-managementsystem-recovery
https://github.com/mikeroyal/Self-Hosting-Guide#file-systems
https://github.com/mikeroyal/Self-Hosting-Guide#storage
https://goteleport.com/
---
Volumes
https://github.com/seaweedfs/seaweedfs
---
DNS
https://github.com/awesome-selfhosted/awesome-selfhosted#dns
https://github.com/awesome-foss/awesome-sysadmin#dns---control-panels--domain-management
---
#3dp
https://github.com/Floppy/van_dam
---
? https://goteleport.com/
---
Gitea thingies
https://docs.gitea.com/awesome?_highlight=content#sdk