gateway-api icon indicating copy to clipboard operation
gateway-api copied to clipboard

Guide on how to upgrade the CRD of the experimental channel from v1.0 to v1.1

Open tao12345666333 opened this issue 1 month ago • 1 comments

What would you like to be added:

Due to the removal of the v1alpha2 version of backendtlspolicy in CRD version v1.1, this will result in encountering errors during the upgrade.

I hope to add a guide to instruct users on how to solve the problem.

Why this is needed:

(⎈|steep-abyss:default)➜  ~ kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/experimental-install.yaml                                
customresourcedefinition.apiextensions.k8s.io/backendtlspolicies.gateway.networking.k8s.io created                                                                            
customresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io created                                                                                
customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io created                                                                                      
customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io created                                                                                    
customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io created                                                                                    
customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io created                                                                               
customresourcedefinition.apiextensions.k8s.io/tcproutes.gateway.networking.k8s.io created                                                                                     
customresourcedefinition.apiextensions.k8s.io/tlsroutes.gateway.networking.k8s.io created                                                                                     
customresourcedefinition.apiextensions.k8s.io/udproutes.gateway.networking.k8s.io created                                                                                     
(⎈|steep-abyss:default)➜  ~ kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.1.0/experimental-install.yaml 
customresourcedefinition.apiextensions.k8s.io/backendlbpolicies.gateway.networking.k8s.io created
customresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/tcproutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/tlsroutes.gateway.networking.k8s.io configured
customresourcedefinition.apiextensions.k8s.io/udproutes.gateway.networking.k8s.io configured
The CustomResourceDefinition "backendtlspolicies.gateway.networking.k8s.io" is invalid: status.storedVersions[0]: Invalid value: "v1alpha2": must appear in spec.versions
          Thanks for reporting this, I definitely get that this behavior is confusing. This is actually intentional though - we made breaking changes (field renames) to BackendTLSPolicy in v1.1. That resulted in us bumping the version to v1alpha3, and dropping v1alpha2 since we do not want to maintain a conversion webhook. I added more information about this transition in https://github.com/kubernetes-sigs/gateway-api/pull/3084.

Originally posted by @robscott in https://github.com/kubernetes-sigs/gateway-api/issues/3086#issuecomment-2115798435

tao12345666333 avatar May 20 '24 03:05 tao12345666333