I have 4 local ubuntu servers with 8GB RAM each that I'm attempting to setup a kubernetes cluster on. But if I conjure-up kubernetes from the first server and choose local, it appears to be trying to install everything on that one server (and probably running out of RAM. How do I conjure-up kubernetes on multiple servers?
The localhost cloud type in Conjure-Up will install all the units in LXD containers locally on the host you run conjure-up on. This is one of the easiest ways to install Kubernetes with Conjure-Up but you do need a server that's powerful enough to run all these containers.
If you want to install Kubernetes with Conjure-Up on multiple servers (bare metal deployment), you should look at the MAAS cloud type. Refer to the MAAS documentation for configuration instructions.
Once you have MAAS running, you'll be able to point Conjure-Up to your MAAS cloud and install Kubernetes on the servers. But looking at the The Canonical Distribution Of Kubernetes Juju bundle, it looks like you'll need at least 10 machines to deploy CDK on MAAS.
The Kubernetes Core bundle deploys less units. It looks like it would run on 4 machines.
You could also tweak the Juju charm bundles to deploy in LXD containers on your servers instead of directly on the physical servers but that is probably outside the scope of this question.
One other thing you can do if you just want to get started with Kubernetes is look at microk8s. microk8s is:
- Fast and Secure upstream Kubernetes
- Designed for developing Kubernetes Workloads locally
- Get a full Upstream Kubernetes system running in under 60 seconds