Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HA K8s Docs #392

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

HA K8s Docs #392

wants to merge 7 commits into from

Conversation

reavessm
Copy link

Documentation for running a highly available kubernetes cluster

This doc runs through a complex example using the kubernetes sysext. It involves multiple kubernetes configurations like swapping container runtimes and CNIs, as well as more advanced ignition configurations like running static pods via Quadlet and creating a hierarchy of configs. This also demonstrates how to use a make file to spin up multiple distinct flatcar VMs in a controlled manner.

This doc may need to be updated once flatcar/sysext-bakery#114 gets merged.

Also, this is my first time writing technical documentation of this nature so please feel free to critique this technically, grammatically, or in any other manner I may have missed.

Signed-off-by: Stephen Reaves <[email protected]>
Signed-off-by: Stephen Reaves <[email protected]>
Copy link
Collaborator

@tormath1 tormath1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for documenting this setup - I left some comments but it globally looks really good.

Thanks @tormath1 !

Signed-off-by: Stephen Reaves <[email protected]>
Signed-off-by: Stephen Reaves <[email protected]>
Copy link
Collaborator

@tormath1 tormath1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran the tutorial until the Ignition generation and it went fine. I think it's worth to mention again Typhoon project: https://github.com/poseidon/typhoon for folks into Terraform deployments.

Signed-off-by: Stephen Reaves <[email protected]>
Signed-off-by: Stephen Reaves <[email protected]>

### Control Plane

Each control plane node will be responsible for running the regular Kubernetes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, great documentation, I am sure it will be extremely helpful for people who want to know what happening under the hood.

One question, kube-vip or metallb/cilium is usually the preferred way to have HA deployments. Any reason in particular for having HAProxy and KeepAlived?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I hope so!

Yes and no. It's mostly for educational purposes because I haven't seen a lot of documentation on running podman/quadlet with k8s. On the technical side of things, as far as I understand it, Cilium does kind of overlap with metallb with it's L2 aware stuff that's currently in beta, so this doc only installs the stuff that Cilium can't do. Also, it is documented in the kubeadm docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants