Replies: 6 comments 23 replies
-
@Aubermean We would love to support this if implemented neatly. There have been others that were able to get something to work even before Hetzner merging in the new functionality. Please don't hesitate to tag them in, I'm sure they will appreciate the initiative. |
Beta Was this translation helpful? Give feedback.
-
I wanted to post a new discussion about this but maybe here is more appropriate. I have a working cluster that uses cilium. Now I'd like to join the servers equipped with GPUs to the cluster... vswitch? Wireguard? What options are there? Is using cilium with this requirements a good idea or am I shooting myself in the feet? |
Beta Was this translation helpful? Give feedback.
-
Take a look in my pull #1405 |
Beta Was this translation helpful? Give feedback.
-
Hijacking this discussion: I have a few very strong machines for free in Oracle Cloud and it would be great if I could reuse their compute power in my hetzner cluster. I saw the tutorial from k3s but I'm still quite new to this, is anyone willing to write some more detailed steps on how to achieve this (on an existing cluster, ideally, but willing to make a new one). Thank you! |
Beta Was this translation helpful? Give feedback.
-
I want to post an update to let you know how I achieved this setup (in production right now, works like a charm). Disclaimer: as soon as I had to understand the whole setup, I did not use the module of this project for setting things up, so feel free to remove my comment if you think it does not belong here. On the other side, I think it might be helpful for those that know k3s and this module better than me to consider integration. This is the list of things that you need to understand:
One note of the $control_endpoint: in my case that's an Haproxy in the tailnet that points to the control nodes for HA.
That's basically it. The most important thing to get right is IP assignment. You want your nodes to have only the internal-ip set, and that must be the tailscale one. The setup can be fully automated with terraform and cloud-init. Last thing: before connecting the cluster, ensure Tailscale is able to make direct connections between nodes or you'll shoot yourself in the feet 😇. |
Beta Was this translation helpful? Give feedback.
-
After reading through all recent topics related to adding dedicated server support and the new featured related to it in In hetznercloud/hcloud-cloud-controller-manager#561 support for automatically adding appropriate metadata to robot nodes in a cluster was added. While this simplifies a lot, more is needed to be able to connect robot servers to a cluster:
HCCM settingsThe following values result in a successful auto-detection and processing of HCCM of new robot nodes joining the cluster. Important:
networking:
enabled: true
robot:
enabled: true
args:
allocate-node-cidrs: "true"
cluster-cidr: "10.42.0.0/16"
env:
HCLOUD_LOAD_BALANCERS_ENABLED:
value: "true"
HCLOUD_LOAD_BALANCERS_LOCATION:
value: "fsn1"
HCLOUD_LOAD_BALANCERS_USE_PRIVATE_IP:
value: "true"
HCLOUD_LOAD_BALANCERS_DISABLE_PRIVATE_INGRESS:
value: "true"
HCLOUD_NETWORK_ROUTES_ENABLED:
value: "false"
HCLOUD_TOKEN:
valueFrom:
secretKeyRef:
name: hcloud
key: token
ROBOT_USER:
valueFrom:
secretKeyRef:
name: hcloud
key: robot-user
optional: true
ROBOT_PASSWORD:
valueFrom:
secretKeyRef:
name: hcloud
key: robot-password
optional: true With this, the cluster should continue working normally without any robot node having joined yet. Next, install the k3s-agent on the robot node with the same config of the other existing nodes:
"flannel-iface": "enp6s0"
"kubelet-arg":
- "cloud-provider=external"
- "volume-plugin-dir=/var/lib/kubelet/volumeplugins"
- "kube-reserved=cpu=50m,memory=300Mi,ephemeral-storage=1Gi"
- "system-reserved=cpu=250m,memory=6000Mi"
"node-label":
- "k3s_upgrade=true"
"node-taint": []
"selinux": true
"server": "https://$IP:6443"
"token": "$TOKEN" Before starting/installing the k3s-agent, ensure that you can ping other nodes in the cluster (including the API head nodes) using their internal IP, e.g. Last, here's an interface+routing config via
Details
Notes
|
Beta Was this translation helpful? Give feedback.
-
Since the issue discussing this is burried and hard to find, I thought I should open up a discussion here.
4 months ago Hetzner merged the features from the Syself fork into hcloud-cloud-controller-manager (HCCM), that allows management of dedicated/Robot servers alongside cloud ones. They released it in v1.19.0.
Hetzner say that many customers use clusters on hybrid cloud/dedicated, and it was their reason behind adding the feature. But this project does not currently have support. I don't have the depth of knowledge required to implement it, but I imagine that many seasoned k3s/hcloud people have, and maybe we can discuss the steps or work involved to implement the feature.
Beta Was this translation helpful? Give feedback.
All reactions