Enabling multi-node support in kind and introducing actions creates the need of knowing not only the "cluster spec", but also the "cluster status" because e.g.
The need of having a form of "cluster status" is even more relevant for enabling the execution of actions deferred from the cluster creation (like e.g. kubeadm upgrade, see https://github.com/kubernetes-sigs/kind/issues/131).
In terms of possible approaches to the implementation, possible solutions are:
opinions?
/assign
+1 for
use container filesystem (already in use e.g. for KubeVersion)
+1 for 2):
1) the host is something we have less control over and want to avoid leaving anything behind on if we can
2) we use 2) for tracking pretty much everything else related to the node except for 3)
3) I don't think anything suitable exists for 3), labels, ports etc are all at container creation time.
@BenTheElder @neolit123 quick update after some progress on multi-node
There is two type of info which should be part of status.
docker inspect (instead of extending config)current working is to get runtime info from docker inspect (instead of extending config)
we might have to extend the config actually. kind has plans to be non-docker centric and i have no idea what is the state of other CRIs for the same use case.
config: node role and control plane hooks should be available after create
current save config.Node into nodes (use container filesystem)
so i wonder what file format are we going to save to the FS?
@neolit123 @neolit123 Considering how multi-node shaped out I think we can greatly simplify this:
So only 1. is missing; rif PR https://github.com/kubernetes-sigs/kind/pull/248
thanks! :-)
Most helpful comment
@neolit123 @neolit123 Considering how multi-node shaped out I think we can greatly simplify this:
So only 1. is missing; rif PR https://github.com/kubernetes-sigs/kind/pull/248