Skip to content

Commit abb78f8

Browse files
Fix Helm chart build issues and version consistency
- Correct Chart version from 2.4.0 to 2.3.0 to match VERSION file - Fix version inconsistencies in spark-pi-kerberos.yaml example - Update serviceAccount name in Kerberos example to use proper Helm chart service account - Regenerate Helm chart README.md with updated version and Kerberos documentation - Document JavaOptions interaction with Kerberos configuration Signed-off-by: Jose Soto <[email protected]> Signed-off-by: josecsotomorales <[email protected]>
1 parent fcbe33a commit abb78f8

File tree

4 files changed

+41
-8
lines changed

4 files changed

+41
-8
lines changed

charts/spark-operator-chart/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ name: spark-operator
2020

2121
description: A Helm chart for Spark on Kubernetes operator.
2222

23-
version: 2.4.0
23+
version: 2.3.0
2424

25-
appVersion: 2.4.0
25+
appVersion: 2.3.0
2626

2727
keywords:
2828
- apache spark

charts/spark-operator-chart/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# spark-operator
22

3-
![Version: 2.4.0](https://img.shields.io/badge/Version-2.4.0-informational?style=flat-square) ![AppVersion: 2.4.0](https://img.shields.io/badge/AppVersion-2.4.0-informational?style=flat-square)
3+
![Version: 2.3.0](https://img.shields.io/badge/Version-2.3.0-informational?style=flat-square) ![AppVersion: 2.3.0](https://img.shields.io/badge/AppVersion-2.3.0-informational?style=flat-square)
44

55
A Helm chart for Spark on Kubernetes operator.
66

@@ -173,7 +173,7 @@ See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall) for command docum
173173
| spark.serviceAccount.automountServiceAccountToken | bool | `true` | Auto-mount service account token to the spark applications pods. |
174174
| spark.rbac.create | bool | `true` | Specifies whether to create RBAC resources for spark applications. |
175175
| spark.rbac.annotations | object | `{}` | Optional annotations for the spark application RBAC resources. |
176-
| spark.kerberos.enabled | bool | `false` | Enable Kerberos authentication support for Spark applications. |
176+
| spark.kerberos.enable | bool | `false` | Enable Kerberos authentication support for Spark applications. |
177177
| spark.kerberos.defaultPrincipal | string | `""` | Default Kerberos principal for authentication (can be overridden per application). Example: [email protected] |
178178
| spark.kerberos.defaultRealm | string | `""` | Default Kerberos realm (can be overridden per application). Example: EXAMPLE.COM |
179179
| spark.kerberos.defaultKDC | string | `""` | Default Kerberos KDC address (can be overridden per application). Example: kdc.example.com:88 |

docs/kerberos-support.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,39 @@ spark.driver.extraJavaOptions=-Djava.security.krb5.conf=<config-path>
150150
spark.executor.extraJavaOptions=-Djava.security.krb5.conf=<config-path>
151151
```
152152

153+
### Integration with Existing Spark Configuration
154+
155+
**JavaOptions Interaction:**
156+
When using Kerberos configuration, the operator automatically adds Kerberos-related JVM options to `spark.driver.extraJavaOptions` and `spark.executor.extraJavaOptions`.
157+
158+
⚠️ **Important**: If you specify `javaOptions` in your driver or executor specification, those options will **completely override** the Kerberos JVM options, potentially breaking Kerberos authentication. To use both Kerberos and custom JVM options, you have two options:
159+
160+
**Option 1: Use sparkConf instead of javaOptions (Recommended)**
161+
```yaml
162+
spec:
163+
sparkConf:
164+
# Your custom JVM options - will be merged with Kerberos options
165+
"spark.driver.extraJavaOptions": "-XX:+UseG1GC -Xms1g"
166+
"spark.executor.extraJavaOptions": "-XX:+UseG1GC -Xms512m"
167+
kerberos:
168+
# Kerberos configuration
169+
```
170+
171+
**Option 2: Include Kerberos options in your javaOptions**
172+
```yaml
173+
spec:
174+
driver:
175+
# Include both your options AND the Kerberos krb5.conf option
176+
javaOptions: "-XX:+UseG1GC -Xms1g -Djava.security.krb5.conf=/etc/krb5-config/krb5.conf"
177+
executor:
178+
javaOptions: "-XX:+UseG1GC -Xms512m -Djava.security.krb5.conf=/etc/krb5-config/krb5.conf"
179+
kerberos:
180+
# Other Kerberos configuration
181+
```
182+
183+
**SparkConf Interaction:**
184+
If you manually specify `spark.driver.extraJavaOptions` or `spark.executor.extraJavaOptions` in your `sparkConf`, the operator will **append** the Kerberos JVM options to those values, ensuring both your custom options and Kerberos authentication work together.
185+
153186
### Credential Renewal Strategies
154187

155188
**Keytab-based Renewal (Recommended)**:

examples/spark-pi-kerberos.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ spec:
8585
coreLimit: "1200m"
8686
memory: "512m"
8787
labels:
88-
version: 3.5.3
89-
serviceAccount: spark
88+
version: 4.0.0
89+
serviceAccount: spark-operator-spark
9090
# Mount Kerberos keytab as secret
9191
secrets:
9292
- name: "spark-kerberos-keytab"
@@ -105,7 +105,7 @@ spec:
105105
instances: 1
106106
memory: "512m"
107107
labels:
108-
version: 3.5.3
108+
version: 4.0.0
109109
# Mount Kerberos keytab as secret
110110
secrets:
111111
- name: "spark-kerberos-keytab"
@@ -117,4 +117,4 @@ spec:
117117
# Set environment variables for Kerberos
118118
env:
119119
- name: "KRB5_CONFIG"
120-
value: "/etc/kerberos/conf/krb5.conf"
120+
value: "/etc/kerberos/conf/krb5.conf"

0 commit comments

Comments
 (0)