-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade Issue with Kubernetes Fury Distribution (KFD) #354
Comments
Hello @syamprasadchitluri I'm sorry you are having issues with KFD, let's see if we can figure out what is going on. Error 1 I think you might be confusing KFD version and Kubernetes version, they are not the same. From what you shared I guess that your cluster was on KFD 1.29.1 that installs Kubernetes 1.29.3 You can read more on the versioning in the docs: https://docs.kubernetesfury.com/docs/core-concepts/versioning So, you should have upgraded to one of the supported upgrade paths from 1.29.1: ❯ furyctl get upgrade-paths --from 1.29.1 --kind OnPremises
INFO Available upgrade paths for version 1.29.1 of kind OnPremises are: 1.29.2 That is, KFD 1.29.2 (that still uses Kubernetes 1.29.3) Can you please confirm which versions where you using in the furyctl.yaml file before and after upgrade? Error 2 For this error what is happening is that something (the "Go-http-client") has modified resources in the cluster that are managed by furyctl, so when furyctl tries to server-side apply changes to them it finds a conflict and stops. Unfortunately, the error we get from the API server that we pass to the user (you in this case) is not very clear on which are the resources that have conflicts. From the information you shared it seems that there is on resource where the following fields have been modified by "Go-http-client":
And another resource where the following fields have been modified:
Seems like some RBAC definition has been changed. If you can share the logs from the failed applied and the furyctl.yaml file we can help you identify which resources are the ones failing. Unfortunately, furyctl does not allow to pass the Starting from KFD 1.31.0 we changed the way we apply the distribution phase and this issue should not be present any more. |
Hello @ralgozino, Thank you for the response and helpful information. Regarding the first error, is there a way to check the KFD version that is installed in the cluster? I tried upgrading the KFD to 1.29.2 based on your recommendation, but I am still encountering the second error. For the second error, I have provided the
Please let me know if you need any additional information from me. I appreciate you taking the time to investigate this issue and provide guidance. |
Thanks for the info. Your cluster is at KFD version 1.29.1, you can see it in the confirmation prompt:
Anyway, you can confirm by running the following command: kubectl get secrets -n kube-system furyctl-config -ojsonpath='{.data.config}' | base64 -d | grep distributionVersion You will keep facing the error until you solve the conflict. From the logs that you shared, I cannot point to the specific resource, but I can tell you that some tool that uses the "Go-http-client" (maybe some operator?) has modified some RBAC configuration, probably the clusterrolebinding for Please do the following: cd /home/user/.furyctl/getting-started/distribution/manifests
../../../bin/kustomize/3.10.0/kustomize build | kubectl diff -f - This should throw the differences between what KFD expects and what is in the cluster. Search for differences in rbac.authorization.k8s.io objects and delete those objects. Afterwards try upgrading again. Let me know how it goes. |
I am trying to upgrade the KFD of
OnPremises
provider to version 1.29.4, but I'm encountering the following issues:Error 1: Unable to upgrade from v1.29.1 to v1.29.4
ERRO error while creating cluster: error while executing preupgrade phase: upgrade path not found: unable to upgrade from v1.29.1 to v1.29.4, please check the available upgrade paths with the command 'furyctl get upgrade-paths'
I have checked the available upgrade paths using the
furyctl get upgrade-paths
command, and I have also validated the configuration using thefuryctl validate config
command.My current Kubernetes version is 1.29.3, which I have verified using the
kubectl version
command. However, the error message is referencing version 1.29.1, which I'm not sure where it's coming from.After clearing some cache from the .furyctl folder, I was able to run the upgrade using the command
furyctl apply --upgrade --skip-nodes-upgrade --skip-deps-download --skip-deps-validation
, but I'm now encountering the following errors during the "applying manifests" stage:Error 2: Conflicts with "Go-http-client" resource
I checked for the resource
Go-http-client
in the cluster, I couldn't find in any namespace. I tried adding the flag--force-conflicts
to theapply.sh
script in.furyctl
folder, but it is getting overwritten every time I run the upgrade command.Here are the outputs of the commands
furyctl version
andkubectl version
I would appreciate if you could provide guidance on how to resolve these issues and successfully upgrade the KFD to version 1.29.4.
The text was updated successfully, but these errors were encountered: