rename guide
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster for less than $60 by month"
|
||||
title: "A beautiful GitOps day - Build your self-hosted Kubernetes cluster"
|
||||
date: 2023-10-01
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes"]
|
||||
@ -153,4 +153,4 @@ For an HA cluster, you'll need to put 2 more cx21 controllers, so **€72.78** (
|
||||
|
||||
## Let’s party 🎉
|
||||
|
||||
Enough talk, [let's go Charles !]({{< ref "/posts/11-build-your-own-kubernetes-cluster-part-2" >}}).
|
||||
Enough talk, [let's go Charles !]({{< ref "/posts/11-a-beautiful-gitops-day-1" >}}).
|
1
content/posts/10-a-beautiful-gitops-day/thumb.svg
Normal file
After Width: | Height: | Size: 15 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part II - Cluster initialization with Terraform and K3s"
|
||||
title: "A beautiful GitOps day I - Cluster initialization with Terraform and K3s"
|
||||
date: 2023-10-02
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "terraform", "hetzner", "k3s", "gitops"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part II** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part I** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## The boring part (prerequisites)
|
||||
|
||||
@ -519,4 +519,4 @@ If node have some workloads running, you'll have to consider a proper [draining]
|
||||
|
||||
## 1st check ✅
|
||||
|
||||
We now have a working cluster, fully GitOps managed, easy to scale up, let's install [a load balanced ingress controller for external access through SSL]({{< ref "/posts/12-build-your-own-kubernetes-cluster-part-3" >}}).
|
||||
We now have a working cluster, fully GitOps managed, easy to scale up, let's install [a load balanced ingress controller for external access through SSL]({{< ref "/posts/12-a-beautiful-gitops-day-2" >}}).
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part III - Load Balancer & Ingress with SSL"
|
||||
title: "A beautiful GitOps day II - Load Balancer & Ingress with SSL"
|
||||
date: 2023-10-03
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "traefik", "cert-manager"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part III** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part II** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## 2nd Terraform project
|
||||
|
||||
@ -686,4 +686,4 @@ Or for testing purpose set `ports.websecure.forwardedHeaders.insecure` and `port
|
||||
|
||||
## 2nd check ✅
|
||||
|
||||
Our cluster is now perfectly securely accessible from outside with automatic routing. The next important part is now to have a [resilient storage and database]({{< ref "/posts/13-build-your-own-kubernetes-cluster-part-4" >}}).
|
||||
Our cluster is now perfectly securely accessible from outside with automatic routing. The next important part is now to have a [resilient storage and database]({{< ref "/posts/13-a-beautiful-gitops-day-3" >}}).
|
Before Width: | Height: | Size: 521 KiB After Width: | Height: | Size: 521 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part IV - HA storage & DB"
|
||||
title: "A beautiful GitOps day III - HA storage & DB"
|
||||
date: 2023-10-04
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "longhorn", "bitnami", "postgresql", "redis"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part IV** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part III** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Resilient storage with Longhorn
|
||||
|
||||
@ -807,4 +807,4 @@ It will generate 3 daily dumps, one every 8 hours, on the same primary db volume
|
||||
|
||||
## 3th check ✅
|
||||
|
||||
Persistence is now insured by Longhorn as main resilient storage. And we have production grade DB replicated cluster. It's finally now time to play with all of this by testing some [real world apps]({{< ref "/posts/13-build-your-own-kubernetes-cluster-part-4" >}}) with a proper CD solution.
|
||||
Persistence is now insured by Longhorn as main resilient storage. And we have production grade DB replicated cluster. It's finally now time to play with all of this by testing some [real world apps]({{< ref "/posts/14-a-beautiful-gitops-day-4" >}}) with a proper CD solution.
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 182 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part V - CD with Flux"
|
||||
title: "A beautiful GitOps day IV - CD with Flux"
|
||||
date: 2023-10-05
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "cd", "flux", "nocode", "n8n", "nocodb"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part V** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part IV** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Flux
|
||||
|
||||
@ -674,4 +674,4 @@ The final process is identical to n8n.
|
||||
|
||||
## 4th check ✅
|
||||
|
||||
We now have a functional continuous delivery with some nice no-code tools to play with ! The final missing stack for a production grade cluster is to install a complete monitoring stack, this is the [next part]({{< ref "/posts/15-build-your-own-kubernetes-cluster-part-6" >}}).
|
||||
We now have a functional continuous delivery with some nice no-code tools to play with ! The final missing stack for a production grade cluster is to install a complete monitoring stack, this is the [next part]({{< ref "/posts/15-a-beautiful-gitops-day-5" >}}).
|
Before Width: | Height: | Size: 372 KiB After Width: | Height: | Size: 372 KiB |
Before Width: | Height: | Size: 318 KiB After Width: | Height: | Size: 318 KiB |
Before Width: | Height: | Size: 319 KiB After Width: | Height: | Size: 319 KiB |
Before Width: | Height: | Size: 356 KiB After Width: | Height: | Size: 356 KiB |
Before Width: | Height: | Size: 644 KiB After Width: | Height: | Size: 644 KiB |
Before Width: | Height: | Size: 406 KiB After Width: | Height: | Size: 406 KiB |
Before Width: | Height: | Size: 449 KiB After Width: | Height: | Size: 449 KiB |
Before Width: | Height: | Size: 326 KiB After Width: | Height: | Size: 326 KiB |
Before Width: | Height: | Size: 303 KiB After Width: | Height: | Size: 303 KiB |
Before Width: | Height: | Size: 422 KiB After Width: | Height: | Size: 422 KiB |
Before Width: | Height: | Size: 336 KiB After Width: | Height: | Size: 336 KiB |
Before Width: | Height: | Size: 401 KiB After Width: | Height: | Size: 401 KiB |
Before Width: | Height: | Size: 308 KiB After Width: | Height: | Size: 308 KiB |
Before Width: | Height: | Size: 330 KiB After Width: | Height: | Size: 330 KiB |
Before Width: | Height: | Size: 434 KiB After Width: | Height: | Size: 434 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part VI - Monitoring and Logging Stack"
|
||||
title: "A beautiful GitOps day V - Monitoring and Logging Stack"
|
||||
date: 2023-10-06
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "monitoring", "logging", "prometheus", "loki", "grafana"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part VI** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part V** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Monitoring
|
||||
|
||||
@ -820,4 +820,4 @@ You can easily start from provisioned dashboard and customize it for using `helm
|
||||
|
||||
## 5th check ✅
|
||||
|
||||
We now have a full monitoring suite with performant logging collector ! What a pretty massive subject done. At this stage, you have a good starting point to run many apps on your cluster with high scalability and observability. We are done for the pure **operational** part. It's finally time to tackle the **building** part for a complete development stack. Go [next part]({{< ref "/posts/16-build-your-own-kubernetes-cluster-part-7" >}}) to begin with continuous integration.
|
||||
We now have a full monitoring suite with performant logging collector ! What a pretty massive subject done. At this stage, you have a good starting point to run many apps on your cluster with high scalability and observability. We are done for the pure **operational** part. It's finally time to tackle the **building** part for a complete development stack. Go [next part]({{< ref "/posts/16-a-beautiful-gitops-day-6" >}}) to begin with continuous integration.
|
Before Width: | Height: | Size: 328 KiB After Width: | Height: | Size: 328 KiB |
Before Width: | Height: | Size: 365 KiB After Width: | Height: | Size: 365 KiB |
Before Width: | Height: | Size: 223 KiB After Width: | Height: | Size: 223 KiB |
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 197 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part VII - CI tools"
|
||||
title: "A beautiful GitOps day VI - CI tools"
|
||||
date: 2023-10-07
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "ci", "gitea", "concourse"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part VII** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part VI** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Self-hosted VCS
|
||||
|
||||
@ -640,4 +640,4 @@ Then go to `https://concourse.kube.rocks` and log in with chosen credentials.
|
||||
|
||||
## 6th check ✅
|
||||
|
||||
We have everything we need for app building with automatic deployment ! Go [next part]({{< ref "/posts/17-build-your-own-kubernetes-cluster-part-8" >}}) for creating a complete CI/CD workflow !
|
||||
We have everything we need for app building with automatic deployment ! Go [next part]({{< ref "/posts/17-a-beautiful-gitops-day-7" >}}) for creating a complete CI/CD workflow !
|
Before Width: | Height: | Size: 363 KiB After Width: | Height: | Size: 363 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part VIII - Create a CI+CD workflow"
|
||||
title: "A beautiful GitOps day VII - Create a CI+CD workflow"
|
||||
date: 2023-10-08
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "ci", "cd", "concourse", "flux"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part VIII** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part VII** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Workflow
|
||||
|
||||
@ -568,4 +568,4 @@ Wait the pod to be updated, then check the new endpoint `https://demo.kube.rocks
|
||||
|
||||
## 7th check ✅
|
||||
|
||||
We have done for the set-up of our automated CI/CD workflow process. Go [next part]({{< ref "/posts/18-build-your-own-kubernetes-cluster-part-9" >}}) for going further with a real DB app that handle automatic migrations.
|
||||
We have done for the set-up of our automated CI/CD workflow process. Go [next part]({{< ref "/posts/18-a-beautiful-gitops-day-8" >}}) for going further with a real DB app that handle automatic migrations.
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part IX - Further deployment with DB"
|
||||
title: "A beautiful GitOps day VIII - Further deployment with DB"
|
||||
date: 2023-10-09
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "postgresql", "efcore"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part IX** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part VIII** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Real DB App sample
|
||||
|
||||
@ -651,4 +651,4 @@ Return to `https://demo.kube.rocks/Articles` to confirm articles are correctly r
|
||||
|
||||
## 8th check ✅
|
||||
|
||||
We now have a little more realistic app. Go [next part]({{< ref "/posts/19-build-your-own-kubernetes-cluster-part-10" >}}), we'll talk about further monitoring integration and tracing with OpenTelemetry.
|
||||
We now have a little more realistic app. Go [next part]({{< ref "/posts/19-a-beautiful-gitops-day-9" >}}), we'll talk about further monitoring integration and tracing with OpenTelemetry.
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part X - Monitoring & Tracing with OpenTelemetry"
|
||||
title: "A beautiful GitOps day IX - Monitoring & Tracing with OpenTelemetry"
|
||||
date: 2023-10-10
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "serilog", "metrics", "opentelemetry", "tracing", "tempo"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part X** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part IX** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Better logging
|
||||
|
||||
@ -488,4 +488,4 @@ This will give us the nice link button as soon as you you click a log detail:
|
||||
|
||||
## 9th check ✅
|
||||
|
||||
We have done for the basic functional telemetry ! There are infinite things to cover in this subject, but it's enough for this endless guide. Go [next part]({{< ref "/posts/20-build-your-own-kubernetes-cluster-part-11" >}}), we'll talk about feature testing, code metrics and code coverage.
|
||||
We have done for the basic functional telemetry ! There are infinite things to cover in this subject, but it's enough for this endless guide. Go [next part]({{< ref "/posts/20-a-beautiful-gitops-day-10" >}}), we'll talk about feature testing, code metrics and code coverage.
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 366 KiB After Width: | Height: | Size: 366 KiB |
Before Width: | Height: | Size: 349 KiB After Width: | Height: | Size: 349 KiB |
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 203 KiB |
Before Width: | Height: | Size: 328 KiB After Width: | Height: | Size: 328 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part XI - QA with testing & code metrics"
|
||||
title: "A beautiful GitOps day X - QA with testing & code metrics"
|
||||
date: 2023-10-11
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "testing", "sonarqube", "xunit", "coverage"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part XI** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part X** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Code Metrics
|
||||
|
||||
@ -748,4 +748,4 @@ Delete `WeatherForecastController.cs`.
|
||||
|
||||
## 10th check ✅
|
||||
|
||||
We have done for code quality process. Go to the [final part]({{< ref "/posts/21-build-your-own-kubernetes-cluster-part-12" >}}) with load testing, and some frontend !
|
||||
We have done for code quality process. Go to the [final part]({{< ref "/posts/21-a-beautiful-gitops-day-11" >}}) with load testing, and some frontend !
|
Before Width: | Height: | Size: 389 KiB After Width: | Height: | Size: 389 KiB |
Before Width: | Height: | Size: 227 KiB After Width: | Height: | Size: 227 KiB |
Before Width: | Height: | Size: 386 KiB After Width: | Height: | Size: 386 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 198 KiB |
Before Width: | Height: | Size: 404 KiB After Width: | Height: | Size: 404 KiB |
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Setup a HA Kubernetes cluster Part XII - Load testing & Frontend"
|
||||
title: "A beautiful GitOps day XI - Load testing & Frontend"
|
||||
date: 2023-10-12
|
||||
description: "Follow this opinionated guide as starter-kit for your own Kubernetes platform..."
|
||||
tags: ["kubernetes", "load-testing", "k6", "frontend", "vue", "typescript", "openapi"]
|
||||
@ -10,7 +10,7 @@ draft: true
|
||||
Be free from AWS/Azure/GCP by building a production grade On-Premise Kubernetes cluster on cheap VPS provider, fully GitOps managed, and with complete CI/CD tools 🎉
|
||||
{{< /lead >}}
|
||||
|
||||
This is the **Part XII** of more global topic tutorial. [Back to first part]({{< ref "/posts/10-build-your-own-kubernetes-cluster" >}}) for intro.
|
||||
This is the **Part XI** of more global topic tutorial. [Back to guide summary]({{< ref "/posts/10-a-beautiful-gitops-day" >}}) for intro.
|
||||
|
||||
## Load testing
|
||||
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |