From 6f5579da1ad76460999d7a8b0a8ee171c1dd24fc Mon Sep 17 00:00:00 2001 From: Adrien Beaudouin Date: Sun, 4 Sep 2022 18:02:38 +0200 Subject: [PATCH] kube --- .../index.md | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/content/posts/10-build-your-kubernetes-cluster-part-i/index.md b/content/posts/10-build-your-kubernetes-cluster-part-i/index.md index 011906f..6a740ae 100644 --- a/content/posts/10-build-your-kubernetes-cluster-part-i/index.md +++ b/content/posts/10-build-your-kubernetes-cluster-part-i/index.md @@ -12,17 +12,37 @@ Build your self-hosted Kubernetes cluster and be free from any SaaS solutions by ## For who -This guide is mainly intended for any developers that want a HA ready Kubernetes cluster that respect following conditions : +This guide is mainly intended for any developers or some SRE who want a Kubernetes cluster that respect following conditions : -1. Completely bare-metal and self-hosted, with some GitOps way steps -2. Free from any big cloud providers (AWS, GCP, Azure) which offers managed Kubernetes -3. Not too much expensive (targeting less than $50). For that Hetzner will be my preferred choice ! +1. Free from any big cloud providers (AWS, GCP, Azure) which offers managed Kubernetes +2. Completely bare-metal and self-hosted, with some GitOps way steps +3. High availability with cloud Load Balancer +4. Not too much expensive (targeting between $30 and $50 depending on your needs). -I will not risk saying that it's production ready, but it's a good start to build your own Kubernetes platform and quick learning all his ecosystem. +I will not risk saying that it's production ready, but I think it's at least a very good way to build your own bare-metal Kubernetes platform and quick learning all his ecosystem with practice. -{{< alert >}} -[Docker Swarm]({{< ref "/posts/02-build-your-own-docker-swarm-cluster" >}}) -{{< /alert >}} +### You may don't need Kubernetes + +If you prefer to stay away of all overwhelming Kubernetes features, but always interested in a very simple self-hosted orchestration platform, keep in mind that **Docker Swarm** is probably the best solution for you. It should be always supported as long as Docker CE live, as it's built in into the Docker Engine, and it's far easier and cheaper to maintain it than K8S. + +I wrote a [complete dedicated guide here]({{< ref "/posts/02-build-your-own-docker-swarm-cluster" >}}) that explains all steps in order to have a production grade Swarm cluster. + +### Cloud provider choice + +As a HA Kubernetes cluster can be quickly expensive, a good cloud provider is an essential part. + +After testing Digital Ocean, Vultr, Linode, Civo (which is completly optimized for Kubernetes), OVH, Scaleway, it becomes very clear that nothing can really compete with Hetzner in terms of QoS for that price **in my opinion** : + +* Very competitive price for middle-range performance (plan only around **$6** for 2CPU/4GB for each node) +* Cloud Load Balancer, VPC and Firewall support, so no need to reinvent the wheel for these cases +* Very good UI, and with dark mode support which of course absolutely mandatory for my taste +* Perfect CLI tool +* cert-manager [DSN01 challenge support](https://github.com/vadimkim/cert-manager-webhook-hetzner) (but not official) +* Official [Terraform support](https://registry.terraform.io/providers/hetznercloud/hcloud/latest), so GitOps ready + +Please let me know in below comments if you have other better suggestions ! + +### Requirements ## Final goal 🎯