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

Add spark-operator chart #1061

Merged
merged 5 commits into from
Nov 16, 2020

Conversation

hagaibarel
Copy link
Contributor

Related to #1021

@scravy
Copy link
Contributor

scravy commented Nov 15, 2020

This fails on EKS Kubernetes v1.18.8 due to:

Error: chart requires kubeVersion: >= 1.13.x which is incompatible with Kubernetes v1.18.8-eks-7c9bda

@scravy
Copy link
Contributor

scravy commented Nov 15, 2020

I removed the kubeVersion and getting this now:

Release "spark-operator" does not exist. Installing it now.

Error: failed to install CRD crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml: CustomResourceDefinition.apiextensions.k8s.io "scheduledsparkapplications.sparkoperator.k8s.io" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[executor].properties[sidecars].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[executor].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[driver].properties[sidecars].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[driver].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]

@hagaibarel
Copy link
Contributor Author

I removed the kubeVersion and getting this now:

Release "spark-operator" does not exist. Installing it now.

Error: failed to install CRD crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml: CustomResourceDefinition.apiextensions.k8s.io "scheduledsparkapplications.sparkoperator.k8s.io" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[executor].properties[sidecars].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[executor].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[driver].properties[sidecars].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[driver].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]

Seems like an issue with CRD changes intoduced in 1.18, I think this is the issue kubernetes/kubernetes#91395, didn't see it before as I was testing on versions 1.16 and 1.17

Pinging @yuchaoran2011 @liyinan926

Copy link
Collaborator

@liyinan926 liyinan926 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for adding the chart!

@liyinan926 liyinan926 merged commit 252eddd into kubeflow:master Nov 16, 2020
@hagaibarel hagaibarel deleted the add_spark_operator_chart branch November 16, 2020 05:14
@scravy
Copy link
Contributor

scravy commented Nov 16, 2020

From which repo will we be able to install this chart?

@jkleckner
Copy link
Contributor

The current most recent commit [1] still advises to use the deprecated [2] repo source.

If I fetch the chart it is the old one. What am I missing?

[1] 98414e7

[2] https://charts.helm.sh/incubator/ and follow the status or deprecation links.

@jgardner04
Copy link
Contributor

@jkleckner the action is in place but the gh-pages branch needs to be created by a contributor. This will enable the creation of an index.yaml file in that branch that will allow you to add it as a source in Helm 3. I do have this working on my fork if you are in a bind and need to use it to deploy. You would use http://beyondthecorneroffice.com/spark-on-k8s-operator as your repo.

@jkleckner
Copy link
Contributor

jkleckner commented Nov 24, 2020

@jgardner04 Thank you.

It turns out you can use a local file path for the chart as well, which I got working. We are also going to bundle this chart into our own chart museum.

As a side-effect, I noticed that current kubernetes v1.19.x requires some patches as seen in [1].

So I created a PR #1084 for this repo [2] that brings those changes back here.

[1] kudobuilder/operators#297

[2] #1084

@jkleckner
Copy link
Contributor

I removed the kubeVersion and getting this now:

Release "spark-operator" does not exist. Installing it now.

Error: failed to install CRD crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml: CustomResourceDefinition.apiextensions.k8s.io "scheduledsparkapplications.sparkoperator.k8s.io" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[executor].properties[sidecars].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[executor].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[driver].properties[sidecars].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[template].properties[driver].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]

Seems like an issue with CRD changes intoduced in 1.18, I think this is the issue kubernetes/kubernetes#91395, didn't see it before as I was testing on versions 1.16 and 1.17

Pinging @yuchaoran2011 @liyinan926

@hagaibarel This should be fixed with #1084

@jkleckner
Copy link
Contributor

@hagaibarel have you tried tolerations at all?

I'm finding that nodeSelector and tolerations don't work declared in the executor spec.

The nodeSelector works if put directly in the spec and if the label is fully qualified with kubernetes.io/ as for example kubernetes.io/hostname: "docker-desktop" but tolerations don't work even with trying out various paths.

I'll file an issue.

jbhalodia-slack pushed a commit to jbhalodia-slack/spark-operator that referenced this pull request Oct 4, 2024
* add new chart folder

* fix some typos in webhook init job

* add helm-docs

* add more readme description

* remove kube version field
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants