This message was deleted.
# rancher-desktop
a
This message was deleted.
b
So at an extremely high level it's asking "what app do you want to use to manage your containers". Docker is the original "container runtime application" and is still widely used by developers today. Its engine (or core of the app) is called dockerd. docker is run by a private for-profit company and the CNCF (cloud native computing foundation) which is the "owner" of kubernetes has the aim of making kubernetes accessible and not locked to a specific vendor. dockerd (the core of docker) is open source so they made a fork (an alternative version based on) of dockerd. Kubernetes has mostly migrated the container runtime app from docker to containerd. So it's definitely more compatible to use containerd but a couple companies (like SUSE Rancher) support using docker if your team still needs it. So if you don't have a need for docker containerd would probably be the best choice. To make things more confusing dockerd is the engine of the app "docker" which you can manage with the docker cli application. Containerd is also just an engine and still needs a tool to interact with it and since it's focus is being as neutral as possible there are many apps to "control" containerd such as crictl and nerdctl. Hopefully this help clear some confusion
q
perfectly, thank you so much
w
FYI Rancher Desktop is not Rancher. I say this because you say you have K3s running on two Pis. Whilst you could use Rancher Desktop to host Rancher it's the latter you need not RD
☝️ 1
q
πŸ˜… back to square one
b
Also, I want to note that since you are saying you have 2 pis: K3s supports multiple datastores and if you use an external database. Such as MySQL this won't be a problem. But if you use the inbuild database for kubernetes called etcd you want an odd number of master servers: https://docs.k3s.io/installation/ha-embedded#new-cluster
To run K3s in this mode, you must have an odd number of server nodes. We recommend starting with three nodes
This is because etcd does a process called
leader-election
so the servers need a
quorum
. You can see the HA matrix and more info from the etcd docs: https://etcd.io/docs/v3.5/faq/#why-an-odd-number-of-cluster-members This was a large area of confusion for me when I started out so hopefully this will save you some trouble.
🀯 1
q
Could this be done using rancher in vm on my laptop and then the 2 Pis? Or I should get a 3rd Pi And if this would work with the first option, will it still work when I turn off my laptop? If I should get the 3rd Pi, will this work when I use rancher from VM on my laptop? πŸ˜΅β€πŸ’« πŸ˜΅β€πŸ’« πŸ˜΅β€πŸ’«
Sorry, I still don't fully understand what rancher is doing. One guide said it also acts as a node
b
No need to apologize, it can get confusing and there is a lot of confusing information online. But at its core Rancher is an app you install on top of a kubernetes cluster using a helm chart. Rancher is an app that manages other kubernetes clusters. There are a lot of prepackaged all-in-one rancher install solutions like the Docker install but we do not typically recommend this set up for more than a quick demo/testing due to the lack of flexibility of this approach. Normally we recommend installing Rancher using the Helm Method on a new Kubernetes cluster.
Could this be done using rancher in vm on my laptop and then the 2 Pis? Or I should get a 3rd Pi
The issue with doing it this way is your laptop have a very different CPU then a raspberry pi and Kubernetes doesn't support this layout very well. it would be much better (and save you a big headache) to just get another pi. But also, a word of note is that you can totally do a non-HA install of k3s on a single raspberry pi that you can install Rancher and use the other pi as another 'downstream cluster' for rancher to manage (but only do this if you are just playing learning, if it's production critical make sure your set up is Highly Available.
❀️ 1
I would make sure all of your server nodes are on the same LAN too. etcd is very sensitive to latency and if the nodes are not able to sync with each other you can run into an issue called split-brain which can cause a lot of data constancy issues between the master nodes.
🀯 1
q
So for non-HA, I don't have to work about the even/odd database thing for now but when I expand the system, I still have to add 2 each time to keep it odd from then on? I still follow the Helm Method?
b
So for non-HA, I don't have to work about the even/odd database thing for now
correct! 1 is an odd number πŸ™‚
but when I expand the system, I still have to add 2 each time to keep it odd from then on?
yes but at a certain point its not worth adding more master modes, you shouldn't need more than 3 master nodes for most setups. cons outweigh the pros at 5 or 7 because the additional network traffic from all the syncing can really bring things too a crawl on a typical network. I want to not that this odd node requirement is ONLY for the master nodes since etcd typically only runs on master nodes. if you add worker nodes - you can have any number of those as you want.
πŸ€” 1
I still follow the Helm Method?
I would highly recommend it.
πŸ™ 1
I think it helps to to clear up some terminology here as Rancher has its own terms that can add some confusion: Rancher Terms:
RMC/Rancher Management cluster
- the cluster that runs Rancher as an app inside. it's purpose is to manage all other kubernetes clusters that run your actual application workloads. We call your application specific clusters:
Downstream clusters
- your application clusters. These are connected to and managed by rancher but you will run your applications on them. Kubernetes Terms:
master/control-plane
- the server(s) that run core kubernetes functions specifically the API server which is the glue that holds it all together and is what responds to your kubectl commands
etcd
- a database used to store kubernetes data like your application deployment manifests. This database typically is run on the master nodes.
Worker Nodes
- Nodes to run none kubernetes workloads such as your applications and even Rancher itself will run on worker nodes. When you do a single node install you are giving that one pi ALL of the kubernetes roles such as master, etcd and worker.
πŸ™ 1