Looking for help testing v2.0.0 #385
Replies: 7 comments 19 replies
-
Hello, good morning and happy Wednesday! |
Beta Was this translation helpful? Give feedback.
-
Hi, thanks for the effort on this project! I saw this discussion so I thought I would gave a try running our company cluster (a real small one that just has Gitlab runners) and noticed a couple of issues (note this is not an upgrade, I created it from scratch):
Label error:
Taint error:
Here is my config, which I think is valid:
I've another issue but I'm not 100% if it's related to this project so I didn't include it for now. Let me know if you need other information, cheers! (Edit: should I open an issue instead of posting here directly?) |
Beta Was this translation helpful? Give feedback.
-
@vitobotta OK, I finally got some time to do some tests. I used the rc2 binary from the GitHub releases. Small thing: The instructions are missing the info that I had to manually assign the master server to the existing network (while the tool waited for instance to be up in a loop). It then completed. Interestingly, the autoscaled instances ( I then changed the config and had the pool not autoscaled. ( Also, side ask: How about a conversion command for the tool to convert old cluster_config to the new format. It was quite cumbersome to migrate to the new version. The two new required defaults (enable private network and instance naming) can be done by the conversion as well. WDYT? Here's my config: cluster_name: seiyuu
k3s_version: v1.30.2+k3s2
networking:
ssh:
public_key_path: "/root/.ssh/id_rsa.pub"
private_key_path: "/root/.ssh/id_rsa"
use_agent: false
allowed_networks:
ssh:
- 0.0.0.0/0
- ::/0
api:
- 0.0.0.0/0
- ::/0
private_network:
enabled: true
existing_network_name: seiyuu
subnet: 10.63.0.0/16
public_network:
ipv4: false
ipv6: false
cni:
enabled: true
encryption: true
cluster_cidr: 10.244.0.0/16
service_cidr: 10.43.0.0/16
include_instance_type_in_instance_name: true
schedule_workloads_on_masters: false
manifests:
cloud_controller_manager_manifest_url: "https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/download/v1.20.0/ccm-networks.yaml"
csi_driver_manifest_url: "https://raw.githubusercontent.com/hetznercloud/csi-driver/v2.8.0/deploy/kubernetes/hcloud-csi.yml"
system_upgrade_controller_manifest_url: "https://raw.githubusercontent.com/rancher/system-upgrade-controller/master/manifests/system-upgrade-controller.yaml"
image: debian-12
autoscaling_image: debian-12
masters_pool:
instance_type: cax11
instance_count: 1
location: fsn1
worker_node_pools:
- name: cax11-autoscale-1
instance_type: cax11
instance_count: 1
location: fsn1
autoscaling:
enabled: true
min_instances: 0
max_instances: 3
post_create_commands:
- timedatectl set-timezone Europe/Berlin
- ip route add default via 10.63.0.1
- ip route add 169.254.0.0/16 via 172.31.1.1
- rm -f /etc/resolv.conf
- echo 'nameserver 185.12.64.1' >> /etc/resolv.conf
- echo 'nameserver 185.12.64.2' >> /etc/resolv.conf
- echo 'edns edns0 trust-ad' >> /etc/resolv.conf
- echo 'search .' >> /etc/resolv.conf
- mkdir -p /etc/network/interfaces.d
- echo "auto enp7s0" > /etc/network/interfaces.d/enp7s0
- echo "iface enp7s0 inet dhcp" >> /etc/network/interfaces.d/enp7s0
- echo " post-up ip route add default via 10.63.0.1" >> /etc/network/interfaces.d/enp7s0
- echo " post-up ip route add 169.254.169.254 via 172.31.1.1" >> /etc/network/interfaces.d/enp7s0
- apt update
- apt upgrade -y
- apt autoremove -y
- apt install -y apparmor apparmor-utils
and some log output:
|
Beta Was this translation helpful? Give feedback.
-
I've done a round of testing, and here is what I found:
I'll do more testing later this week (in particular, I plan to test upgrades from v1 to v2 on a live cluster). Also (let me know if you'd like me to open a separate issue for this): on my clusters, I use ZFS local PV, which requires a separate block device or partition to create the ZFS pool. To make that work with hetzner-k3s, I've built a custom version of hetzner-k3s where the cloud init YAML template is patched to disable Thanks! |
Beta Was this translation helpful? Give feedback.
-
I'm getting an error while running
Config:
|
Beta Was this translation helpful? Give feedback.
-
I tested v2.0.0.rc4 with
FYI Letsencrypt/certificate manager, is not working for me in 1.15 as well, so maybe not related. |
Beta Was this translation helpful? Give feedback.
-
If you are available to help test the RC1 of v2.0.0 when ready, please let me know in a comment below. Thanks
See new README split into multiple pages at https://github.com/vitobotta/hetzner-k3s/blob/more-refactoring/README.md.
The binaries can be downloaded here: https://github.com/vitobotta/hetzner-k3s/releases/tag/v2.0.0.rc1.
I need help testing as many scenarios as possible, i.e. with flannel or cilium, private network enabled or disabled, with or without encryption, with embedded etcd or external datastore, with the embedded registry mirror enabled, and of course it would be nice if you could help testing upgrading clusters created with a previous version of the tool (do not upgrade a production cluster of course). The changes are many so the more scenarios you can help me cover, the better. Thanks in advance!
Here's what will be the release notes once v2 is finalized:
New
Improvements
Fixes
Upgrading from v1.1.5
Important: Read these upgrade notes carefully and test the upgrade with a test cluster first, if possible.
Before upgrading:
/etc/k8s-resolv.conf
on ALL instances (both masters and workers); the file should include a single line:nameserver 8.8.8.8
use_ssh_agent
from the root of the config file toFollow the same pattern for these settings:
networking.private_network.enabled
totrue
as all existing clusters were using a private network while the new default isfalse
to allow creating larger clusters more easilyinclude_instance_type_in_instance_name
totrue
; this is because historically the instance type was included in the names of the instances, causing confusion when changing instance type from the Hetzner console. Since clusters created prior to v2 used that old naming scheme, this new setting must be set totrue
to preserve that behavior with v2.Contributing:
If you are a Visual Studio Code user and would like to contribute to the project, you can now more easily work on it by using a dev container with Code. Crystal and all the other dependencies are already included in the container. See docs for more details.
Beta Was this translation helpful? Give feedback.
All reactions