K8s NodeSetLet a Kubernetes cluster manage its worker nodes by
itself
Company: Loodse GmbH
Focus: Container and Cloud Native technologies
Product: Kubermatic
Headquarter: Hamburg, Germany
Partner: Google Cloud Platform Partner
Member of CNCF and Linux Foundation
Loodse
Node Deployment Solution
Current approach
• Needs Ops to scale the cluster
• No generic approach
• Each implementation needs
specific knowledge
• Scaling of new nodes needs
external dependencies
• No generic node auto scaling
• Huge effort to deploy k8s on a
different platform
Node Node Node
Master
Node
PersistentVolumes
A higher-level storage abstraction
• insulation from any one cloud environment
Admin provisions them, users claim them
Independent lifetime from their consumers
Dynamically “scheduled” and managed
Pod
Claim
Native integration
• Dev can scale the cluster
• Pets vs cattle for nodes
• Implementation of generic auto
scaling possible
• Very similar setup for different
provider
kubectl create nodes
Node Node Node
Master
Node
Nodes
Current node lifecycle
• Event executed -> node resource get’s created
General k8s resource lifecycle
• Resource get’s created -> event executed
Node manifest
Show manifest in IDE
NodeController
Watch for new Node resources
Provision the machine at the cloud provider
• Machine joins the cluster
• Kubelet updates the Node resource
Deletes the machine at the cloud provider
Node
Resources
NodeClass
Cloudprovider & OS specific details
Spec
• Cloudprovider credentials
• Machine type (e.g. t2.medium)
• Provisioning
• Files e.g systemd unit, ssh keys
• ssh commands
Node
Resources
Class
NodeClass manifest
Node
Resources
Class
Show manifest in IDE
NodeSet
Group of similar nodes
Integration with node autoscaler
Spec:
• Replicas -> number of nodes
• NodeController
• NodeClass Node
Res
Class
Node
Res
Node
Res
NodeSet manifest
Node
Res
Class
Node
Res
Node
Res
Show manifest in IDE
NodeSetController
Node
Res
Class
Node
Res
Node
Res
Create and delete node resources
Makes sure
• Number of nodes == nodeset.replicas
DEMO
TIME
“Praise the demo gods” - Kelsey Hightower
Thanks to the maintainer of the K8s NodeSet
â—Ź Russell Wu
â—Ź Ivan Diao
â—Ź Stefan Schimanski
â—Ź Henrik Schmidt
https://github.com/kube-node
END
We are hiring!
Hamburg, Berlin, San Francisco, …
Homepage: www.loodse.com
Twitter: @Loodse
Any questions?

k8s NodeSet