Skip to content
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

Deprecation warnings shown when installing all-in-one (for K8s 1.16+) #3886

Closed
nkvoll opened this issue Oct 30, 2020 · 5 comments
Closed

Deprecation warnings shown when installing all-in-one (for K8s 1.16+) #3886

nkvoll opened this issue Oct 30, 2020 · 5 comments
Assignees
Labels
>bug Something isn't working

Comments

@nkvoll
Copy link
Member

nkvoll commented Oct 30, 2020

Not quite sure which at which version the deprecations show up as warnings.

Example (first and last lines showing the warnings and migration path forward).

$ kubectl apply -f https://download.elastic.co/downloads/eck/1.2.1/all-in-one.yaml
Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
customresourcedefinition.apiextensions.k8s.io/apmservers.apm.k8s.elastic.co configured
customresourcedefinition.apiextensions.k8s.io/beats.beat.k8s.elastic.co configured
customresourcedefinition.apiextensions.k8s.io/elasticsearches.elasticsearch.k8s.elastic.co configured
customresourcedefinition.apiextensions.k8s.io/enterprisesearches.enterprisesearch.k8s.elastic.co configured
customresourcedefinition.apiextensions.k8s.io/kibanas.kibana.k8s.elastic.co configured
namespace/elastic-system unchanged
serviceaccount/elastic-operator unchanged
secret/elastic-webhook-server-cert unchanged
clusterrole.rbac.authorization.k8s.io/elastic-operator unchanged
clusterrole.rbac.authorization.k8s.io/elastic-operator-view unchanged
clusterrole.rbac.authorization.k8s.io/elastic-operator-edit unchanged
clusterrolebinding.rbac.authorization.k8s.io/elastic-operator unchanged
rolebinding.rbac.authorization.k8s.io/elastic-operator unchanged
service/elastic-webhook-server unchanged
statefulset.apps/elastic-operator configured
Warning: admissionregistration.k8s.io/v1beta1 ValidatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration
validatingwebhookconfiguration.admissionregistration.k8s.io/elastic-webhook.k8s.elastic.co configured
@jamiechapmanbrn
Copy link

Next kubernetes version to release outright removes apiextensions.k8s.io/v1beta1 CustomResourceDefinitions, has there been any progress on this?

@pebrc pebrc self-assigned this May 4, 2021
@pebrc
Copy link
Collaborator

pebrc commented May 6, 2021

Proposal: we will offer two flavours of the CRDs one based on the v1beta1 apiVersion and one based on the v1 apiVersion for Kubernetes 1.16+

The v1beta1 version will be generated through the same procedure as previously, it will offer backwards compatibility all the way back to 1.11

The v1 will be based on controller-tools generation similar to v1beta1. A few challenges worth mentioning:

  • we will still have to post-process the CRD to remove the embedded podTemplate schema properties to stay below the allowable max size due to the duplication of the CRD in the last-applied-configuration annotation
  • // +kubebuilder:pruning:PreserveUnknownFields for podTemplate and volumeClaimTemplate as they don't have a full schema and fields are otherwise dropped e.g. surprisingly the metadata field in volumeClaimTemplate which is just modelled as object (update: controller-tools 0.6.0 fixes this issue)
  • we will have to drop v1alpha1 from the versions as we don't have a schema for those anymore, this could mean trouble for users that started with one of the preview releases
  • we need to carefully test the different upgrade paths on the differentest distribution channels (Helm, plain YAML, OLM), kubectl apply will not work for example as it effectively merges both versions of the CRD

@wunzeco
Copy link

wunzeco commented May 14, 2021

@pebrc
Thanks for looking into this issue.

  • Does the version of all-in-one.yaml with apiextensions.k8s.io/v1 CRD currently exist anywhere? I'm currently unable to apply all-in-one.yaml to AWS EKS running Kubernetes 1.19.
  • Is there a way to generate all-in-one.yaml that uses the v1 CRD?

@pebrc
Copy link
Collaborator

pebrc commented May 14, 2021

@wunzeco no, this is work in progress. However you should be able to apply the existing all-in-one.yaml as these are just warnings and the corresponding API versions are not going to be removed until Kubernetes 1.22

@pebrc
Copy link
Collaborator

pebrc commented Jun 21, 2021

Closed with #4489

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants