SUSE CaaS Platform Setup – From Nothing to Everything in 1 Hour
Hello fellow Pioneers!
I recently did a 30 minute Webinar on the soon-to-be-released SUSE CaaS Platform. During this Webinar I set myself a little challenge:
For anyone with experience with Kubernetes they’ll know that this is no small ask! – Kubernetes is known for being a complex infrastructure tool to set up and this is one of the primary reasons SUSE decided to release a product based on it. Doing one of the things we do best – making your life easier – and applying it to Kubernetes.
Long story short I was successful *cheers*.
But in order to get the demo down to 20 minutes I had to skip some of the boring parts. This was mainly creating the VMs and installing our new made-for-containers operating system MicroOS. I didn’t see much value in the attendees spending 15 minutes watching RPMs install so I didn’t show it.
But based on feedback obtained from that webinar we learnt that people did want to see the full end-to-end process regardless of how boring the bits at the start are. They also wanted the resources I used made public so that they can use it themselves.
So that’s what I’ve done. In the YouTube video below I’ll take you from having 12 blank VMs with nothing on them to having a full working Kubernetes cluster along with deploying an example microservices based app. On top of that I’ll show you how you can monitor and obtain logging metrics on both the underlying Kubernetes resources and the demo app running on top.
This video is great to follow if you’ve just downloaded the SUSE CaaS Platform Public Beta and want to give it a try. In this video I show both the ISO method of deployment as PXE booting the deployment (optional).
What do I need?
To get started you just need 5 things:
1) The CaaS Platform ISO Image – available from here
2) Some blank VM’s created or empty physical hosts that you don’t mind being wiped ready. In the demo I had 12 in total (1 Admin, 1 Master and 10 Worker nodes) but you can change this to suit your needs
3) Know how you’re going to resolve the DNS and Admin node addresses. Personally I chose to give them both static leases and put those leases into DNS. But all we require is that the machines that are going to access the cluster (both other nodes and your workstation) can resolve the address of the admin node and master node to the correct IPs. I talk a lot about this in more detail during the video so don’t worry if this sounds confusing it will make sense as you go along. I personally call mine caaspadmin.home.rob-knight.com and master.home.rob-knight.com and have DNS resolve to the IPs of the respective VMs
4) Know either your internal NTP source OR an external one (such as time.google.com) as you’ll be asked for this during the administration node install
5) Checkout or download as a ZIP file the files I used at https://github.com/rssfed23/caas-examples. It’s worth noting that although these files are open sourced and you can use the “upstream” ones available in the Kubernetes and Sock-Shop repos BUT I have made some small modifications to the manifests to allow them to work on the version of Kubernetes we will be deploying. Without these changes monitoring through Grafana will not work so I recommend you use the ones from my github until V2 of CaaS Platform is out
What about Sizing?
One of the questions I get often is around machine/node sizing. We will be publishing our official recommendation and supported minimums soon but for now I can say for the Administration and Master nodes I gave them 2 x CPUs on 2 sockets each (so 4 vCpus in total) and 6GB of RAM and they’re still performing quite well after the weekend. For larger cluster you will of course need more RAM & CPU and if you’re only deploying a 5 worker node cluster you can get away with 1vCPU and 4GB RAM. Although you can deploy a 2-3 node cluster we strongly advise against it as it means your etcd instance won’t be fault-tolerant and you may not have enough free RAM on the worker nodes to deploy the full demo workload stack used in the demo.
For the worker nodes I gave them 2 vCPUs on 1 socket (so 2 vCPUs total) and again; 6GB of RAM.
The video was recorded in 4k so I recommend you maximise the window to be able to see everything on the screen correctly.
Please do let me know in the comments how you get on or if you need any assistance.
But first and foremost: Have a lot of fun!