-
Notifications
You must be signed in to change notification settings - Fork 27
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
What services are running in HA control-plane nodes #6
Comments
Hi, originally I was trying to repeat GKE on-prem architecture: First you need to bring your Master Kubernetes cluster or Admin cluster which consists of three control-plane nodes. And they are also running containerized control-plane for the User defined clusters (child clusters).
Yes they are
Etcd the only storage consumer. Etcd enables HA on application layer, so you don't need any high-available storage for that. I suggest using local-path-provisioner as the most simplest solution |
Hi, Things are getting clearer now. There's just this follow-up question regarding NFS / Netboot Servers. In my homelab this Admin cluster is built on three Raspi4 nodes, each with 4GB RAM and a SSD connected. |
NFS is not used as whole rootfs-image is loaded directly into RAM. This image is given by LTSP-server which is separate for each user cluster
Not checked that yet, but I guess you'd need to rebuild everything for ARM |
Understood... no NFS server but LTSP. Actually LTSP includes several services, e.g. DNS, TFTP, NFS, etc. But LTSP requires a storage for the images that the clients are booting. |
The root-fs image is build using Dockerfile, so rootfs-image for booting is part of LTSP-server image. Of course you can run it in multiple replicas |
And what is your (original) software design to store this root-fs-image? |
@Kvasp have you got an docker compose of the services needed in order to get node up ? |
It was intended that you can use standard tools like kubeadm and kube-spray to bootstrap Kubernetes cluster. All the needed components can be installed in HA inside it. |
Would you have any idea, why would I get menu, then when It want's to load the vmlinuz from nginx (inside the docker) It fails. Nginx logs only show that it partialy downloaded the file, while curl works. (and to me it seams it timeouts) eg: `192.168.42.133 - - [29/Apr/2022:13:07:10 +0000] "GET /ltsp/x86_64/vmlinuz HTTP/1.1" 200 13668608 "-" "curl/7.68.0" 192.168.42.151 - - [29/Apr/2022:13:10:27 +0000] "GET /ltsp/x86_64/vmlinuz HTTP/1.1" 200 155170 "-" "GRUB 2.04-1ubuntu44.2" 192.168.42.151 - - [29/Apr/2022:13:12:39 +0000] "GET /ltsp/x86_64/vmlinuz HTTP/1.1" 200 128906 "-" "GRUB 2.04-1ubuntu44.2" 192.168.42.151 - - [29/Apr/2022:13:18:18 +0000] "GET /ltsp/x86_64/vmlinuz HTTP/1.1" 200 117650 "-" "GRUB 2.04-1ubuntu44.2" 192.168.42.151 - - [29/Apr/2022:13:22:12 +0000] "GET /ltsp/x86_64/vmlinuz HTTP/1.1" 200 53866 "-" "GRUB 2.04-1ubuntu44.2"` |
Unfortunately I have no idea. Do you use your own DHCP Server? |
So what I did is I ran the docker twice: Once for dnsmasq-tftp + dnsmasq-dchp (with data from dhcp-controller) + images, and once for the nginx serving. I took the configuration files from kubernetes deployment. (/etc/ltsp/ and /etc/dnsmasq.d) docker was build from https://github.com/kvaps/kubefarm/blob/master/build/ltsp/Dockerfile. dnsmasq-dhcp returns the ip:
then dnsmasq-tftp serves files
Menu opens and then the request comes to nginx where only partial vmlinuz is downloaded - but If I curl the url (which is also printed in the grub.cfg) I get it.
If I just use the /etc/ltsp and create a default ltsp with nfs and dnsmasq - the node boot's up and joins the cluster. But the root is mounted via nfs .. |
Ah got it. Did you run these comands to regenrate ltsp initrd image and grub config? |
Yes i did. I now tried it on "real" server - not on virtual on my computer and it works .. So I guess all along there's something with my vmware setup that's causing this. |
Hi,
I want to rebuild your solution in my homelab.
However I don't fully understand the architecture.
First, I would ask you to clarify the different terms:
For a PXE bootable server I would need
Are these services deployed on the HA control-plane nodes?
And what storage type is used?
Is it local storage, means any control-plane node offers a NFS service?
Or is it storage cluster, means all storage attached to the control-plane nodes is serving this cluster storage?
Regards
Thomas
The text was updated successfully, but these errors were encountered: