Hi. I have a single node RKE2 cluster. I would li...
# general
n
Hi. I have a single node RKE2 cluster. I would like to have a static container running on the master node, that - for example - provides an emergency web ui where I can run a script (... rke2 server --cluster-reset) on the server by pressing a button. Calling shell scripts instead of using a web ui is not possible for my use case. I don't want to use RKE2 for that (also no static pods), because RKE2 could break and "rke2 server --cluster-reset" is stopping all containers and also containerd and therefore RKE2. Is it even possible to do that? e.g. Podman and RKE2 running in parallel? Or a simpler method?
n
is there a reason not running the web without a container for such reason?
n
I also thought about that. Having it running in a container would make updates easier in my opinion. (thanks for your quick answer 🙂 !).
n
maybe the emergency tool should be as simple as possible. however, you should be able to run container directly with containerd (crictl e.g.,) but still, it would share the master containerd with rke. on the other hand, I run rke2 cluster for like 4 years over 44 fat nodes with 600 users and never needed something like you said.
n
I want to change the IP of the master node by ... • Changing IP address of node • systemctl stop rke2-server • rke2-killall.sh • rke2 server --cluster-reset • systemctl restart rke2-server IP Address might be changed by users. -> Edge Device
It works with a script.
n
I think you cannot change node ip address in k8s. You need to remove the node and put it back
n
Maybe "emergency ui" is not the proper name for what I plan to do.
c
Have you considered just using sqlite instead of etcd? That way you don't need to worry about doing a cluster reset if the address changes.
You can't migrate from etcd to sqlite, but you can just start a single server with
disable-etcd: true
n
Hi Brandond. Sounds interesting. What would the procedure of IP change look like in that case?
c
Before etcd is initialized. Like I said don't try to switch after etcd is already in use.
Nothing. Just restart the service so that the kubelet picks up the new address
n
And all that k8s certificate stuff?
c
Although better than all of this would be to use a dummy interface with a static IP so that the IP doesn't change even if one of the interfaces gets a new address.
n
Wow. Thanks for that idea. And RKE2 is creating all k8s certificates automatically if I dont use an ETCD db ?
Ah ok. Dummy Interface has nothing to do with ETCD. It just provides a stable IP address that always will be included in the certs.
Thanks @creamy-pencil-82913 and @narrow-guitar-87575 for your ideas!
n
if it is meant to be the rke server ip then this is the way. common approach is to use floating ip among several servers via kube-vip or something.
👍 1