Error complains about wrong kubernetes version 1.20.0
malagant opened this issue · 4 comments
Plan: 24 to add, 0 to change, 0 to destroy.
╷
│ Error: chart requires kubeVersion: >= 1.21.0-0 which is incompatible with Kubernetes v1.20.0
│
│ with module.talos.data.helm_template.cilium_default[0],
│ on .terraform/modules/talos/manifest_cilium.tf line 1, in data "helm_template" "cilium_default":
│ 1: data "helm_template" "cilium_default" {
│
╵
I created a main.tf
file with the following content and did a terraform init
and terraform plan
with the following content:
module "talos" {
source = "hcloud-talos/talos/hcloud"
version = "2.8.3"
talos_version = "v1.7.5" # The version of talos features to use in generated machine configurations
hcloud_token = "BpP182jC8t1exhD0f9ZTS2V4HeuIQg0AwtLb2bke1exhD0f9ZTS2V4HeuIQG7qh65bHz9X7"
cluster_name = "heartcoded.io"
cluster_domain = "cluster.heartcoded.io.local"
cluster_api_host = "kube.heartcoded.io"
# If true, the current IP address will be used as the source for the firewall rules.
# ATTENTION: to determine the current IP, a request to a public service (https://ipv4.icanhazip.com) is made.
firewall_use_current_ip = false
datacenter_name = "fsn1-dc14"
kubernetes_version = "1.29.7"
control_plane_count = 3
control_plane_server_type = "cax11"
worker_count = 3
worker_server_type = "cax21"
}
I changed the token for opening this issue ;)
Any hint for me where this error might come from?
I'm not on the PC at the moment so I can't analyze it. I will be back next week. But I could imagine that it is related to cilium versions conflict.
That's something I need to take a closer look at anyway... The latest kubernetes version requires cilium 1.16.0.
It is possible to customize the cilium version via parameter.
Adding the following no longer throws the error:
module "talos" {
...
cilium_version = "1.15.7"
}
The problem is:
In this module cilium is used with the latest
version. This is not a good idea, because an error like this can occur.
Version 1.16.0
was recently released and is not compatible with k8s 1.29.7
.
Cilium must always be used in combination with a suitable Kubernetes version: https://docs.cilium.io/en/stable/network/kubernetes/compatibility/
Follow up tasks:
- Change from latest to explicit cilium version
- Add note on compatibility of k8s and cilium in documentation
I was wrong: It is not directly because of cilium... but it seems that in version 1.16.0
a new check of helm
is used. I can't say exactly how it works, but there is the possibility to specify a kubernetes version in the terraform resource helm_template
. This solves the problem. I make sure that from now on a default value is always set in the version.
🎉 This issue has been resolved in version 2.8.10 🎉
The release is available on GitHub release
Your semantic-release bot 📦🚀