Notes de mise à niveau
PROCHAINE DIFFUSION
Object Storage Default Change
The bundled S3-compatible object storage default is now RustFS. MinIO is still supported and can be re-enabled with one Helm flag. A pre-upgrade hook refuses Mise à niveau Helm when an existing MinIO PVC would be orphaned without explicit acknowledgement.
For step-by-step instructions, refer to Migrate Between Object Storage Providers. For the broader storage decision and provider reference pages, refer to the Object Storage section.
Object Storage Credentials Consolidation
All object-storage consumers now read S3 credentials from a single shared Secret, ilum-objectstorage-credentials, instead of per-consumer literal values in valeurs.yaml . The Secret holds six aliased keys: access-key, secret-key, root-user, root-password, RUSTFS_ACCESS_KEY, RUSTFS_SECRET_KEY. Consumers wired to this Secret include ilum-core , ilum-jupyter, ilum-history-server, ilum-hive-metastore, airflow, kestra, Trino , langfuse, loki, minio et rustfs.
Default credentials for net-new installs are Admin / Admin . On upgrade, the credentials-secret template's lookup preserves the live Secret values, so existing deployments keep their current credentials.
Per-consumer accessKey/ secretKey literals in Helm values are now ignored when an existingSecret reference is set, which is the default in helm_aio. Rotation is performed by editing the shared Secret and restarting the affected Pods. For the full procedure, refer to Rotate Object Storage Credentials.
MODÈLE DE NOTE
1. Changement
Caractéristique:
Description de la fonctionnalité
Valeurs supprimées - nom du graphique
| Nom | Raison |
|---|
helm.value | Raison de la suppression de la valeur Helm |
Valeurs ajoutées - nom de la carte
Description de la section Valeurs
| Nom | Description | Valeur |
|---|
helm.value | Description de la valeur Helm | valeur par défaut |
Noms modifiés - nom de la carte
| Ancien nom | Nouveau nom |
|---|
ancien nom | Nouveau nom |
⚠️⚠️⚠️ Warnings
Valeurs modifiées - nom de la carte
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
helm.value | ancienne valeur | Nouvelle valeur |
RELEASE 6.7.0
1. Airflow version update
Caractéristique:
Updated Airflow from version 3.1.1 to 3.1.6.
Values changed - helm_aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
airflow.airflowVersion | 3.1.1 | 3.1.6 |
airflow.images.airflow.tag | 3.1.1 | 3.1.6 |
airflow.apiServer.extraInitContainers[0].image | `ilum/airflow:3.1.1 | ilum/airflow:3.1.6 |
2. Added ClickHouse and Langfuse to ilum-aio
Caractéristique:
Added ClickHouse and Langfuse to ilum-aio as new modules. ClickHouse is a fast open-source OLAP database management system. Langfuse is an open source LLM engineering platform.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
clickhouse.enabled | Flag to enable ClickHouse deployment in ilum-aio | faux |
langfuse.enabled | Flag to enable Langfuse deployment in ilum-aio | faux |
Valeurs ajoutées - ilum-ui
| Nom | Description | Valeur |
|---|
runtimeVars.langfuseUrl | URL of the Langfuse instance | http://ilum-langfuse-web:3000 |
runtimeVars.langfusePath | Proxy path for Langfuse | /external/langfuse/ |
nginx.config.langfuse.enabled | Enable proxy for Langfuse | faux |
nginx.config.http_cookie.langfuse.enabled | Enables cookie mapping for Langfuse | vrai |
3. Configurable Scala version for default cluster
Caractéristique:
Supplémentaire scalaVersion configuration option to the default cluster settings. This allows users to specify which Scala version their Spark jobs are run with, supporting both Scala 2.12 for spark 3.x and 2.13 for spark 4.x
Values added - helm_core
| Nom | Description | Valeur |
|---|
kubernetes.defaultCluster.scalaVersion | Scala version for Spark jobs (SCALA_2_12 or SCALA_2_13) | SCALA_2_13 |
4. API token authentication system
Caractéristique:
Added "API token authentication system for internal and external service authentication."
Values added - helm_core
| Nom | Description | Valeur |
|---|
security.api-token.enabled | Flag to enable API token authentication | faux |
security.api-token.tokens | List of initial tokens | [] |
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
ilum-core.security.api-token.enabled | Flag to enable API token authentication | faux |
ilum-core.security.api-token.tokens | List of initial tokens | [{name: "superset", token: "initial-superset-token-for-engine-creation", permissions: ["SQLENGINE_CREATE"]}] |
5. Startup probe for Ilum-core
Caractéristique:
Added startup probe to the Ilum-core deployment. This allows the application to have sufficient time to start in constrained environments while maintaining quick readiness and liveness checks once started. The startup probe delays readiness and liveness probes until the application starts successfully.
Values added - helm_core
| Nom | Description | Valeur |
|---|
startupProbe | Startup probe configuration for ilum-core container | See values.yaml for full structure |
startupProbe.failureThreshold | Number of failures before giving up (300 × 2s = 10 minutes max) | 300 |
startupProbe.periodSeconds | How often to perform the probe | 2 |
startupProbe.timeoutSeconds | Timeout for each probe request | 1 |
startupProbe.httpGet.path | HTTP path for startup probe | /actuator/health/liveness |
Values changed - helm_core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
livenessProbe.initialDelaySeconds | 120 | 10 |
readinessProbe.initialDelaySeconds | 120 | 10 |
6. Disabled SASL in Kafka configuration
Caractéristique:
Disabled SASL authentication in the default Kafka configuration. This change simplifies the setup for users who do not require SASL authentication for their Kafka clusters. Users who need SASL can still enable it through custom configuration.
Values added - helm_aio
| Nom | Description | Valeur |
|---|
kafka.listeners.interbroker.protocol | Interbroker protocol | PLAINTEXT |
kafka.listeners.controller.protocol | Controller protocol | PLAINTEXT |
kafka.kraft.clusterId | Kraft clusterId to prevent Bitnami chart upgrade failures | aWx1bS1kZWZhdWx0LWlkMQ |
RELEASE 6.6.2
1. Spark 4.x Upgrade - Scala 2.13 Migration
Caractéristique:
Updated default Spark images to ilum/spark:4.0.1-delta and ilum-spark-launcher to spark-4.1.0. Spark 4.x exclusively uses Scala 2.13 and has dropped support for Scala 2.12.
Values changed - helm_core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
kubernetes.defaultCluster.dockerImage | ilum/spark:3.5.7-delta | ilum/spark:4.0.1-delta |
historyServer.image | spark-3.5.7 | spark-4.1.0 |
externalSparkSubmit.image.tag | spark-3.5.7 | spark-4.1.0 |
⚠️⚠️⚠️ CRITICAL WARNING - BREAKING CHANGE ⚠️⚠️⚠️
Spark 4.x uses Scala 2.13 exclusively. Scala 2.12 is NO LONGER SUPPORTED.
This is a BREAKING CHANGE that may affect your existing Spark jobs:
-
JAR Compatibility: Any Spark applications, libraries, or dependencies compiled with Scala 2.12 WILL NOT WORK with Spark 4.x. You must recompile all custom JARs with Scala 2.13.
-
Affected Components:
- Custom Spark applications (Scala-based)
- Third-party libraries compiled for Scala 2.12
- UDFs written in Scala
- Quelconque
.jar files built with scalaVersion := "2.12.x"
-
How to Identify Affected JARs:
- Check your
build.sbt ou pom.xmlpour scalaVersion settings
- JAR names often contain the Scala version suffix (e.g.,
myapp_2.12-1.0.jar)
- JARs with
_2.12 suffix need to be rebuilt with _2.13
-
Required Actions Before Upgrade:
- Inventory all custom Spark JARs in use
- Recompile all Scala-based applications with Scala 2.13
- Update all third-party dependencies to Scala 2.13 versions
- Test all jobs thoroughly in a staging environment
-
No Backwards Compatibility:
- Starting from this version, Ilum's Spark job wrapper uses Scala 2.13 exclusively
- Running Spark 3.x jobs compiled with Scala 2.12 is no longer supported
- Vous MUST recompile all your Scala-based Spark jobs with Scala 2.13 before upgrading
-
PySpark Users: PySpark jobs are generally unaffected unless they use Scala-based UDFs or custom Scala libraries.
RECOMMENDATION: Test your workloads in a non-production environment before upgrading to this release.
2. Added environment variables support to default cluster configuration
Caractéristique:
Added support for configuring environment variables in the default cluster configuration. This allows users to set environment variables that will be applied to Spark jobs running on the default cluster. The SPARK_SUBMIT_OPTS environment variable is now configurable through Helm values instead of being hardcoded, providing better flexibility for JVM tuning and other environment-specific configurations.
Values added - helm_core
Default cluster environment variables configuration
| Nom | Description | Valeur |
|---|
kubernetes.defaultCluster.environmentVariables | Environment variables for default cluster | {} |
kubernetes.defaultCluster.environmentVariables.SPARK_SUBMIT_OPTS | JVM options for Spark submit process | "-XX:MaxHeapSize=64m -XX:MaxMetaspaceSize=64m -Xss256k" |
3. Added Unity Catalog integration
Caractéristique:
Supplémentaire helm_unity_catalog chart to provide Unity Catalog support as an optional catalog backend (similar to Hive Metastore and Nessie). Unity Catalog is disabled by default and can be enabled to provide unified governance for data and AI assets. The chart is integrated with the existing PostgreSQL database and MinIO S3 storage, with automatic JWT keypair generation for authentication.
Values added - helm_unity_catalog
| Nom | Description | Valeur |
|---|
ilum-unity-catalog.enabled | Enables Unity Catalog deployment | faux |
ilum-unity-catalog.server.enabled | Enables the Unity Catalog server | vrai |
ilum-unity-catalog.server.db.type | Database backend type (file or postgresql) | postgresql |
ilum-unity-catalog.server.db.postgresqlConfig.host | PostgreSQL host | ilum-postgresql-hl |
ilum-unity-catalog.server.db.postgresqlConfig.port | PostgreSQL port | 5432 |
ilum-unity-catalog.server.db.postgresqlConfig.dbName | PostgreSQL database name | unitycatalog |
ilum-unity-catalog.server.db.postgresqlConfig.user | PostgreSQL username | ilum |
ilum-unity-catalog.server.db.postgresqlConfig.passwordSecretName | Secret containing PostgreSQL password | ilum-postgres-credentials |
ilum-unity-catalog.server.db.postgresqlConfig.passwordSecretKey | Key in secret for password | mot de passe |
ilum-unity-catalog.server.jwtKeypairSecret.create | Auto-generate JWT keypair for authentication | vrai |
ilum-unity-catalog.storage.modelStorageRoot | S3 path for Unity Catalog model storage | s3a://ilum-data/unity-catalog/ |
ilum-unity-catalog.storage.credentials.s3[0].bucketPath | S3 bucket path | s3://ilum-data |
ilum-unity-catalog.storage.credentials.s3[0].region | S3 region | États-Unis-Est-1 |
ilum-unity-catalog.storage.credentials.s3[0].credentialsSecretName | Secret containing S3 credentials | ilum-minio |
ilum-unity-catalog.storage.credentials.s3[0].accessKeySecretKey | Key name for S3 access key in secret | root-user |
ilum-unity-catalog.storage.credentials.s3[0].secretKeySecretKey | Key name for S3 secret key in secret | root-password |
ilum-unity-catalog.ui.enabled | Enables Unity Catalog UI | faux |
Values added - helm_core
| Nom | Description | Valeur |
|---|
ilum-core.metastore.type | Se mettre à unity to use Unity Catalog as metastore | ruche |
ilum-core.metastore.unity.address | Unity Catalog server endpoint | http://unity-catalog-ilum-unity-catalog-server:8080 |
ilum-core.metastore.unity.warehouseDir | Unity Catalog warehouse directory | s3a://ilum-data/unity-catalog/ |
ilum-core.metastore.unity.s3Endpoint | S3 endpoint for Unity Catalog | http://ilum-minio:9000/ |
ilum-core.metastore.unity.s3PathStyleAccess | Enable S3 path-style access | vrai |
ilum-core.metastore.unity.catalogName | Unity Catalog name in Spark | unity_catalog |
ilum-core.metastore.unity.config | Spark configuration for Unity Catalog integration | See values.yaml |
Values added - postgresExtensions
| Nom | Description | Valeur |
|---|
postgresExtensions.databasesToCreate | Supplémentaire unitycatalog database for Unity Catalog metadata | ...,nessie,unitycatalog |
⚠️⚠️⚠️ Warnings
- Unity Catalog requires PostgreSQL and S3-compatible storage to be enabled
- JWT keypairs are auto-generated on first deployment and stored in Kubernetes secrets
- When using Unity Catalog, set
ilum-core.metastore.type: unity to configure Spark integration
4. Added DuckDb and DuckLake to Ilum Core
Caractéristique:
Added DuckDb as an SQL executor and DuckLake as a metastore option in Ilum Core.
DuckDb is a fast and lightweight SQL engine that supports a wide range of data types and SQL features.
DuckLake is a distributed metastore for DuckDb, which provides options for multi-user access and data versioning.
Values added - ilum_core
| Nom | Description | Valeur |
|---|
sql.duckdb.idleTimeout | Determines the time DuckDb connections are kept alive without activity | 1h |
sql.duckdb.ducklake.enabled | Enables DuckLake | vrai |
sql.duckdb.ducklake.location | Location of the data in for the DuckLake | s3://ilum-ducklake/ |
sql.duckdb.ducklake.postgres.host | Host for the metastore postgres connection | `` |
sql.duckdb.ducklake.postgres.port | Port for the metastore postgres connection | 5432 |
sql.duckdb.ducklake.postgres.database | Database name for the metastore postgres connection | ducklake |
sql.duckdb.ducklake.postgres.user | Username for the metastore postgres connection | `` |
sql.duckdb.ducklake.postgres.password | Password for the metastore postgres connection | `` |
sql.duckdb.ducklake.s3.endpoint | S3 endpoint for the metastore data | `` |
sql.duckdb.ducklake.s3.region | S3 region for the metastore data | États-Unis-Est-1 |
sql.duckdb.ducklake.s3.keyId | S3 key id for the metastore data | `` |
sql.duckdb.ducklake.s3.secret | S3 secret for the metastore data | `` |
sql.duckdb.ducklake.s3.urlStyle | Url style to use for S3. Either chemin ou vhost | chemin |
sql.duckdb.ducklake.s3.ssl | Whether to use SSL for the S3 connection | faux |
RELEASE 6.6.1
1. Ugraded JupyterHub experience
Caractéristique:
Ugraded helm_jupyterhub to bundle Ilum-specific SSH/Git/LDAP bootstrap logic, curated notebooks, and tailored singleuser defaults so helm_aio merely enables the dependency, pins fullnameRemplacer , and surfaces only the still-relevant overrides. This also keeps the SSH network policy open for port 2222 and ensures the shared ilum-jupyter-ssh-keys secret remains stable, while c.JupyterHub.cleanup_servers = True guarantees the SSH service and user pods stop with the release.
Values added - helm_aio
| Nom | Description | Valeur |
|---|
ilum-jupyterhub.enabled | Enables the curated Ilum JupyterHub chart | faux |
Values added - helm_jupyterhub
| Nom | Description | Valeur |
|---|
fullnameRemplacer | Override for the full resource name | ilum-jupyterhub |
Activé | Chart enabled flag | faux |
SSH configuration
| Nom | Description | Valeur |
|---|
ssh.enabled | Enables the bundled SSH operator, service, and shared key workflow | faux |
ssh.keysSecret | Secret that provides the stable host and authorized keys | ilum-jupyter-ssh-keys |
ssh.mode | SSH authentication mode: maître (shared authorized_keys from keysSecret) or per-user (individual secrets per user) | maître |
ssh.perUserSecretNameTemplate | Template for per-user secret names when using per-user mode | ssh-keys-{username} |
ssh.perUserAuthorizedKeysKey | Key name in per-user secrets containing authorized_keys | authorized_keys |
ssh.service.type | Type of service fronting port 2222 | NodePort |
ssh.service.port | Port exposed for SSH traffic | 2222 |
ssh.service.targetPort | Target port for SSH traffic | 2222 |
ssh.service.nodePort | NodePort number (empty for auto-assignment) | "" |
ssh.service.clusterIP | ClusterIP address (empty for auto-assignment) | "" |
ssh.service.loadBalancerIP | LoadBalancer IP address | "" |
ssh.service.annotations | Annotations for the SSH service | {} |
ssh.service.prefix | Prefix for SSH service resources | ilum-jupyter-ssh |
ssh.sshdConfig.customConfig | Custom sshd_config lines | [] |
ssh.operatorImage.name | SSH operator image repository | docker.ilum.cloud/ilum-jupyterhub |
ssh.operatorImage.tag | SSH operator image tag | ssh-operator-4.3.1 |
ssh.extraEnv | Extra environment variables for SSH operator | [] |
Git configuration
| Nom | Description | Valeur |
|---|
git.existingSecret | Credentials that allow the Git init job to seed the notebooks repository | ilum-git-credentials |
git.email | Git email for commits | ilum@ilum |
git.repository | Nom du dépôt Git | Jupyter |
git.address | Gitea server address | ilum-gitea-http :3000 |
git.url | Gitea endpoint URL used to seed the ilum-jupyterhub org | http://ilum-gitea-http:3000 |
git.orgName | Organization managed by the git-init job | ilum-jupyterhub |
git.operatorImage.name | Git operator image repository | docker.ilum.cloud/ilum-jupyterhub |
git.operatorImage.tag | Git operator image tag | gitea-operator-4.3.1 |
git.secret.name | Secret containing credentials referenced by the operator | ilum-git-credentials |
git.secret.usernameKey | Key for username in the secret | nom d’utilisateur |
git.secret.passwordKey | Key for password in the secret | mot de passe |
LDAP configuration
| Nom | Description | Valeur |
|---|
ldap.enabled | Keeps the LDAP authenticator wired into Ilum JupyterHub | vrai |
ldap.urls | LDAP server endpoints that front the Ilum directory | ["ldap://ilum-openldap:389"] |
ldap.base | Search base for Ilum users and groups | "dc=ilum,dc=cloud" |
ldap.username | Bind DN used for authentication | "cn=admin,dc=ilum,dc=cloud" |
ldap.password | Password for the bind DN | Not@SecurePassw0rd |
ldap.adminUsers | LDAP accounts with admin privileges in JupyterHub | ["ilumadmin","admin"] |
ldap.userSearchBase | Base DN where user entries live | "ou=people,dc=ilum,dc=cloud" |
ldap.userSearchFilter | Filter for user lookups | « uid={0} » |
ldap.groupSearchBase | Base DN where group entries live | "ou=groups,dc=ilum,dc=cloud" |
ldap.groupSearchFilter | Filter that matches members | « (membre={0}) » |
ldap.allowedGroups | Empty list allows all groups unless specified | [] |
ldap.userAttribute | User attribute for username | « UID » |
ldap.fullnameAttribute | Attribute for user's full name | « CN » |
ldap.emailAttribute | Attribute for user's email | « courrier » |
ldap.groupNameAttribute | Attribute for group name | « CN » |
ldap.groupMemberAttribute | Attribute for group membership | "member" |
ldap.useSsl | Use SSL for LDAP connection | faux |
ldap.startTls | Use STARTTLS for LDAP connection | faux |
ldap.lookupDn | Lookup DN before binding | vrai |
Hub configuration
| Nom | Description | Valeur |
|---|
hub.image.name | Hub image repository | docker.ilum.cloud/ilum-jupyterhub |
hub.image.tag | Hub image tag | jupyterhub-4.3.1 |
hub.contentSecurityPolicy.enabled | Turns the managed CSP header injection on/off | vrai |
hub.contentSecurityPolicy.frameAncestors | Origins allowed to embed JupyterHub in an iframe | ["'self'","http://localhost:9777"] |
hub.gitInit.enabled | Runs the job that ensures the ilum-jupyterhub organization/repo exist | vrai |
Singleuser runtime defaults
| Nom | Description | Valeur |
|---|
singleuser.startupArgs.iopubDataRateLimit | Raised output bandwidth ceiling for Ilum workloads | 1000000000 |
singleuser.startupArgs.extraArgs | Additional CLI arguments forwarded to the user server | [] |
singleuser.nodeSelector | Architecture-agnostic placement (empty by default) | {} |
singleuser.tolerations | Allows scheduling on tainted nodes when needed | [] |
Image pull credentials
| Nom | Description | Valeur |
|---|
imagePullSecret.create | Create the pull secret in-cluster | faux |
imagePullSecret.automaticReferenceInjection | Auto-inject the created secret into JupyterHub workloads | vrai |
imagePullSecret.registry | Registry host for the pull secret | "" |
imagePullSecret.username | Registry username for the pull secret | "" |
imagePullSecret.password | Registry password for the pull secret | "" |
imagePullSecret.email | Registry email for the pull secret | "" |
imagePullSecret.name | Existing secret name to reference instead of the autogenerated pull secret | "" |
imagePullSecrets | Additional pull secrets injected into all hub-managed pods | [] |
Values changed - helm_jupyterhub
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
singleuser.networkPolicy.allowedIngressPorts | [] | [2222] |
Instructions
- Keep
ilum-jupyter-ssh-keys stable outside Helm so the SSH host fingerprint survives upgrades; rotating the secret requires removing stale entries from user known_hosts.
- Ensure
ilum-git-credentials contains valid credentials for a Gitea account with org-level write access—both the SSH operator and Git init job rely on the rendered token.
- To refresh the curated notebooks, update
helm_jupyterhub/files/examples (and their config map templates) so the init container can push them into the ilum-jupyterhub repo again.
⚠️⚠️⚠️ Warnings
-
Port 2222 is opened via the SSH operator’s shared service; if you switch to per-user authorized keys, keep the service numbering and secrets aligned.
-
Cleanup is forced (c.JupyterHub.cleanup_servers = True), so user pods and the SSH service terminate with the Helm release. Manage any long-lived workloads outside this chart.
2. Upgraded Livy compatible API to version 0.8.0
Caractéristique:
Upgraded Livy compatible API to version 0.8.0 with enhanced configuration options for compression, server version control, and TTL-based session cleanup.
Valeurs ajoutées - ilum-core
Livy Compression Configuration
| Nom | Description | Valeur |
|---|
livy.compression.enabled | Enable response compression for Livy endpoints | faux |
Livy Server Configuration
| Nom | Description | Valeur |
|---|
livy.server.version | Livy server version identifier | 0.8.0 |
livy.server.sendServerVersion | Send server version in response headers | faux |
livy.server.allowCustomClasspath | Allow custom classpath in session creation | faux |
Livy TTL Session Cleanup Configuration
| Nom | Description | Valeur |
|---|
livy.ttl.checkPeriod | Background sweep period in milliseconds for checking expired sessions | 300000 |
livy.ttl.checkInitialDelay | Initial delay in milliseconds before first TTL background check | 60000 |
Valeurs ajoutées - ilum-aio
Same values as ilum-core but under the ilum-core. prefix (e.g., ilum-core.livy.compression.enabled).
⚠️⚠️⚠️ Important Notes
For most users: ✅ No action required. All new configuration options have safe defaults and are backward compatible.
Optional Performance Optimization: If you handle large Livy responses, you may enable compression by setting livy.compression.enabled: true.
Session Management: The new TTL cleanup uses a hybrid approach (lazy + background sweep) to automatically clean up expired sessions. Default settings should work for most deployments.
3. Updated default Spark version and added autopause configuration
Caractéristique:
Updated default Spark version to 3.5.7-deltadans kubernetes.defaultCluster.config .
Added spark.ilum.autopause: "true"À kubernetes.defaultCluster.config to set the default behavior of the autopause feature.
Valeurs modifiées - ilum-core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
kubernetes.defaultCluster.config.spark.kubernetes.container.image | ilum/spark:3.5.6-delta | ilum/spark:3.5.7-delta |
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
kubernetes.defaultCluster.config.spark.ilum.autopause | Sets the default behavior of autopause feature | « Vrai » |
1. HTTP cookie-based access control now disabled by default
Caractéristique:
Fixed stability issues and changed HTTP cookie-based access control to be disabled by default for all external services (Jupyter, Airflow, MLflow, Grafana, etc.).
What Changed?
- External services are now open by default - no cookie requirements
- All users can access services without any special configuration
- System works out-of-the-box
What This Means for You
- ✅ Your services will become more accessible
- ✅ Users can access Jupyter, Airflow, MLflow, etc. without cookie setup
- ✅ No action required for most deployments
If you need to restrict access:
- Use the built-in OAuth2/Hydra authentication (recommended for production)
- Or manually enable cookie-based access control per service (see below)
When to Use Cookie-Based Access Control?
This is an advanced feature for specific use cases:
- ✅ Temporary access restrictions for specific users/sessions
- ✅ Custom access control integrated with your frontend application
To enable for a specific service:
nginx:
Configuration :
http_cookie:
Activé : vrai
ilum-jupyter:
Activé : vrai
Values changed - ilum-ui
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
nginx.config.http_cookie.enabled | vrai | faux |
Values changed - ilum-aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
ilum-ui.nginx.config.http_cookie.enabled | vrai | faux |
⚠️⚠️⚠️ Important Notes
For most users: ✅ No action required. This change makes services more accessible.
If you customized cookie settings in 6.6.0: You may need to review your configuration. The system now defaults to open access instead of requiring cookies.
RELEASE 6.6.0
1. Upgraded Apache Airflow to 3.1.1
Caractéristique:
Upgraded Apache Airflow from 3.0.5 to 3.1.1 with improved OIDC authentication support using authlib OAuth providers (AUTH_OAUTH) instead of deprecated flask-oidc (AUTH_OIDC). This upgrade includes fixes for OAuth redirect URI patterns and proper volume mounting for OIDC client secrets in init containers.
Values changed - ilum-aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
airflow.airflowVersion | 3.0.5 | 3.1.1 |
airflow.images.airflow.tag | 3.0.5 | 3.1.1 |
airflow.apiServer.extraInitContainers[0].image | ilum/airflow:3.0.5 | ilum/airflow:3.1.1 |
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
airflow.migrateDatabaseJob.useHelmHooks | Disable Helm hooks for database migration job | faux |
airflow.apiServer.extraInitContainers[0] | Modified create admin user init container | See below |
airflow.apiServer.apiServerConfigConfigMapName | Custom webserver_config.py configmap | ilum-api-server-config |
Init Container Volume Mount Configuration
- nom : create- Admin - utilisateur
image : ilum/airflow: 3.1.1
command: [ "/bin/bash", "/scripts/init.sh"]
volumeMontures :
- nom : ilum - airflow- create- utilisateur - secret
mountPath : /scripts
- nom : Configuration
mountPath : /opt/airflow/airflow.cfg
subPath : airflow.cfg
- nom : OAuth - secret - volume
mountPath : /opt/airflow/client- secret
readOnly: vrai
- nom : webserver- Configuration - volume
mountPath : /opt/airflow/webserver_config.py
subPath : webserver_config.py
readOnly: vrai
⚠️⚠️⚠️ Warnings
Configuration value airflow.apiServer.apiServerConfigConfigMapName is preconfigured to use a ConfigMap named ilum-api-server-config.
But the name of this configMap must follow pattern <release-name>-api-server-config to be properly mounted as it is Airflow's chart requirement.
So if your release name is different from ilum , please change this value accordingly. For example use:
airflow:
apiServer:
apiServerConfigConfigMapName: <votre - release- nom > - API - serveur - Configuration
extraVolumes:
- nom : OAuth - secret - volume
secret :
secretName : ilum - hydre - client - secret
- nom : ilum - airflow- create- utilisateur - secret
secret :
secretName : ilum - airflow- create- utilisateur - secret
- nom : webserver- Configuration - volume
configMap :
nom : <votre - release- nom > - API - serveur - Configuration
2. Enhanced Jupyter startup configuration
Caractéristique:
Added configurable startup arguments for Jupyter notebook server, allowing users to customize base URL, IOPub data rate limits, and pass additional command-line arguments. Also added support for extra environment variables with templating support.
Valeurs ajoutées - ilum-jupyter
Startup and environment configuration
| Nom | Description | Valeur |
|---|
token | Jupyter notebook authentication token | "" |
startupArgs.baseUrl | Jupyter base URL path for reverse proxy configurations | /external/jupyter/ |
startupArgs.iopubDataRateLimit | IOPub data rate limit in bytes/sec (controls output bandwidth) | 1000000000 |
startupArgs.extraArgs | Additional command-line arguments to pass to Jupyter server | [] |
extraEnv | Additional environment variables for Jupyter container as string template | "" |
⚠️⚠️⚠️ Warnings
- All startup arguments configured via
startupArgs.* can be completely overridden by setting the args parameter in values.yaml. When args is set, all default startup arguments are ignored, giving you full control over the Jupyter server startup command.
- Le
extraEnv parameter accepts a string template (multiline YAML using | ). Example usage:
extraEnv: |
- name: MY_VAR
value: value
3. Added Apache NiFi module
Caractéristique:
Added Apache NiFi to ilum-aio as a new module. This will allow users to easily deploy NiFi and use it next to Ilum.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
nifi.enabled | Flag to enable NiFi deployment in ilum-aio | faux |
nifi.fullnameOverride | Full name override for NiFi | ilum-nifi |
nifi.image.tag | Tag of the source NiFi image | 2.5.0 |
nifi.properties.safetyValve | Additional properties passed to nifi.properties | See valeurs.yaml |
nifi.persistence.enabled | Enables PVC for the data directory | vrai |
nifi.persistence.subpath.enabled | Enabled one PVC instead of many | vrai |
nifi.persistence.subpath.size | Size of the data directory | 10Gi |
nifi.zookeeper.enabled | Enables bundled Zookeeper deployment | faux |
nifi.registry.enabled | Enables bundled NiFi registry deployment | faux |
nifi.ca.enabled | Enables bundled CA deployment | faux |
nifi.openldap.enabled | Enables bundled openLDAP deployment | faux |
Valeurs ajoutées - ilum-ui
| Nom | Description | Valeur |
|---|
runtimeVars.nifiUrl | URL of the NiFi instance | http://ilum-nifi:8443/nifi/ |
runtimeVars.nifiPath | Proxy path of NiFi | /external/nifi/ |
nginx.config.nifi.enabled | Enable proxy for NiFi | faux |
nginx.config.http_cookie.nifi.enabled | Enables cookie mapping for NiFi | vrai |
Caractéristique:
Added integration with Project Nessie metastore in Ilum, which allows the use of Nessie as a metastore for Spark jobs.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
metastore.type | Indicates the default metastore | ruche |
metastore.nessie.address | The address of the default Nessie metastore | http://ilum-nessie:19120/api/v2 |
metastore.nessie.warehouseDir | The location of the warehouse of the default Nessie metastore | s3a://ilum-data/nessie_catalog |
metastore.nessie.s3Endpoint | The S3 API endpoint to use for the default Nessie metastore | http://ilum-minio:9000 |
metastore.nessie.s3PathStyleAccess | Whether to use path style access for the S3 Nessie connection | vrai |
metastore.nessie.authType | Auth type of the default Nessie metastore | NONE |
metastore.nessie.ref | The branch to use for the default Nessie metastore | principal |
metastore.nessie.cacheEnabled | Enables caching in the default Nessie metastore | faux |
metastore.nessie.catalog_name | The name of the catalog for the default Nessie metastore | nessie_catalog |
metastore.nessie.config | Additional config to add for the Spark job | See valeurs.yaml |
metastore.nessie.statusProbe | Status probe for the Nessie metastore, so Ilum-core does not launch too quickly | See valeurs.yaml |
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
nessie.enabled | Enables or disables bundled Nessie deployment | faux |
nessie.fullnameOverride | Full name override for Nessie | ilum-nessie |
nessie.versionStoreType | Type of persistent metadata storage | JDBC2 |
nessie.extraInitContainers | Adds init containers to Nessie (waiting for database) | See valeurs.yaml |
nessie.jdbc.jdbcUrl | Url for DB connection | jdbc:postgresql://ilum-postgresql-hl:5432/nessie |
nessie.jdbc.secret.name | Secret containing DB credentials | ilum-postgres-credentals |
nessie.jdbc.secret.username | Key of username in the secret | nom d’utilisateur |
nessie.jdbc.secret.password | Key of password in the secret | mot de passe |
Changements de noms - ilum-core
| Ancien nom | Nouveau nom |
|---|
hiveMetastore.enabled | metastore.enabled |
hiveMetastore.* | metastore.hive.* |
Valeurs modifiées - ilum-core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
kubernetes.defaultCluster.config | See valeurs.yaml | See valeurs.yaml |
⚠️⚠️⚠️ Warnings
This is an important change that will need to be addressed if any custom changes to the default configuration were made.
Please carefully review the changes and make sure they will not break your deployment.
5. Livy API now fully served by ilum-core (embedded)
Caractéristique:
Livy API is implemented and served directly by ilum-core (embedded).
The legacy Livy proxy is deprecated but can still be turned on for backward compatibility.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
ilum-core.livy.enabled | Enables embedded Livy integration in AIO via ilum-core | vrai |
ilum-core.livy.ilumUI.publicEndpoint | Public endpoint of ilum-ui used for Livy links/integration | http://localhost:9777 |
ilum-livy-proxy.legacy.enabled | Turns on the legacy Livy proxy resources (ConfigMap/Deployment/etc.) | faux |
⚠️⚠️⚠️ Warnings
- Le compat Service(
ilum-livy-proxy → ilum-core) is deprecated and will be removed in a future release.
- Le legacy proxy is also deprecated and will be removed after the transition period.
- Mode matrix (AIO):
ilum-livy-proxy.enabled=false & ilum-livy-proxy.legacy.enabled=false → nothing created; call ilum-core directly.
ilum-livy-proxy.enabled=true & ilum-livy-proxy.legacy.enabled=false → create compat Service pointing to the new ilum-core Livy API.
ilum-livy-proxy.enabled=false & ilum-livy-proxy.legacy.enabled=true → deploy legacy proxy.
- When legacy is enabled, update client endpoints to use the legacy Service:
ilum-jupyter.livyEndpoint = http://ilum-livy-proxy:8998
ilum-zeppelin.livyEndpoint = http://ilum-livy-proxy:8998
- Airflow connection:
AIRFLOW_CONN_ILUM-LIVY-PROXY=livy://ilum-livy-proxy:8998
- Some resources (e.g., ConfigMap/Ingress) are rendered based on
ilum-livy-proxy.legacy.enabled only (not on ilum-livy-proxy.enabled ).
6. Added cronjob cleaning after uninstalling
Caractéristique:
A pre-delete hook will now clean up kubernetes cronjobs after uninstalling the chart.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
cronjob.cleanup.enabled | Enable cronjob cleanup after uninstalling the chart | vrai |
cronjob.cleanup.image | Image used for the cleanup job | alpine/kubectl:1.34.1 |
RELEASE 6.5.2
1. SSH mode implementation for helm_jupyter
Caractéristique:
SSH mode in the helm_jupyter chart has been implemented to provide SSH access directly within the main Jupyter container. This allows users to access their Jupyter environment via SSH while maintaining workspace consistency between web and SSH interfaces.
Values added - helm_jupyter
SSH access configuration
| Nom | Description | Valeur |
|---|
ssh.enabled | Enable SSH access in the Jupyter container | vrai |
ssh.keysSecret | Name of the secret containing SSH keys | ilum-jupyter-ssh-keys |
ssh.service.type | SSH service type | NodePort |
ssh.service.port | SSH service port | 2222 |
ssh.service.nodePort | SSH service node port (when service type is NodePort) | "" |
ssh.service.clusterIP | SSH service cluster IP | "" |
ssh.service.loadBalancerIP | SSH service load balancer IP | "" |
ssh.service.annotations | SSH service annotations | {} |
ssh.sshdConfig.customConfig | Custom SSH server configuration | [] |
⚠️⚠️⚠️ Warnings
- SSH server runs directly in the main Jupyter container on port 2222 internally
- SSH keys must be provided via a Kubernetes Secret referenced by
ssh.keysSecret parameter
- The secret should contain both SSH host keys and authorized_keys for authentication
- SSH access provides direct access to the
/home/jovyan/work directory (same as web interface)
- Custom SSH server configuration can be provided via
ssh.sshdConfig.customConfig array
2. Address Bitnami’s move to bitnamilegacy+ bitnamisecure
Caractéristique:
Bitnami has moved to bitnamilegacy+ bitnamisecure for their images after the 18th of August 2025.
This change moves used images to the new repositories.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
global.security.allowInsecureImages | Allows images from outside of bitnami repository in Bitnami's charts | vrai |
kafka.image.repository | Repository for Kafka's image | bitnamilegacy/kafka |
minio.image.repository | Repository for Minio's image | bitnamilegacy/minio |
mlflow.image.repository | Repository for MlFlow's image | bitnamilegacy/mlflow |
postgresql.image.repository | Repository for Postgresql's image | bitnamilegacy/postgresql |
Values changed - ilum-aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
airflowExtensions.git.image | bitnami/git :2.48.1 | bitnamisecure/git@sha256:72ae5bd9715fc81446becc0418011883479c593bac427911aa62ecf27ef96546 |
postgresExtensions.image | bitnami/postgresql :16 | bitnamilegacy/postgresql:16 |
Valeurs modifiées - ilum-core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
kafka.statusProbe.image | bitnami/kafka :3.4.1 | bitnamilegacy/kafka:3.4.1 |
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
postgresql.image | bitnami/postgresql :16 | bitnamilegacy/postgresql:16 |
Values changed - ilum-jupyter
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
git.init.image | bitnami/git :2.48.1 | bitnamisecure/git@sha256:72ae5bd9715fc81446becc0418011883479c593bac427911aa62ecf27ef96546 |
Values changed - ilum-marquez
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
marquez.db.image | bitnami/postgresql :16 | bitnamilegacy/postgresql:16 |
1. Updated Airflow defaults in ilum-aio
Caractéristique:
Bumped Airflow to 3.0.5 and streamlined default connection/env configuration.
Removed legacy cleanup and scheduler overrides in favor of chart defaults and connection-based setup.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
airflow.enableBuiltInSecretEnvVars.AIRFLOW__CORE__FERNET_KEY | Enable default fernet key generation | faux |
Values changed - ilum-aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
airflow.extraEnv | See valeurs.yaml | See valeurs.yaml |
airflow.airflowVersion | 3.0.3 | 3.0.5 |
airflow.images.airflow.tag | 3.0.3 | 3.0.5 |
airflow.apiServer.extraInitContainers[0].image | ilum/airflow:3.0.3 | ilum/airflow:3.0.5 |
Values deleted - ilum-aio
| Nom | Raison |
|---|
airflow.scheduler.args | Revert to chart default scheduler command as we manage connections via env variables now |
airflow.cleanup.enabled | Use executor's instant cleanup |
airflow.config.kubernetes_executor.delete_worker_pods | Use chart defaults |
airflow.config.kubernetes_executor.delete_worker_pods_on_failure | Use chart defaults |
⚠️⚠️⚠️ Warnings
As the default Airflow’s fernet key creation mechanism made it impossible to enable Airflow via values upgrade, the mechanism will get disabled by default.
To use it once again, manually create a Kubernetes secret and set required values in the airflow chart.
3. Added configurable HTTP cookie mappings in ilum-ui
Caractéristique:
Added configurable HTTP cookie mappings in the ilum-ui nginx configuration. This allows users to enable or disable cookie-based access control for individual services or turn off the entire cookie mapping section. Each service can be controlled individually while maintaining backward compatibility with all options enabled by default.
Valeurs ajoutées - ilum-ui
HTTP cookie mapping configuration
| Nom | Description | Valeur |
|---|
nginx.config.http_cookie.enabled | Global flag to enable HTTP cookie mappings | vrai |
nginx.config.http_cookie.historyServer.enabled | Enable cookie mapping for history server access | vrai |
nginx.config.http_cookie.mlflow.enabled | Enable cookie mapping for MLflow access | vrai |
nginx.config.http_cookie.ilum-jupyter.enabled | Enable cookie mapping for Jupyter notebook access | vrai |
nginx.config.http_cookie.gitea.enabled | Enable cookie mapping for Gitea access | vrai |
nginx.config.http_cookie.n8n.enabled | Enable cookie mapping for n8n access | vrai |
nginx.config.http_cookie.minio.enabled | Enable cookie mapping for MinIO access | vrai |
nginx.config.http_cookie.airflow.enabled | Enable cookie mapping for Airflow access | vrai |
nginx.config.http_cookie.superset.enabled | Enable cookie mapping for Superset access | vrai |
nginx.config.http_cookie.grafana.enabled | Enable cookie mapping for Grafana access | vrai |
nginx.config.http_cookie.kestra.enabled | Enable cookie mapping for Kestra access | vrai |
nginx.config.http_cookie.mageai.enabled | Enable cookie mapping for Mage AI access | vrai |
4. PostgreSQL Max Connections Configuration
Caractéristique:
Added PostgreSQL max_connections configuration to address database connection limits in high-load scenarios.
Valeurs ajoutées - ilum-aio
PostgreSQL configuration
| Nom | Description | Valeur |
|---|
postgresql.primary.extendedConfiguration | Extended PostgreSQL configuration to set max_connections parameter | max_connections = 1000 |
RELEASE 6.4.3
1. Added Mage to ilum-aio
Caractéristique:
Added Mage OSS to ilum-aio as a new module. This will allow users to easily deploy Mage and use it next to Ilum.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
mageai.enabled | Flag to enable Mage OSS deployment in ilum-aio | faux |
mageai.fullnameOverride | Overrides the full name of the Mage deployment | ilum-mageai |
mageai.image.repository | Repository of the source Mage image | ilum/mageai |
mageai.image.tag | Tag of the source Mage image | 0.9.76 |
mageai.rootPath | The root path for the Mage web server | external/mageai |
mageai.service.type | Type of Mage's kubernetes service | ClusterIP (en anglais) |
mageai.redis.enabled | Enables Redis for the Mage deployment | faux |
mageai.postgresql.enabled | Enables external Postgres for Mage | vrai |
mageai.postgresql.deploy | Deploys external Postgres for Mage | faux |
mageai.postgresql.fullnameOverride | The name of the Postgres service | ilum-postgresql-hl |
mageai.postgresql.auth.username | Username of the Postgres user | ilum |
mageai.postgresql.auth.password | Password of the Postgres user | CHANGEMEPLEASE |
mageai.postgresql.auth.database | The database Mage should use | mageai |
mageai.persistence.enabled | Enables PVC for the main data directory | vrai |
2. Updated Airflow’s chart and values to support Airflow 3.0
Caractéristique:
Updated Airflow’s chart and values to support Airflow 3.0, which includes changes in the configuration and deployment of Airflow.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
airflow.airflowVersion | Sets chart compatibility for given Airflow version | 3.0.3 |
airflow.apiServer.* | apiServer replaces webserver settings | See valeurs.yaml |
airflow.config.core.auth_manager | Class of auth manager used in Airflow | airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager |
airflow.config.api.base_url | The base path of the Airflow web app | http://localhost:9777/external/airflow |
airflow.config.api.enable_xcom_deserialize_support | Enables XCom deserialization in Airflow API | Vrai |
airflow.config.logging.colored_console_log | Enables colored console log in Airflow | Vrai |
airflow.config.kubernetes_executor.delete_worker_pods | Enables instant deletion of worker pods | False |
airflow.config.kubernetes_executor.delete_worker_pods_on_failure | Enables instant deletion of failed worker pods | False |
airflow.cleanup.enabled | Enables periodic deletion of worker pods | Vrai |
Values changed - ilum-aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
airflow.images.airflow.tag | 2.9.3 | 3.0.3 |
airflow.executor | LocalKubernetesExecutor | KubernetesExecutor |
airflow.extraEnv | See valeurs.yaml | See valeurs.yaml |
airflow.webserver.extraInitContainers | See valeurs.yaml | See valeurs.yaml |
Values deleted - ilum-aio
| Nom | Raison |
|---|
airflow.migrateDatabaseJob.useHelmHooks | Revert to chart default |
Values changed - ilum-ui
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
runtimeVars.airflowUrl | http://ilum-airflow-webserver:8080 | http://ilum-airflow-api-server:8080 |
⚠️⚠️⚠️ Warnings
Ilum’s changes, Airflow 3.0 and the new Airflow chart version bring significant changes to the Airflow configuration and deployment.
Please review the new values and adjust your configuration accordingly.
If you are a user of Ilum’s OAuth2 provider, this update may require you to manually update some configuration,
as Helm is likely to not be able to automatically migrate the values.
3. Added securityContext configuration for ilum charts
Caractéristique:
Added comprehensive securityContext configuration for enhanced security across all ilum Helm charts. This includes both pod-level and container-level security contexts with non-root user execution, capability dropping, and seccomp profiles.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
securityContext.pod.runAsNonRoot | Run container as non-root user | vrai |
securityContext.pod.runAsUser | User ID to run the container | 1001 |
securityContext.pod.runAsGroup | Group ID to run the container | 1001 |
securityContext.pod.fsGroup | File system group ID | 1001 |
securityContext.pod.seccompProfile.type | Seccomp profile type | Unconfined |
securityContext.container.allowPrivilegeEscalation | Allow privilege escalation | faux |
securityContext.container.readOnlyRootFilesystem | Read-only root filesystem | faux |
securityContext.container.runAsNonRoot | Run container as non-root user | vrai |
securityContext.container.runAsUser | User ID to run the container | 1001 |
securityContext.container.runAsGroup | Group ID to run the container | 1001 |
securityContext.container.capabilities.drop | Capabilities to drop | ["ALL"] |
securityContext.container.seccompProfile.type | Seccomp profile type | Unconfined |
Valeurs ajoutées - ilum-ui
| Nom | Description | Valeur |
|---|
securityContext.pod.runAsNonRoot | Run pod as non-root user | vrai |
securityContext.pod.runAsUser | User ID to run the pod | 101 |
securityContext.pod.runAsGroup | Group ID to run the pod | 101 |
securityContext.pod.fsGroup | File system group ID | 101 |
securityContext.pod.seccompProfile.type | Seccomp profile type | Unconfined |
securityContext.container.allowPrivilegeEscalation | Allow privilege escalation | faux |
securityContext.container.readOnlyRootFilesystem | Read-only root filesystem | faux |
securityContext.container.runAsNonRoot | Run container as non-root user | vrai |
securityContext.container.runAsUser | User ID to run the container | 101 |
securityContext.container.runAsGroup | Group ID to run the container | 101 |
securityContext.container.capabilities.drop | Capabilities to drop | ["ALL"] |
securityContext.container.seccompProfile.type | Seccomp profile type | Unconfined |
Valeurs ajoutées - ilum-jupyter
| Nom | Description | Valeur |
|---|
securityContext.container.allowPrivilegeEscalation | Allow privilege escalation | faux |
securityContext.container.readOnlyRootFilesystem | Read-only root filesystem | faux |
securityContext.container.runAsNonRoot | Run container as non-root user | vrai |
securityContext.container.runAsUser | User ID to run the container | 1000 |
securityContext.container.runAsGroup | Group ID to run the container | 100 |
securityContext.container.capabilities.drop | Capabilities to drop | ["ALL"] |
securityContext.container.seccompProfile.type | Seccomp profile type | Unconfined |
securityContext.initContainer.allowPrivilegeEscalation | Allow privilege escalation for init container | faux |
securityContext.initContainer.readOnlyRootFilesystem | Read-only root filesystem for init container | faux |
securityContext.initContainer.runAsNonRoot | Run init container as non-root user | faux |
securityContext.initContainer.runAsUser | User ID to run the init container | 0 |
securityContext.initContainer.runAsGroup | Group ID to run the init container | 0 |
securityContext.initContainer.capabilities.drop | Capabilities to drop for init container | ["ALL"] |
securityContext.initContainer.seccompProfile.type | Seccomp profile type for init container | Unconfined |
Valeurs ajoutées - ilum-livy-proxy
| Nom | Description | Valeur |
|---|
securityContext.pod.runAsNonRoot | Run pod as non-root user | vrai |
securityContext.pod.runAsUser | User ID to run the pod | 1001 |
securityContext.pod.runAsGroup | Group ID to run the pod | 1001 |
securityContext.pod.fsGroup | File system group ID | 1001 |
securityContext.pod.seccompProfile.type | Seccomp profile type | Unconfined |
securityContext.container.allowPrivilegeEscalation | Allow privilege escalation | faux |
securityContext.container.readOnlyRootFilesystem | Read-only root filesystem | faux |
securityContext.container.runAsNonRoot | Run container as non-root user | vrai |
securityContext.container.runAsUser | User ID to run the container | 1001 |
securityContext.container.runAsGroup | Group ID to run the container | 1001 |
securityContext.container.seccompProfile.type | Seccomp profile type | Unconfined |
Valeurs ajoutées - ilum-aio
Added securityContext configuration for postgresExtensions
| Nom | Description | Valeur |
|---|
postgresExtensions.securityContext.pod.runAsNonRoot | Run pod as non-root user | vrai |
postgresExtensions.securityContext.pod.runAsUser | User ID to run the pod | 999 |
postgresExtensions.securityContext.pod.runAsGroup | Group ID to run the pod | 999 |
postgresExtensions.securityContext.pod.fsGroup | File system group ID | 999 |
postgresExtensions.securityContext.pod.seccompProfile.type | Seccomp profile type | Unconfined |
postgresExtensions.securityContext.container.allowPrivilegeEscalation | Allow privilege escalation | faux |
postgresExtensions.securityContext.container.readOnlyRootFilesystem | Read-only root filesystem | faux |
postgresExtensions.securityContext.container.runAsNonRoot | Run container as non-root user | vrai |
postgresExtensions.securityContext.container.runAsUser | User ID to run the container | 999 |
postgresExtensions.securityContext.container.runAsGroup | Group ID to run the container | 999 |
postgresExtensions.securityContext.container.capabilities.drop | Capabilities to drop | ["ALL"] |
postgresExtensions.securityContext.container.seccompProfile.type | Seccomp profile type | Unconfined |
RELEASE 6.4.2
1. changed openldap chart provider to jp-gouin's
Caractéristique:
Changed openldap chart provider to jp-gouin's, which is more actively maintained and has better support for features like TLS.
Because of that, the default configuration of openldap was changed to reflect the new provider's defaults.
Valeurs modifiées - ilum-core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
security.ldap.userMapping.enabled | Sn | employeeType |
security.ldap.userMapping.enabledValue | ~ | active |
security.ldap.password | Admin | Not@SecurePassw0rd |
Valeurs ajoutées - ilum-aio
Added new values for openldap configuration
| Nom | Description | Valeur |
|---|
global.ldapDomain | Domain of the LDAP configuration | ilum.cloud |
openldap.replicaCount | Replica count of openLDAP | 1 |
openldap.replication.enabled | Enable HA for openLDAP | faux |
openldap.ltb-passwd.enabled | Enable ltb-passwd service | faux |
openldap.phpldapadmin.enabled | Enable PhpLdapAdmin | faux |
Values changed - ilum-aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
openldap.env.LDAP_BACKEND | hdb | mdb |
openldap.customLdifFiles | see valeurs.yaml | see valeurs.yaml |
Values deleted - ilum-aio
| Nom | Raison |
|---|
openldap.env.LDAP_ORGANISATION | Managed by the chart |
openldap.env.LDAP_DOMAIN | Managed by the chart |
openldap.env.LDAP_TLS | Managed by the chart |
openldap.env.LDAP_TLS_ENFORCE | Managed by the chart |
RELEASE 6.4.1
1. Adapt hydra to https
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
global.security.hydra.uiDomaine | Domain where ilum-ui can be accessed from browser | `` |
global.security.hydra.uiProtocole | Protocol used to access ilum-ui: http ou https | http |
Values deleted - ilum-aio
| Nom | Raison |
|---|
global.security.hydra.uiUrl | Remplacé par uiDomain et uiProtocole |
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
hydra.cookies.same_site_mode | SameSite value for hydra cookies in set-cookie header | Laxiste |
2. Added openldap to helm chart and ilum-to-ldap synchronization
Valeurs ajoutées - ilum-aio
Added openldap configuration values
| Nom | Description | Valeur |
|---|
openldap.enabled | Flag used to enable openldap | faux |
openldap.adminPassword | Password of admin ldap user | Admin |
openldap.fullnameOverride | Name of Openldap helm chart resources | ilum-openldap |
openldap.persistence.enabled | Flag to enable persistence by openldap | vrai |
openldap.persistence.size | Memory used by openldap for storage | 1Gi |
openldap.env.LDAP_ORGANIZATION | Organization name of main ldap domain | Ilum |
openldap.env.LDAP_DOMAIN | Main domain used in ldap by admin | ilum.cloud |
openldap.env.LDAP_BACKEND | Type of ldap backend | hdb |
openldap.env.LDAP_TLS | Flag used to enable TLS in ldap | faux |
openldap.env.LDAP_TLS_ENFORCE | Flag used to enforce TLS in ldap | faux |
openldap.env.LDAP_REMOVE_CONFIG_AFTER_SETUP | Flag used to update config | vrai |
openldap.customLdifFiles.schemas.ldif | File with custom schem applied at the startup | <initial-schema.ldif> |
Valeurs ajoutées - ilum-core
Added configurations for synchronization of ldap with ilum
| Nom | Description | Valeur |
|---|
security.ldap.ilumToLdapSync | Flag used to enable ilum to ldap sync | faux |
security.ldap.userMapping.oc | OC values used during insertion of ilum users into ldap | <default-oc-list> |
security.ldap.groupMapping.oc | OC values used during insertion of ilum groups into ldap | <default-oc-list> |
Valeurs modifiées - ilum-core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
security.ldap.urls | [] | [ "ldap://ilum-openldap:389" ] |
security.ldap.base | "" | dc=ilum,dc=cloud |
security.ldap.nom_utilisateur | "" | cn=admin,dc=ilum,dc=cloud |
security.ldap.password | "" | Admin |
security.ldap.adminUsers | [ "admin" ] | [ "admin", "ilumadmin" ] |
security.ldap.userMapping.base | "" | ou=personnes |
security.ldap.userMapping.fullname | "" | Cn |
security.ldap.userMapping.description | "" | description |
security.ldap.userMapping.email | "" | courrier |
security.ldap.userMapping.enabled | "" | Sn |
security.ldap.userMapping.base | "" | ou=groups |
security.ldap.userMapping.description | "" | description |
3. Restricted RBAC Mode for ilum-core service
Caractéristique:
Introduced a new rbac.restricted.enabled flag in the ilum-core chart. When set to vrai , this option applies a more restrictive set of RBAC permissions for the service account.
This enhances security by adhering to the principle of least privilege and is recommended for production or security-sensitive environments.
Valeurs ajoutées - ilum-core
Added a flag to enable a more restrictive RBAC configuration.
| Nom | Description | Valeur |
|---|
rbac.restricted.enabled | If true, applies a more restrictive, non-cluster-wide set of RBAC permissions for Spark applications. | faux |
4. Added Activé flag to Trino in ilum-sql
Caractéristique:
Supplémentaire Activé flag to Trino in ilum-sql, which allows users to disable Trino if they do not need it.
This also will help ilum-ui with the configuration of Trino.
Values added - ilum-sql
| Nom | Description | Valeur |
|---|
config.trino.enabled | Flag to enable Trino in ilum-sql | faux |
⚠️⚠️⚠️ Warnings
Trino was enabled by default, so if you wish to enable it after the version upgrade,
you need to set ilum-sql.config.trino.enabledÀ vrai dans vos valeurs de casque.
RELEASE 6.4.0
1. Addition of OAuth Provider and its integration with Services
Caractéristique:
Added Hydra deployment to helm chart and fields to configure it
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
global.security.hydra.enabled | Flag to enable hydra | faux |
global.security.hydra.uiUrl | Ilum UI url required to configure OpenID connect | `` |
global.security.hydra.clientId | Client Id of OpenID client created in hydra | ilum-client |
global.security.hydra.cliendSecret | Client Secret of OpenId Client created in hydra | secret |
hydra.dsn | DSN for database used by hydra | postgres://ilum:CHANGEMEPLEASE@ilum-postgresql:5432/hydra?sslmode=disable |
hydra.secretsSystem | Secret used by hydra to securily store data | CHANGEMEPLEASE |
hydra.recreateClient | Boolean flag for OpenId client recreation during hydra startup | vrai |
hydra.resources.requests | Memory and CPU limits and requests used by hydra deployment | zéro |
hydra.imagePullPolicy | Hydra container image pull policy | IfNotPresent |
hydra.service.domain | Domain used by hydra service | ilum-hydra |
hydra.service.publicPort | Port that exposes public api of hydra | 4444 |
hydra.service.adminPort | Port that exposes admin api of hydra | 4445 |
hydra.service.type | Hydra service type | ClusterIP (en anglais) |
hydra.service.publicNodePort | Hydra service node port assigned to public port | `` |
hydra.service.publicNodePort | Hydra service node port assigned to admin port | `` |
hydra.service.clusterIP | Hydra service cluster IP | `` |
hydra.service.loadBalancerIP | Hydra service load balancer IP | `` |
hydra.service.annotations | Annotations used by hydra service | {} |
hydra.separateDeployment | Flag to launch hydra in a separate deployment or in ilum-core | vrai |
Valeurs ajoutées - ilum-ui
| Nom | Description | Valeur |
|---|
runtimeVars.hydraUrl | Url of Hydra Public API | http://ilum-hydra:4444 |
runtimeVars.hydraPath | ilum-ui proxy-path to hydra public api | /external/hydra |
Caractéristique
Added helm values to specify how roles and groups from ilum-core are going to be mapped to microservices of ilum
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
hydra.rewriteMapping | Boolean flag for recreation of ilum-to-services roles config after ilum-core restart | vrai |
hydra.mapping.minioMinAccessRole | Default role assigned to ilum users with access to minio | Lecture seule |
hydra.mapping.airflowMinAccessRole | Default role assigned to ilum users with access to airflow | Viewer |
hydra.mapping.supersetMinAccessRole | Default role assigned to ilum users with access to superset | Gamma |
hydra.mapping.grafanaMinAccessRole | Default role assigned to ilum users with access to grafana | Viewer |
hydra.mapping.giteaMinAccessRole | Default role assigned to ilum users with access to gitea | `` |
hydra.mapping.groupsToMinio | Map of ilum groups to a list of minio policies | zéro |
hydra.mapping.groupsToSuperset | Map of ilum groups to a list of superset roles | zéro |
hydra.mapping.groupsToAirflow | Map of ilum groups to a list of airflow roles | zéro |
hydra.mapping.groupsToGrafana | Map of ilum groups to a list of grafana roles | zéro |
hydra.mapping.groupsToGitea | Map of ilum groups to a list of gitea roles | zéro |
hydra.mapping.groupsToMinio[*].ilumObj | Name of ilum group to be mapped | `` |
hydra.mapping.groupsToMinio[*].serviceObjs | List of minio policies that the ilum group is mapped to | `` |
hydra.mapping.groupsToSuperset[*].ilumObj | Name of ilum group to be mapped | `` |
hydra.mapping.groupsToSuperset[*].serviceObjs | List of superset roles that the ilum group is mapped to | `` |
hydra.mapping.groupsToAirflow[*].ilumObj | Name of ilum group to be mapped | `` |
hydra.mapping.groupsToAirflow[*].serviceObjs | List of airflow roles that the ilum group is mapped to | `` |
hydra.mapping.groupsToGrafana[*].ilumObj | Name of ilum group to be mapped | `` |
hydra.mapping.groupsToGrafana[*].serviceObjs | List of grafana roles that the ilum group is mapped to | `` |
hydra.mapping.groupsToGitea[*].ilumObj | Name of ilum group to be mapped | `` |
hydra.mapping.groupsToGitea[*].serviceObjs | List of gitea roles that the ilum group is mapped to | `` |
hydra.mapping.rolesToGitea | Map of ilum roles to a list of gitea roles | zéro |
hydra.mapping.rolesToMinio[0].ilumObj | Name of ilum role to be mapped | ADMIN |
hydra.mapping.rolesToMinio[0].serviceObjs | List of minio policies that the ilum role is mapped to | [ consoleAdmin ] |
hydra.mapping.rolesToMinio[1].ilumObj | Name of ilum role to be mapped | DATA_ENGINEER |
hydra.mapping.rolesToMinio[1].serviceObjs | List of minio policies that the ilum role is mapped to | [ readonly, writeonly, diagnostics ] |
hydra.mapping.rolesToSuperset[0].ilumObj | Name of ilum role to be mapped | ADMIN |
hydra.mapping.rolesToSuperset[0].serviceObjs | List of superset roles that the ilum role is mapped to | [ Admin ] |
hydra.mapping.rolesToSuperset[1].ilumObj | Name of ilum role to be mapped | DATA_ENGINEER |
hydra.mapping.rolesToSuperset[1].serviceObjs | List of superset roles that the ilum role is mapped to | [ Alpha ] |
hydra.mapping.rolesToAirflow[0].ilumObj | Name of ilum role to be mapped | ADMIN |
hydra.mapping.rolesToAirflow[0].serviceObjs | List of airflow roles that the ilum role is mapped to | [ Admin ] |
hydra.mapping.rolesToAirflow[1].ilumObj | Name of ilum role to be mapped | DATA_ENGINEER |
hydra.mapping.rolesToAirflow[1].serviceObjs | List of airflow roles that the ilum role is mapped to | [ User ] |
hydra.mapping.rolesToGrafana[0].ilumObj | Name of ilum role to be mapped | ADMIN |
hydra.mapping.rolesToGrafana[0].serviceObjs | List of grafana roles that the ilum role is mapped to | [ Admin ] |
hydra.mapping.rolesToGrafana[1].ilumObj | Name of ilum role to be mapped | DATA_ENGINEER |
hydra.mapping.rolesToGrafana[1].serviceObjs | List of grafana roles that the ilum role is mapped to | [ Editor ] |
hydra.mapping.rolesToMinio[*].ilumObj | Name of ilum role to be mapped | `` |
hydra.mapping.rolesToMinio[*].serviceObjs | List of minio policies that the ilum role is mapped to | `` |
hydra.mapping.rolesToSuperset[*].ilumObj | Name of ilum role to be mapped | `` |
hydra.mapping.rolesToSuperset[*].serviceObjs | List of superset roles that the ilum role is mapped to | `` |
hydra.mapping.rolesToAirflow[*].ilumObj | Name of ilum role to be mapped | `` |
hydra.mapping.rolesToAirflow[*].serviceObjs | List of airflow roles that the ilum role is mapped to | `` |
hydra.mapping.rolesToGrafana[*].ilumObj | Name of ilum role to be mapped | `` |
hydra.mapping.rolesToGrafana[*].serviceObjs | List of grafana roles that the ilum role is mapped to | `` |
hydra.mapping.rolesToGitea[*].ilumObj | Name of ilum role to be mapped | `` |
hydra.mapping.rolesToGitea[*].serviceObjs | List of gitea roles that the ilum role is mapped to | `` |
Caractéristique
Integrated minio with Hydra OIDC in values.yaml by adding new environment variables with oidc client data taken from global.security.hydra
Values added - minio
| minio.extraEnvVars | | |
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
minio.extraEnvVars | ... | ... |
Caractéristique
Integrated airflow with Hydra OIDC in values.yaml
Values added - airflow
| Nom | Description | Valeur |
|---|
airflow.webserver.extraVolumes[0].name | Name of additional airflow volume with oidc config | oauth-secret-volume |
airflow.webserver.extraVolumes[0].secret.secretName | Airflow secret with hydra oidc client config | ilum-hydra-client-secret |
airflow.webserver.extraVolumeMounts[0].name | Name of volume-mount of secret with oidc config | oauth-secret-volume |
airflow.webserver.extraVolumeMounts[0].mountPath | Path for volume-mount of secret with oidc config | /opt/airflow/client-secret |
airflow.webserver.extraVolumeMounts[0].readOnly | readonly flag of volume mount with oidc config | vrai |
Caractéristique
Integrated grafana with Hydra OIDC in values.yaml
Values added - grafana
| Nom | Description | Valeur |
|---|
grafana.grafana.ini.auth.generic_oauth.enabled | Flag to enable oauth in grafana, taken from global.security.hydra.enabled by default | faux |
grafana.grafana.ini.auth.generic_oauth.name | Name of oauth client | Ilum |
grafana.grafana.ini.auth.generic_oauth.allow_sign_up | Flag to enable user creation when signing in with oauth | vrai |
grafana.grafana.ini.auth.generic_oauth.client_id | Id of oauth client, taken from global.security.hydra.clientId by default | ilum-client |
grafana.grafana.ini.auth.generic_oauth.client_secret | Secret of oauth client, taken from global.security.hydra.clientSecret by default | secret |
grafana.grafana.ini.auth.generic_oauth.scopes | Scopes requested from oauth | openid profile email offline_access |
grafana.grafana.ini.auth.generic_oauth.auth_url | Url used to initiate oauth authentication, uses global.security.hydra.uiUrl as base by default | /external/hydra/oauth2/auth |
grafana.grafana.ini.auth.generic_oauth.token_url | Url used for tokens exchange in oauth workflow, uses global.security.hydra.uiUrl as base by default | /external/hydra/oauth2/token |
grafana.grafana.ini.auth.generic_oauth.api_url | Url used to access user info, uses global.security.hydra.uiUrl as base by default | /external/hydra/userinfo |
grafana.grafana.ini.auth.generic_oauth.login_attribute_path | Id token claim used to distinguish different users | userId |
grafana.grafana.ini.auth.generic_oauth.email_attribute_name | Id token claim with email | Messagerie électronique |
grafana.grafana.ini.auth.generic_oauth.role_attribute_path | Expression used to map roles from id_token to grafana | ... |
grafana.grafana.ini.auth.generic_oauth.role_attribute_strict | Flag to require the role during sign up | vrai |
Caractéristique
Integrated superset with Hydra OIDC in values.yaml
Values added - superset
| Nom | Description | Valeur |
|---|
superset.configOverrides.ilum_oauth_security | Code added to superset config in order to enable oidc | ... |
superset.extraVolumes[0].name | Name of extra volume with a secret for oidc connection | oauth-secret-volume |
superset.extraVolumes[0].secret.secretName | Name of secret used in extra volume for oidc connection | ilum-hydra-client-secret |
superset.extraVolumes[1].name | Name of extra volume with superset plugin used to enable oidc | oauth-plugin-volume |
superset.extraVolumes[1].secret.secretName | Secret with superset plugin used to enable oidc | ilum-superset-oidc-plugin-secret |
superset.extraVolumeMounts[0].name | Name of volume mount with oidc secret data | oauth-secret-volume |
superset.extraVolumeMounts[0].mountPath | Path of volume mount with oidc secret data | /app/pythonpath/oauth |
superset.extraVolumeMounts[1].name | Name of volume mount with a superset plugin as a python file | oauth-plugin-volume |
superset.extraVolumeMounts[1].mountPath | Path of volume mound with a superset plugin | /app/pythonpath/security |
2. Addition of examples for ilum-core and superset
Caractéristique:
Added examples for Ilum modules. New Ilum users can use these examples to quickly understand how to use Ilum modules like ilum-sql, superset and others.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
examples.job | Enables creating single job example | vrai |
examples.schedule | Enables creating schedule example | vrai |
examples.sqlNotebook | Enables creating sql notebook example | vrai |
examples.sqlQuery | Enables creating sql query example | vrai |
examples.database | Enables creating database example | vrai |
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
ilum-core.examples.job | Enables creating single job example | vrai |
ilum-core.examples.schedule | Enables creating schedule example | vrai |
ilum-core.examples.sqlNotebook | Enables creating sql notebook example | vrai |
ilum-core.examples.sqlQuery | Enables creating sql query example | vrai |
ilum-core.examples.database | Enables creating database example | vrai |
superset.extraEnv.IMPORT_DASHBOARD | Enables creating superset dashboard example | vrai |
superset.extraVolumes[2].name | Volume name for dashboard import | example-dashboard |
superset.extraVolumes[2].configMap.name | ConfigMap that contains base64-encoded dashboard | ilum-superset-example-dashboard |
superset.extraVolumeMounts[2].name | Mount name for example dashboard config | example-dashboard |
superset.extraVolumeMounts[2].mountPath | Path in container to mount the dashboard config | /config |
superset.extraVolumeMounts[2].readOnly | Mount config as read-only | vrai |
superset.init.initscript | Custom init script to conditionally import dashboard | See script in ilum-aio values file |
3. Internal users upgrade credentials flag
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
ilum-core.security.internal.upgradeCredentials | Enables overriding user password with helm configuration | faux |
4. Tighter integration of Marquez with Ilum
Caractéristique:
Enhanced Marquez integration with ilum-core, which means no direct communication between ilum-frontend and Marquez is needed anymore.
This way, having a customized Marquez build is not necessary anymore.
Valeurs modifiées - ilum-core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
job.openLineage.transport.endpoint | /externe/lignage/api/v1/lignage | /api/v1/lineage |
5. Changed superset load example variable name
Values deleted - ilum-aio
| Nom | Raison |
|---|
superset.extraEnv.IMPORT_DASHBOARD | Changed to other variable name |
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
superset.init.loadExamples | Enables creating superset dashboard example | vrai |
RELEASE 6.3.2
1. Addition of frequently used values to ilum-sql
Caractéristique:
Added frequently used values to ilum-sql chart, so that their configuration is easier.
Values added - ilum-sql
| Nom | Description | Valeur |
|---|
config.kyuubi.logLevel | Base log-level of the log4j framework | INFO |
config.kyuubi.idleEngineTimeout | Auto-shutdown time of Kyuubi engines | 30M |
config.kyuubi.idleSessionTimeout | Auto-shutdown time of Kyuubi sessions | 30M |
config.kyuubi.engineAliveProbe | Whether to create a probe, which will check engine liveness | vrai |
config.kyuubi.cleanupTerminatedSparkDriverPods | Determines which of the terminated Spark engine pods will get deleted. Available: NONE, COMPLETED, ALL | ALL |
Values changed - ilum-aio
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
ilum-sql.config.kyuubi.defaults | see valeurs.yaml | ~ |
⚠️⚠️⚠️ Warnings
Because these values were already present in the ilum-aio chart,
the change will not be noticeable for users who have changed the value of ilum-sql.config.kyuubi.defaults.
2. Support of Trino in ilum-sql
Caractéristique:
Introduced support for Trino as an SQL engine in ilum-sql chart.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
trino.enabled | Enables built-in Trino | faux |
trino.nameOverride | Sets the name override | ilum-trino |
trino.coordinatorNameOverride | Sets the name override for the coordinator | ilum-trino-coordinator |
trino.workerNameOverride | Sets the name override for the worker nodes | ilum-trino-worker |
trino.server.workers | Sets the number of workers | 1 |
trino.catalogs.ilum-delta | Configures the 'ilum-delta' catalog | See valeurs.yaml |
ilum-sql.config.trino.catalog | The catalog of choice for Trino | ilum-delta |
Values added - ilum-sql
| Nom | Description | Valeur |
|---|
config.trino.url | Url pointing to Trino coordinator | http://ilum-trino:8080 |
config.trino.catalog | The catalog of choice for Trino | système |
config.trino.defaults | Additional settings of Trino engines. All properties must be prefixed with trino. | ~ |
3. Enhanced Oauth2
Caractéristique
Added users, groups and roles mapping during authentication from OAuth2 Autherization server to Ilum Core.
Added ability to assign Admin role to oauth2 users.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
security.oauth2.mapping.id | JWT claim that should be mapped to user`s id | "" |
security.oauth2.mapping.name | JWT claim that should be mapped to user`s name | sub |
security.oauth2.mapping.email | JWT claim that should be mapped to user`s email | Messagerie électronique |
security.oauth2.mapping.fullname | JWT claim that should be mapped to user`s fullname | nom complet |
security.oauth2.mapping.description | JWT claim that should be mapped to user`s description | "" |
security.oauth2.mapping.department | JWT claim that should be mapped to user`s department | "" |
security.oauth2.mapping.groups | JWT claim with a list of groups that user is a part of represented by strings | « groupes » |
security.oauth2.mapping.roles | JWT claim with a list of roles that user uses represented by strings | « rôles » |
security.oauth2.mapping.enabled | JWT claim that should be mapped to user`s state | "" |
security.oauth2.mapping.enabledTrue | Value of JWT claim with the name of mapping.enabledqui signifie ENABLED | "" |
security.oauth2.mapping.singleGroup | JWT claim that contains a string with name of group that the user is part of | "" |
security.oauth2.mapping.singleRole | JWT claim that contains a string with name of role that the user has | "" |
4. Addition of kubernetes s3 region to ilum-core and ilum-aio
Caractéristique:
Added the ability to set the S3 region in ilum-core.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
kubernetes.s3.region | default kubernetes cluster S3 storage region to store spark resources | États-Unis-Est-1 |
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
ilum-core.kubernetes.s3.region | default kubernetes cluster S3 storage region to store spark resources | États-Unis-Est-1 |
ilum-core.kubernetes.defaultCluster.config.spark.hadoop.fs.s3a.bucket.ilum-data.region | default kubernetes cluster S3 storage region to store spark resources | États-Unis-Est-1 |
5. Protocol in superset
Caractéristique:
Added the ability to set the protocol in superset.
Values added - superset
| Nom | Description | Valeur |
|---|
protocole | superset protocol | http |
Caractéristique:
Added possibility to enable status probe for hive metastore.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
hiveMetastore.statusProbe.enabled | Hive metastore status probe enabled flag | faux |
hiveMetastore.statusProbe.image | Hive metastore status probe image | curlimages/curl :8.5.0 |
hiveMetastore.statusProbe.host | Hive metastore status probe host | ilum-hive-metastore |
hiveMetastore.statusProbe.port | Hive metastore status probe port | 9083 |
VERSION 6.3.1
Caractéristique
Ajout de la possibilité d’inclure des compartiments supplémentaires dans la configuration du stockage Spark du cluster ilum.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
kubernetes.s3.extraBuckets | ilum-core cluster kubernetes par défaut Stockage S3 Compartiments supplémentaires à inclure | [] |
kubernetes.gcs.extraBuckets | ilum-core cluster kubernetes par défaut Stockage GCS Compartiments supplémentaires à inclure | [] |
kubernetes.wasbs.extraContainers | ilum-core cluster kubernetes par défaut stockage WASBS conteneurs supplémentaires à inclure | [] |
kubernetes.hdfs.extraCatalogs | ilum-core cluster kubernetes par défaut Stockage HDFS Catalogues supplémentaires à inclure | [] |
2. LDAP amélioré
Added the ability to map users, groups, and roles — along with their properties and relationships — from an LDAP server to Ilum Core based on mapping configurations in Helm.
Enabled the option to assign Admin role to LDAP users.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
security.ldap.userMapping.base | Base LDAP d’entrées utilisateur | "" |
security.ldap.userMapping.filter | Filtre LDAP utilisé pour la recherche d’utilisateurs | « uid={0} » |
security.ldap.userMapping.nom_utilisateur | Nom de l’attribut LDAP qui doit être mappé au nom d’utilisateur de l’utilisateur | Uid |
security.ldap.userMapping.password | Nom de l’attribut LDAP qui doit être mappé au mot de passe de l’utilisateur | userPassword |
security.ldap.userMapping.description | Nom de l’attribut LDAP qui doit être mappé à la description de l’utilisateur | "" |
security.ldap.userMapping.fullname | Nom de l’attribut LDAP qui doit être mappé au nom complet de l’utilisateur | "" |
security.ldap.userMapping.department | Nom de l’attribut LDAP qui doit être mappé au service de l’utilisateur | "" |
security.ldap.userMapping.email | Nom de l’attribut LDAP qui doit être mappé à l’adresse e-mail de l’utilisateur | "" |
security.ldap.userMapping.enabled | Nom de l’attribut LDAP qui doit être mappé à l’état de l’utilisateur | "" |
security.ldap.userMapping.enabledValue | Valeur de l’attribut avec le nom de userMapping.enabled qui signifie ENABLED | "" |
security.ldap.groupMapping.base | Base LDAP pour les entrées de groupe | "" |
security.ldap.groupMapping.filter | Filtre LDAP utilisé pour la recherche de groupes | (membre = {0}) |
security.ldap.groupMapping.name | Nom de l’attribut LDAP qui doit être mappé au nom du groupe | Cn |
security.ldap.groupMapping.description | Nom de l’attribut LDAP qui doit être mappé à la description du groupe | "" |
security.ldap.groupMapping.memberAttribute | Nom de l’attribut LDAP qui répertorie les utilisateurs ayant le groupe | Uid |
security.ldap.groupMapping.roles | Attribut LDAP qui répertorie les rôles inclus dans le groupe | "" |
security.ldap.groupMapping.roleFilterAttribute | Attribut LDAP des rôles qui représente un rôle dans groupMapping.roles attribut | "" |
security.ldap.groupMapping.enabled | Nom de l’attribut LDAP qui doit être mappé à l’état du groupe | "" |
security.ldap.groupMapping.enabledTrue | Valeur de l’attribut de groupMapping.enabled qui signifie ENABLED | "" |
security.ldap.roleMapping.base | Base LDAP pour la saisie des rôles | "" |
security.ldap.roleMapping.filter | Filtre LDAP utilisé pour la recherche de rôles | "" |
security.ldap.roleMapping.memberAttribute | Nom de l’attribut LDAP qui répertorie les utilisateurs ayant le rôle | "" |
security.ldap.roleMapping.name | Nom de l’attribut LDAP qui doit être mappé au nom du rôle | "" |
security.ldap.roleMapping.description | Nom de l’attribut LDAP qui doit être mappé à la description du rôle | "" |
security.ldap.roleMapping.enabled | Nom de l’attribut LDAP qui doit être mappé à l’état du rôle | "" |
security.ldap.roleMapping.enabledTrue | Valeur de l’attribut de roleMapping.enabled qui signifie ENABLED | "" |
Valeurs supprimées - ilum-core
| Nom | Raison |
|---|
security.ldap.userSearch | Remplacé par security.ldap.userMappage |
security.ldap.groupRechercher | Remplacé par security.ldap.groupMappage |
Changements de noms - ilum-core
| Ancien nom | Nouveau nom |
|---|
security.internal.users[*].password | security.internal.users[*].initialPassword |
3. Configuration par défaut de SparkMagic
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
sparkmagic.config.sessionConfigs.conf | '{ « pyRequirements » : « pandas », « cluster » : « default », « autoPause » : « false », « spark.example.config » : « Tu peux changer la configuration par défaut dans ilum-jupyter-config k8s configmap » }' | '{}' |
Valeurs supprimées - ilum-jupyter
| Nom | Raison |
|---|
sparkmagic.config.sessionConfigs.executorCores | Plus nécessaire grâce au nouveau formulaire de session Spark |
Valeurs supprimées - ilum-jupyter
| Nom | Raison |
|---|
sparkmagic.config.sessionConfigs.driverMemory | Plus nécessaire grâce au nouveau formulaire de session Spark |
VERSION 6.3.0
1. Modification de la version de la balise d’image de kyuubi
Valeurs modifiées - paramètres de configuration de sparkmagic
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
sparkmagic.config.sessionConfigs.conf | '{ « pyRequirements » : « pandas », « spark.example.config » : « Tu peux changer la configuration par défaut dans ilum-jupyter-config k8s configmap » }' | '{ « pyRequirements » : « pandas », « cluster » : « default », « autoPause » : « false », « spark.example.config » : « Tu peux changer la configuration par défaut dans ilum-jupyter-config k8s configmap » }' |
2. Ajout d’une propriété pour définir l’adresse kafka pour ilum-core
Caractéristique
Ajout de la possibilité de définir l’adresse kafka pour le pod ilum-core, séparément de la configuration globale de l’adresse kafka pour les tâches Spark et l’ensemble du pod ilum-core via la propriété kafka.address.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
kafka.ilum.adresse | Adresse kafka ilum-core uniquement pour l’espace ilum-core, remplace kafka.address | non défini |
3. Changement du temps de tolérance de vérification de l’état de la tâche ilum
Valeurs modifiées - paramètres de configuration de la vérification de l’état de la tâche ilum
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
job.healthcheck.tolerance | 120 | 3600 |
4. Présentation du dépôt git intégré
Caractéristique
Ajout de Gitea en tant que module fournissant un serveur git intégré pour la plate-forme ilum.
Valeurs ajoutées - gitea
| Nom | Description | Valeur |
|---|
gitea.enabled | Activer ou désactiver le déploiement de Gitea | vrai |
gitea.image.rootless | Exécuter Gitea en mode rootless | faux |
gitea.gitea.config.database.DB_TYPE | Type de base de données utilisé pour Gitea | Postgres |
gitea.gitea.config.database.HOST | Hôte et port de base de données pour Gitea | ilum-postgresql-hl :5432 |
gitea.gitea.config.database.NAME | Nom de la base de données de Gitea | Gitea |
gitea.gitea.config.database.USER | Nom d’utilisateur de la base de données pour Gitea | ilum |
gitea.gitea.config.database.PASSWD | Mot de passe de la base de données pour Gitea (Modification requise) | CHANGEMEPLEASE |
gitea.gitea.admin.existingSecret | Gitea secret pour stocker les identifiants d’initialisation | ilum-git-credentials |
gitea.gitea.admin.email | Gitea admin email | ilum@ilum |
gitea.gitea.admin.passwordMode | Mode mot de passe pour le compte administrateur | initialOnlyNoReset |
gitea.gitea.additionalConfigFromEnvs[0].name | Activer la création d’un utilisateur par poussée | GITEA__REPOSITORY__ENABLE_PUSH_CREATE_USER |
gitea.gitea.additionalConfigFromEnvs[0].value | Valeur de l’activation de l’utilisateur push-create | vrai |
gitea.gitea.additionalConfigFromEnvs[1].name | Activer l’organisation push-create | GITEA__REPOSITORY__ENABLE_PUSH_CREATE_ORG |
gitea.gitea.additionalConfigFromEnvs[1].value | Valeur de l’activation de l’organisation push-create | vrai |
gitea.gitea.additionalConfigFromEnvs[2].name | Branche de référentiel par défaut | GITEA__REPOSITORY__DEFAULT_BRANCH |
gitea.gitea.additionalConfigFromEnvs[2].value | Valeur de la branche de référentiel par défaut | maître |
gitea.gitea.additionalConfigFromEnvs[3].name | URL racine du serveur Gitea | GITEA__SERVER__ROOT_URL |
gitea.gitea.additionalConfigFromEnvs[3].value | Valeur de l’URL racine du serveur Gitea | http://git.example.com/external/gitea/ |
gitea.gitea.additionalConfigFromEnvs[4].name | Préfixe d’URL statique | GITEA__SERVER__STATIC_URL_PREFIX |
gitea.gitea.additionalConfigFromEnvs[4].value | Valeur du préfixe d’URL statique | /externe/gitea/ |
gitea.redis-cluster.enabled | Activer ou désactiver le cluster Redis | faux |
gitea.redis.enabled | Activer ou désactiver Redis | faux |
gitea.postgresql.enabled | Activer ou désactiver PostgreSQL autonome | faux |
gitea.postgresql-ha.enabled | Activer ou désactiver PostgreSQL HA | faux |
Valeurs ajoutées - ilum-jupyter
| Nom | Description | Valeur |
|---|
ilum-jupyter.git.enabled | Activer ou désactiver l’intégration Git | faux |
ilum-jupyter.git.nom_d’utilisateur | Nom d’utilisateur Git pour l’authentification | ilum |
ilum-jupyter.git.password | Mot de passe Git pour l’authentification | ilum |
ilum-jupyter.git.email | Adresse e-mail Git | ilum@ilum |
ilum-jupyter.git.repository | Nom du dépôt Git | Jupyter |
ilum-jupyter.git.address | Adresse du serveur Git | ilum-gitea-http :3000 |
ilum-jupyter.git.init.image | Image d’initialisation Git | bitnami/git :2.48.1 |
Valeurs ajoutées - ilum-airflow
| Nom | Description | Valeur |
|---|
airflow.dags.gitSync.enabled | Activer ou désactiver la synchronisation Git pour les DAG | vrai |
airflow.dags.gitSync.repo | URL du référentiel Git pour les DAG | http://ilum-gitea-http:3000/ilum/airflow.git |
airflow.dags.gitSync.branch | Branche Git à partir de laquelle synchroniser | maître |
airflow.dags.gitSync.ref | Référence Git à synchroniser | TÊTE |
airflow.dags.gitSync.depth | Profondeur du clone Git | 1 |
airflow.dags.gitSync.maxFailures | Nombre maximal d’échecs de synchronisation autorisés | 0 |
airflow.dags.gitSync.subPath | Sous-chemin d’accès au sein du référentiel à synchroniser | "" |
airflow.dags.gitSync.credentialsSecret | Secret utilisé pour l’authentification Git | ilum-git-credentials |
5. Modifications de nommage de la configuration SQL d’Ilum
Changer le nommage de la configuration Ilum Sql pour mieux refléter l’utilisation actuelle de Kyuubi
Changements de noms - ilum-core
| Ancien nom | Nouveau nom |
|---|
Kyuubi.* | SQL.* |
Noms modifiés - ilum-aio
| Ancien nom | Nouveau nom |
|---|
ilum-kyuubi.* | ilum-sql.* |
⚠️⚠️⚠️ Warnings
En raison des changements de nommage et du fonctionnement interne du lancement du moteur SQL, et des restrictions sur ce qui peut être fait via un Mise à niveau Helm ,
Il est nécessaire de supprimer manuellement l’ancien ensemble avec état (par ex. kubectl delete sts ilum-sql ) avant de passer à cette version.
Cela garantira que lors de la mise à jour, un nouvel ensemble avec état est créé avec la configuration correcte.
Les modifications cassantes sont liées aux étiquettes et aux montages de volume utilisés par l’ensemble avec état ilum-sql.
6. Ajouter des configurations pour Ilum Submit pour les moteurs Spark Sql
Ilum Submit améliore le processus de lancement des moteurs Spark SQL via l’application Web Ilum et le point de terminaison JDBC en appliquant automatiquement les configurations du cluster sélectionné. Cette amélioration élimine le besoin de fournir manuellement la configuration Spark de Kyuubi à Ilum Core.
Valeur supprimée - ilum-core
| Nom | Raison |
|---|
sql.sparkConfig | Inutile après le changement |
Valeurs ajoutées - ilum-kyuubi
| Nom | Description | Valeur |
|---|
ilumSubmit.enabled | Indicateur pour activer le service d’envoi ilum | faux |
ilumSubmit.ilum.host | Hôte du service REST Ilum | ilum-core |
ilumSubmit.ilum.port | Service REST du port d’Ilum | 9888 |
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
ilum-sql.ilumSubmit.enabled | Indicateur pour activer la création d’un moteur SQL via Ilum | vrai |
⚠️⚠️⚠️ Warnings
Comme la configuration Spark de Kyuubi n’est plus nécessaire dans Ilum Core,
La configuration Spark par défaut doit être fournie directement à ilum-sql.config.spark.defaults au lieu de la valeur globale.
Caractéristique
Security‑related configuration (including internal user credentials, LDAP, OAuth2, JWT, and authorities settings) has been moved from the config map to a dedicated Kubernetes Secret. This improves the security of sensitive data by isolating it from non‑sensitive configuration.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
security.secret.name | Name of the secret that holds security‑related configuration. Use this to override the default secret name. | ilum-sécurité |
8. Changement du type de service ilum-ui
En raison des problèmes avec kubectl port-forward, nous exposons un NodePort par défaut.
Valeurs modifiées - paramètres de configuration de la vérification de l’état de l’interface utilisateur
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
service.type | ClusterIP (en anglais) | NodePort |
service.nodePort | `` | 31777 |
VERSION 6.2.1
1. Changer la valeur de l’url de Kyuubi
Caractéristique
Changez la valeur de l’url de Kyuubi dans ilum-core. La valeur par défaut devrait maintenant fonctionner dès la sortie de la boîte.
Valeurs modifiées - ilum-core
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
kyuubi.host | ilum-sql-rest | ilum-sql-headless |
VERSION 6.2.1-RC1
1. Configuration des paramètres de mémoire de la tâche Spark dans ilum-core
Caractéristique
Ajout de la configuration des paramètres de mémoire de la tâche Spark dans ilum-core. Lors de la création d’un cluster par défaut dans ilum-core, les paramètres de paramètres de mémoire sont définis sur ces valeurs.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
job.memorysettings.executors | Nombre d’exécuteurs de travaux Spark | 2 |
job.memorysettings.executorMemory | Allocation de mémoire de l’exécuteur des tâches Spark | 1 g |
job.memorysettings.driverMemory | Allocation de mémoire du pilote Spark Jobs | 1 g |
job.memorysettings.executorCores | Nombre de cœurs de l’exécuteur des travaux Spark | 1 |
job.memorysettings.driverCores | Spark Jobs Pilote Nombre de cœurs | 1 |
job.memorysettings.dynamicAllocationEnabled | Indicateur d’allocation dynamique activé pour les tâches Spark | faux |
job.memorysettings.minExécuteurs | spark jobs nombre minimum d’exécuteurs | 0 |
job.memorysettings.initialExécuteurs | spark jobs nombre initial d’exécuteurs testamentaires | 0 |
job.memorysettings.maxExécuteurs | Nombre maximal d’exécuteurs de travaux Spark | 20 |
2. Ajout des paramètres de rétention du serveur d’historique Spark
Caractéristique
Ajout des paramètres de rétention du serveur d’historique Spark à ilum-core. Ces paramètres permettent à l’utilisateur de configurer la conservation des journaux du serveur d’historique Spark.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
historyServer.parameters.spark.history.fs.cleaner.enabled | Indicateur d’activation du nettoyeur d’historique | vrai |
historyServer.parameters.spark.history.fs.cleaner.interval | Intervalle de nettoyage du serveur d’historique | 1d |
historyServer.parameters.spark.history.fs.cleaner.maxAge | Historique Historique Âge maximal | 7d |
3. Divisez l’URL de Kyuubi en hôte et port
Caractéristique
Divisez l’url de Kyuubi en host et port dans ilum-core. Ce changement était nécessaire pour que nous puissions créer des moteurs personnalisés.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
kyuubi.host | Kyuubi hôte | ilum-sql-rest |
kyuubi.port | Port de Kyuubi | 10099 |
Valeurs supprimées - ilum-core
| Nom | Raison |
|---|
kyuubi.url | Inutile après le changement |
Caractéristique
Ajout de drapeaux activés pour le serveur d’historique, minio, ilum-jupyter, airflow, mlflow et lineage à ilum-ui. Ces drapeaux permettent à l’utilisateur d’activer ou de désactiver l’accès à ces services via ilum-ui. Ces valeurs seront utilisées dans la carte de configuration du serveur nginx.
Valeurs ajoutées - graphique ilum-ui
| Nom | Description | Valeur |
|---|
nginx.config.ilum-jupyter.enabled | ilum-ui nginx config ilum-jupyter enabled flag | faux |
nginx.config.airflow.enabled | Indicateur ILUM-UI nginx config Airflow enabled | faux |
nginx.config.minio.enabled | ilum-ui nginx config minio enabled flag | faux |
nginx.config.historyServer.enabled | ilum-ui nginx config historyIndicateur activé par le serveur | faux |
nginx.config.mlflow.enabled | ilum-ui nginx config mlflow enabled flag | faux |
nginx.config.lineage.enabled | Indicateur ILUM-UI nginx config lineage enabled | faux |
5. Superset dans le graphique ilum-aio
Caractéristique
Sur-ensemble dans le graphique AIO de l’ilum. Superset est rapide, léger, intuitif et doté d’options qui permettent aux utilisateurs de tous niveaux d’explorer et de visualiser facilement leurs données.
Du simple graphique linéaire aux graphiques géospatiaux très détaillés. Superset est l’un des modules intégrés à la plate-forme Ilum.
Valeurs ajoutées - ilum-ui
Configuration de l’agrégation de journaux
| Nom | Description | Valeur |
|---|
runtimeVars.supersetUrl | URL du service de sur-ensemble | http://ilum-superset:8088/ |
nginx.config.superset.enabled | ilum-ui nginx config superset enabled flag | faux |
4. Configuration par défaut du cluster kubernetes Ilum à partir des valeurs helm
Caractéristique
À partir de maintenant, les paramètres par défaut du cluster ilum seront définis en fonction des valeurs helm.
Valeurs ajoutées - graphique ilum-core
| Nom | Description | Valeur |
|---|
kubernetes.defaultCluster.config | Configuration par défaut du cluster Kubernetes ilum-core | Configuration : spark.driver.extraJavaOptions : « -Divy.cache.dir=/tmp -Divy.home=/tmp » spark.kubernetes.container.image : « ilum/spark :3.5.2-delta » spark.databricks.delta.catalog.update.enabled : « true » |
VERSION 6.2.0
1. Modification de la version de la balise d’image de kyuubi
Valeurs modifiées - graphique ilum-kyuubi
| Nom | Ancienne valeur | Nouvelle valeur |
|---|
image.tag | 1.9.2-Étincelle | 1.10.0-étincelle |
2. Modification de la configuration de l’étincelle kyuubi dans le graphique ilum-kyuubi
Supplémentaire spark.driver.memory=2g dans global.kyuubi.sparkConfig
VERSION 6.2.0-RC2
1. Ajout de la sonde d’état Minio
Caractéristique
Ajout d’une sonde d’état dans ilum-core qui vérifie si le stockage minio est prêt
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
minio.statusProbe.enabled | Indicateur d’activation de la sonde d’état Minio | vrai |
minio.statusProbe.image | Image de la sonde d’état Minio | curlimages/curl :8.5.0 |
minio.statusProbe.baseUrl | URL de base minio | « http://ilum-minio:9000 » |
2. Configuration de Kyuubi dans ilum-core
Caractéristique
Ajout de la configuration Kyuubi dans le tableau de barre ilum-core. Kyuubi permettra à l’utilisateur d’exécuter des requêtes SQL sur de nombreuses sources de données différentes à l’aide de l’interface utilisateur ILUM.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
kyuubi.enabled | Drapeau activé Kyuubi | vrai |
kyuubi.url | Url du service de repos de Kyuubi | http://ilum-sql-rest:10099 |
⚠️⚠️⚠️ Warnings
Afin de gérer correctement les moteurs SQL, nous devons passer la configuration spark de Kyuubi à ilum-core.
Cela se fait en configurant l’étincelle de Kyuubi dans global.kyuubi.sparkConfig et permet à l’utilisateur d’écrire une configuration qui peut être passée à la fois à Kyuubi et à ilum-core.
3. Configuration de l’uri MongoDb dans ilum-core
Caractéristique
Changement de la façon dont l’uri mongoDb est passé à ilum-core. Désormais, il est transmis sous la forme d’une seule chaîne, ce qui permet à l’utilisateur de fournir une configuration plus granulaire telle que authSource.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
mongo.uri | Chaîne de connexion MongoDb | mongodb://mongo:27017/ilum-default?replicaSet=rs0 |
Valeurs supprimées - ilum-core
| Nom | Raison |
|---|
mongo.instances | Inutile après le changement |
mongo.replicaSetName | Inutile après le changement |
⚠️⚠️⚠️ Warnings
Le mongo.uri , s’il n’est pas correctement défini, l’application ne fonctionnera pas correctement. Assurez-vous de fournir la chaîne de connexion correcte.
Auparavant, le format était le suivant : mongodb://{ mongo.instances }/ilum-{ release_namespace } ?replicaSet={ mongo.replicaSetName } Par défaut, dans le graphique ilum-aio, ces valeurs étaient les suivantes :
mongo.instances - ilum-mongodb-0.ilum-mongodb-headless :27017,ilum-mongodb-1.ilum-mongodb-headless :27017
mongo.replicaSetName - RS0
release_namespace - faire défaut
4. Configuration de la pause automatique dans ilum-core
Caractéristique
Ajout de la pause automatique dans ilum-core, qui vérifie périodiquement si des groupes sont inactifs pendant la durée spécifiée et met le groupe en pause. Pour que cela se produise, la mise en pause automatique doit être activée dans chaque groupe.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
job.autoPause.enabled | Indicateur de fonctionnalité pour activer la pause automatique | vrai |
job.autoPause.period | Intervalle en secondes pour vérifier les groupes d’inactivité | 180 |
job.autoPause.idleTime | Temps en secondes pendant lequel le groupe doit être inactif pour être mis en pause automatiquement | 3600 |
5. Exportateur de graphite dans le graphique ilum-aio
Caractéristique
Exportateur de graphite dans le graphique AIO d’ilum et configuration de graphite dans le graphique ilum-core. L’exportateur Graphite est un exportateur Prometheus pour les métriques exportées dans le protocole Graphite en texte clair.
Valeurs ajoutées - graphite-exporter
Nouvellement ajouté, vérifiez ses valeurs sur le Page du graphique
6. Configuration graphite en ilum-core
Caractéristique
Ajout de la configuration Graphite dans le tableau de barre ilum-core. Graphite permettra aux tâches Spark d’envoyer leurs métriques à un puits de graphite, qui sera récupéré par Prometheus.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
job.graphite.enabled | Drapeau activé pour le graphite | faux |
job.graphite.host | Hôte en graphite | ilum-graphite-graphite-tcp |
job.graphite.port | Port graphite | 9109 |
job.graphite.periode | Intervalle entre l’envoi des métriques de tâche | 10 |
job.graphite.unités | Unité de temps | Secondes |
VERSION 6.1.4
1. Changement de configuration par défaut de Jupyter sparkmagic
Caractéristique
Modification de la méthode de transmission des configurations par défaut de spark au notebook jupyter, maintenant elle est passée sous forme de chaîne json
Valeurs ajoutées - ilum-jupyter
Paramètres de configuration SparkMagic
| Nom | Description | Valeur |
|---|
sparkmagic.config.sessionConfigs.conf | SparkMagic Session Spark Configuration de Spark | '{ « pyRequirements » : « pandas », « spark.jars.packages » : « io.delta :delta-core_2.12:2.4.0 », « spark.sql.extensions » : « io.delta.sql.DeltaSparkSessionExtension », « spark.sql.catalog.spark_catalog » : « org.apache.spark.sql.delta.catalog.DeltaCatalog"}' |
sparkmagic.config.sessionConfigsDefaults.conf | Configuration par défaut de SparkMagic Session | '{ « pyRequirements » : « pandas », « spark.jars.packages » : « io.delta :delta-core_2.12:2.4.0 », « spark.sql.extensions » : « io.delta.sql.DeltaSparkSessionExtension », « spark.sql.catalog.spark_catalog » : « org.apache.spark.sql.delta.catalog.DeltaCatalog"}' |
2. Kyuubi dans le graphique ilum-aio
Caractéristique
Kyuubi dans le graphique AIO de l’ilum. Kyuubi est une passerelle multi-locataire distribuée fournissant des services de requête SQL pour les entrepôts de données et les lakehouses. Il fournit à la fois des interfaces JDBC et ODBC, ainsi qu’une API REST avec laquelle les clients peuvent interagir.
Valeurs ajoutées - ilum-kyuubi
Nouvellement ajouté, vérifiez ses valeurs sur le Page du graphique
VERSION 6.1.3
1. Configuration de Jupyter et stockage persistant
Caractéristique
Ajout d’une configuration étendue du graphique helm du notebook jupyter via des valeurs helm. De plus, il a ajouté un stockage persistant à la gousse jupyter.
Toutes les données enregistrées dans travail Le répertoire sera désormais disponible après le redémarrage/la mise à jour de Jupyter.
Valeurs ajoutées - ilum-jupyter
Paramètres PVC
| Nom | Description | Valeur |
|---|
pvc.annotations | Annotations de revendication de volume persistant | {} |
pvc.sélecteur | Sélecteur de revendication de volume persistant | {} |
pvc.accessModes | volume persistant revendiquant accessModes | LireÉcrireUne fois |
pvc.stockage | Demandes de stockage de revendications de volume persistant | 4Gi |
pvc.storageClassName | revendication de volume persistant storageClassName | `` |
Paramètres de configuration SparkMagic
| Nom | Description | Valeur |
|---|
sparkmagic.config.kernelPythonCredentials.username | Nom d’utilisateur du noyau Python Sparkmagic | "" |
sparkmagic.config.kernelPythonCredentials.password | Mot de passe du noyau Python Sparkmagic | "" |
sparkmagic.config.kernelPythonCredentials.auth | Mode d’authentification du noyau Python Sparkmagic | « Aucun » |
sparkmagic.config.kernelScalaCredentials.nom_utilisateur | Nom d’utilisateur du noyau Python Sparkmagic | "" |
sparkmagic.config.kernelScalaCredentials.password | Mot de passe du noyau Sparkmagic Scala | "" |
sparkmagic.config.kernelScalaCredentials.auth | Mode d’authentification du noyau Sparkmagic Scala | « Aucun » |
sparkmagic.config.kernelRCredentials.nom_utilisateur | Nom d’utilisateur du noyau Sparkmagic R | "" |
sparkmagic.config.kernelRCredentials.password | Mot de passe du noyau Sparkmagic R | "" |
sparkmagic.config.waitForIdleTimeoutSeconds | Délai d’attente de SparkMagic en attente de l’état d’inactivité | 15 |
sparkmagic.config.livySessionStartupTimeoutSeconds | Délai d’attente SparkMagic pour le démarrage de la session | 300 |
sparkmagic.config.ignoreSslErrors | Sparkmagic Ignorer l’indicateur d’erreurs SSL | faux |
sparkmagic.config.sessionConfigs.conf | SparkMagic Session Spark Configuration de Spark | [pyRequirements : pandas, spark.jars.packages : io.delta :delta-core_2.12:2.4.0, spark.sql.extensions : io.delta.sql.DeltaSparkSessionExtension,spark.sql.catalog.spark_catalog : org.apache.spark.sql.delta.catalog.DeltaCatalog] |
sparkmagic.config.sessionConfigs.driverMemory | Mémoire du pilote de session Sparkmagic | 1000M |
sparkmagic.config.sessionConfigs.executorCores | Cœurs de l’exécuteur de session Sparkmagic | 2 |
sparkmagic.config.sessionConfigsDefaults.conf | Configuration par défaut de SparkMagic Session | [pyRequirements : pandas, spark.jars.packages : io.delta :delta-core_2.12:2.4.0, spark.sql.extensions : io.delta.sql.DeltaSparkSessionExtension,spark.sql.catalog.spark_catalog : org.apache.spark.sql.delta.catalog.DeltaCatalog] |
sparkmagic.config.sessionConfigsDefaults.driverMemory | Mémoire du pilote par défaut de la session Sparkmagic | 1000M |
sparkmagic.config.sessionConfigsDefaults.executorCores | Noyaux d’exécuteur par défaut de la session Sparkmagic | 2 |
sparkmagic.config.useAutoViz | Sparkmagic Utiliser l’indicateur de visualisation automatique | vrai |
sparkmagic.config.coerceDataframe | Sparkmagic Coerce Dataframe Flag | vrai |
sparkmagic.config.maxResultsSql | Résultat SQL Sparkmagic Max | 2500 |
sparkmagic.config.pysparkDataframeEncodage | Encodage de trames de données Sparkmagic PYSpark | UTF-8 |
sparkmagic.config.heartbeatRefreshSeconds | Sparkmagic Heartbeat Refresh secondes | 30 |
sparkmagic.config.livyServerHeartbeatTimeoutSeconds | Délai d’expiration du délai d’expiration du délai d’expiration du serveur Sparkmagic Livy | 0 |
sparkmagic.config.heartbeatRetrySeconds | Sparkmagic Heartbeat Retry secondes | 10 |
sparkmagic.config.serverExtensionDefaultKernelName | Nom du noyau par défaut de Sparkmagic Server Extension | pysparkkernel |
sparkmagic.config.retryPolicy | Politique de nouvelle tentative de Sparkmagic | paramétrable |
sparkmagic.config.retrySecondsToSleepList | Sparkmagic Retry Liste des secondes avant de dormir | [0.2, 0.5, 1, 3, 5] |
sparkmagic.config.configurableRetryPolicyMaxRetries | Politique de relance Sparkmagic Nombre maximal de tentatives | 8 |
VERSION 6.1.2
Caractéristique
Métastore Hive dans le graphique AIO ilum. HMS est un référentiel central de métadonnées pour les tables et partitions Hive dans une base de données relationnelle,
et fournit aux clients (y compris Hive, Impala et Spark) l’accès à ces informations à l’aide de l’API du service metastore.
Avec le metastore hive activé dans ilum AIO helm stack, les tâches Spark exécutées par ilum peuvent être configurées pour y accéder automatiquement.
Graphique entier nouvellement ajouté, vérifiez ses valeurs sur Page du graphique
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
hiveMetastore.enabled | Passage de la configuration du metastore Hive à l’indicateur Spark Jobs d’ilum | faux |
hiveMetastore.adresse | Adresse du MetaStore Hive | thrift://ilum-hive-metastore:9083 |
hiveMetastore.warehouseDir | Répertoire d’entrepôt Hive MetaStore | s3a ://ilum-data/ |
2. Extensions Postgres ajoutées
Caractéristique
Peu de sous-chars AIO d’ilum utilisent postgresql, pour faciliter la gestion du déploiement de ceux-ci, nous avons ajouté une ressource d’extension postgres pour créer des bases de données postgresql pour ilum sucharts.
Valeurs ajoutées - ilum-aio
Paramètres des extensions PostgreSQL
| Nom | Description | Valeur |
|---|
postgresExtensions.enabled | Extension Postgres activé, drapeau | vrai |
postgresExtensions.image | image dans laquelle exécuter des extensions | bitnami/postgresql :16 |
postgresExtensions.pullPolicy | Stratégie d’extraction d’images | IfNotPresent |
postgresExtensions.imagePullSecrets | Secrets d’extraction d’images | [] |
postgresExtensions.host | Hôte de base de données PostgreSQL | ilum-postgresql-0.ilum-postgresql-hl |
postgresExtensions.port | port de base de données postgresql | 5432 |
postgresExtensions.databasesToCreate | Liste des bases de données à créer séparées par des virgules | marquez,airflow,metastore |
postgresExtensions.auth.nom_utilisateur | Nom d’utilisateur du compte PostgreSQL | ilum |
postgresExtensions.auth.password | Mot de passe du compte PostgreSQL | CHANGEMEPLEASE |
postgresExtensions.nodeSelector | postgresql extensions pods sélecteur de nœud | {} |
postgresExtensions.tolerations | Extensions PostgreSQL Pods Tolerations | [] |
3. Loki et promtail dans le graphique ilum-aio
Caractéristique
Loki et promtail dans le graphique AIO ilum. Loki est un système d’agrégation de journaux multi-locataires évolutif horizontalement, hautement disponible et inspiré de Prometheus.
Promtail est un agent qui envoie le contenu des journaux locaux à une instance de Grafana Loki. Ilum utilisera désormais loki pour agréger les journaux des pods de tâches Spark
pour pouvoir nettoyer les ressources du cluster une fois les tâches terminées. Loki et promtail sont préconfigurés pour supprimer les journaux uniquement à partir des pods Spark exécutés par ilum afin de récupérer les journaux de travail une fois qu’ils sont terminés.
Valeurs ajoutées - ilum-core
Configuration de l’agrégation de journaux
| Nom | Description | Valeur |
|---|
global.logAggregation.enabled | ilum log aggregegation, s’il est activé, Ilum récupérera les journaux des pods Spark Kubernetes terminés à partir de loki | faux |
global.logAggregation.loki.url | Adresse de la passerelle Loki pour accéder aux journaux | http://ilum-loki-gateway |
Valeurs ajoutées - ilum-aio
Agrégation de journaux - Loki Config
| Nom | Description | Valeur |
|---|
loki.nameRemplacer | Remplacement du nom du sous-graphique | ilum-loki |
loki.monitoring.selfMonitoring.enabled | Indicateur d’autosurveillance activé | faux |
loki.monitoring.selfMonitoring.grafanaAgent.installOperator | Indicateur d’installation de l’opérateur de l’agent Grafana auto-surveillance | faux |
loki.monitoring.selfMonitoring.lokiCanary.enabled | Indicateur Canary activé pour l’autosurveillance | faux |
loki.test.enabled | Indicateur Tests activés | faux |
loki.loki.auth_enabled | Indicateur d’authentification activée | faux |
loki.loki.storage.bucketNames.chunks | Compartiment de blocs de stockage | limes-ilum |
loki.loki.storage.bucketNames.ruler | seau de règle de stockage | limes-ilum |
loki.loki.storage.bucketNames.admin | Compartiment d’administration de stockage | limes-ilum |
loki.loki.stockage.type | Type de stockage | S3 |
loki.loki.s3.endpoint | Point de terminaison de stockage S3 | http://ilum-minio:9000 |
loki.loki.s3.region | Point de terminaison de stockage S3 | États-Unis-Est-1 |
loki.loki.s3.secretAccessKey | Clé d’accès secrète du stockage S3 | minioadmin |
loki.loki.s3.accessKeyId | ID de la clé d’accès au stockage S3 | minioadmin |
loki.loki.s3.s3ForcePathStyle | Indicateur d’accès au chemin de stockage S3 | vrai |
loki.loki.s3.insecure | Indicateur de stockage non sécurisé S3 | vrai |
loki.loki.compactor.retention_enabled | Indicateur de conservation des journaux activé | vrai |
loki.loki.compactor.deletion_mode | mode de suppression | filtrer-et-supprimer |
loki.loki.compactor.shared_store | Magasin partagé | S3 |
loki.loki.limits_config.allow_deletes | Autoriser l’indicateur de suppression des journaux | vrai |
Agrégation de journaux - Loki Config
| Nom | Description | Valeur |
|---|
promtail.config.clients[0].url | Première URL du client | http://ilum-loki-write:3100/loki/api/v1/push |
promtail.snippets.pipelineStages[0].match.selector | Étape de pipeline pour supprimer le sélecteur de journaux non ilum | {ilum_logAggregation !="vrai"} |
promtail.snippets.pipelineStages[0].match.action | Étape du pipeline pour supprimer l’action des journaux non ilum | goutte |
promtail.snippets.pipelineStages[0].match.drop_counter_reason | étape de pipeline pour abandonner les journaux de non-ilum drop_counter_reason | non_ilum_log |
promtail.snippets.extraRelabelConfigs[0].action | action Relabel config pour conserver les étiquettes de pod Ilum | Étiquettemap |
promtail.snippets.extraRelabelConfigs[0].regex | Relabel config pour conserver l’expression régulière des étiquettes de pod Ilum | __meta_kubernetes_pod_label_ilum(.*) |
promtail.snippets.extraRelabelConfigs[0].replacement | Configurer la réétiquette pour conserver le remplacement des étiquettes de pod Ilum | ilum{1} |
promtail.snippets.extraRelabelConfigs[1].action | Relabel config pour conserver l’action Spark Pod Labels | Étiquettemap |
promtail.snippets.extraRelabelConfigs[1].regex | Réétiqueter la configuration pour conserver l’expression régulière des étiquettes du pod Spark | __meta_kubernetes_pod_label_spark(.*) |
promtail.snippets.extraRelabelConfigs[1].replacement | Réétiqueter la configuration pour conserver le remplacement des étiquettes du Spark Pod | étincelle{1} $ |
VERSION 6.1.1
1. Ajout de vérifications de l’état pour les tâches interactives ilum
Caractéristique
Pour éviter les situations d’écrasement inattendu des groupes d’ilum, nous avons ajouté des contrôles de santé pour nous assurer qu’ils fonctionnent comme ils le devraient.
Valeurs ajoutées - ilum-core
Paramètres ilum-job
| Nom | Description | Valeur |
|---|
job.healthcheck.enabled | Spark Interactive Jobs Indicateur de vérification de l’état activé | vrai |
job.healthcheck.interval | Intervalle de vérification de l’état des tâches interactives Spark en secondes | 300 |
job.healthcheck.tolerance | Spark Interactive Jobs Healthcheck Tolérance du temps de réponse en secondes | 120 |
2. Échelle de réplication paramétrée pour les services évolutifs ilum
Caractéristique
La configuration du nombre de réplicas pour les services évolutifs ilum a été extraite aux valeurs helm.
Valeurs ajoutées - ilum-core
Paramètres communs ilum-core
| Nom | Description | Valeur |
|---|
replicaCount | Nombre de répliques ilum-core | 1 |
Valeurs ajoutées - ilum-ui
Paramètres communs ilum-ui
| Nom | Description | Valeur |
|---|
replicaCount | Nombre de réplicas ilum-UI | 1 |
VERSION 6.1.0
1. Suppression des paramètres inutiles du stockage wasbs du cluster ilum
Caractéristique
Les conteneurs de stockage WASBS n’ont plus besoin d’avoir le jeton sas porvidé dans les valeurs helm, car cela s’est avéré inutile
Valeurs supprimées - ilum-core
Paramètres de stockage WASB
| Nom | Raison |
|---|
kubernetes.wasbs.sparkContainer.name | Déplacé à kubernetes.wasbs.sparkContainer valeur |
kubernetes.wasbs.sparkContainer.sasToken | S’est avéré inutile |
kubernetes.wasbs.dataContainer.name | Déplacé à kubernetes.wasbs.dataContainer valeur |
kubernetes.wasbs.dataContainer.sasToken | S’est avéré inutile |
Valeurs ajoutées - ilum-core
Paramètres de stockage WASB
| Nom | Description | Valeur |
|---|
kubernetes.wasbs.sparkContainer | nom du conteneur de stockage WASBS du cluster kubernetes par défaut pour stocker les ressources Spark | limes-ilum |
kubernetes.wasbs.dataContainer | nom du conteneur de stockage WASBS du cluster kubernetes par défaut pour stocker les tables ilum | Tables-Ilum |
2. Ajout de conteneurs d’initialisation pour vérifier la disponibilité du service
Caractéristique
Pour faciliter le déploiement d’Ilum, les conteneurs Ilum ont désormais des conteneurs en attente de la disponibilité des services dont ils dépendent.
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
mongo.statusProbe.enabled | Sonde d’état Mongo, indicateur activé | vrai |
mongo.statusProbe.image | init container qui attend que mongodb soit disponible image | mongo :7.0.5 |
kafka.statusProbe.enabled | Sonde d’état Kafka, indicateur activé | vrai |
kafka.statusProbe.image | init container qui attend que kafka soit disponible image | bitnami/kafka :3.4.1 |
historyServer.statusProbe.enabled | ILUM History Server ILUM-Core Status Sonde Enabled Flag | vrai |
historyServer.statusProbe.image | Conteneur d’initialisation du serveur d’historique ilum qui attend que ilum-core soit disponible Image | curlimages/curl :8.5.0 |
Valeurs ajoutées - ilum-livy-proxy
| Nom | Description | Valeur |
|---|
statusProbe.enabled | Indicateur activé de sonde d’état ilum-core | vrai |
étatSonde.image | conteneur init qui attend que ilum-core soit disponible image | curlimages/curl :8.5.0 |
Valeurs ajoutées - ilum-ui
| Nom | Description | Valeur |
|---|
statusProbe.enabled | Indicateur activé de sonde d’état ilum-core | vrai |
étatSonde.image | conteneur init qui attend que ilum-core soit disponible image | curlimages/curl :8.5.0 |
3. Producteurs de kafka paramétrés dans le graphique ilum-core
Caractéristique
En mode de communication kafka, ilum interactive jobs répond à des instances de job interactif à l’aide de kafka producers. Avec les nouvelles valeurs de helm, le producteur kafka peut être adapté aux besoins des utilisateurs.
Valeurs ajoutées - ilum-core
Paramètres Kafka
| Nom | Description | Valeur |
|---|
kafka.maxPollRecords | Kafka max.poll.records pour ilum jobs kafka consumer, il détermine le nombre de requêtes ilum-job kafka consumer récupérera à chaque interrogation | 500 |
kafka.maxPollInterval | Kafka max.poll.interval.ms paramètre pour les tâches ilum client kafka, il détermine le délai maximum entre les appels de poll, ce qui, dans le contexte ilum-job, signifie une limite de temps pour le traitement des requêtes récupérées dans poll | 60000 |
VERSION 6.1.0-RC1
1. Ajout de la prise en charge des annotations de service
Caractéristique
Les annotations des services de graphiques helm Ilum peuvent désormais être configurées via des valeurs helm
Valeurs ajoutées - ilum-core
Paramètres de service
| Nom | Description | Valeur |
|---|
service.annotations | Annotations de service | {} |
grpc.service.annotations | Annotations du service GRPC | {} |
historyServer.service.annotations | Annotations du service History Server | {} |
Valeurs ajoutées - ilum-jupyter
Paramètres de service
| Nom | Description | Valeur |
|---|
service.annotations | Annotations de service | {} |
Valeurs ajoutées - ilum-livy-proxy
Paramètres de service
| Nom | Description | Valeur |
|---|
service.annotations | Annotations de service | {} |
Valeurs ajoutées - ilum-ui
Paramètres de service
| Nom | Description | Valeur |
|---|
service.annotations | Annotations de service | {} |
Valeurs ajoutées - ilum-zeppelin
Paramètres de service
| Nom | Description | Valeur |
|---|
service.annotations | Annotations de service | {} |
2. Extraction des paramètres de sécurité oauth2 aux valeurs globales
Caractéristique
La configuration d’Ilum security oauth2 est désormais définie via des valeurs globales
Valeurs ajoutées - ilum-aio
Paramètres de sécurité
| Nom | Description | Valeur |
|---|
global.security.oauth2.clientId | ID client oauth2 | `` |
global.security.oauth2.issuerUri | URI oauth2 qui peut être un point de terminaison de découverte OpenID Connect ou un point de terminaison de métadonnées de serveur d’autorisation OAuth 2.0 défini par la RFC 8414 | `` |
global.security.oauth2.audiences | audiences OAuth2 | `` |
global.security.oauth2.clientSecret | Clé secrète client OAuth2 | `` |
Valeurs supprimées - ilum-core
Paramètres de sécurité
| Nom | Raison | Valeur |
|---|
security.oauth2.clientId | Les paramètres de sécurité OAuth2 sont désormais configurés via des valeurs globales | `` |
security.oauth2.issuerUri | Les paramètres de sécurité OAuth2 sont désormais configurés via des valeurs globales | `` |
3. Variables d’environnement d’exécution pour le frontend
Caractéristique
Configuration des variables d’environnement frontend via les valeurs helm ui.
Valeurs ajoutées - ilum-ui
Variables d’exécution
| Nom | Description | Valeur |
|---|
runtimeVars.defaultConfigMap.enabled | Carte de configuration par défaut pour les variables d’environnement d’exécution frontale | vrai |
runtimeVars.debug | indicateur de journalisation de débogage | faux |
runtimeVars.backenUrl | URL du backend ilum-core | http://ilum-core:9888 |
runtimeVars.historyServerUrl | URL de l’interface utilisateur du serveur d’historique | http://ilum-history-server:9666 |
runtimeVars.jupyterUrl | URL de l’interface utilisateur Jupyter | http://ilum-jupyter:8888 |
runtimeVars.airflowUrl | URL de l’interface utilisateur d’Airflow | http://ilum-webserver:8080 |
runtimeVars.minioUrl | URL de l’interface utilisateur Minio | http://ilum-minio:9001 |
runtimeVars.mlflowUrl | URL de l’interface utilisateur de mlflow | http://mlflow:5000 |
runtimeVars.historyServerPath | Chemin d’accès du proxy ilum-ui à l’interface utilisateur du serveur d’historique | /serveur-d-historique/externe/ |
runtimeVars.jupyterPath | Chemin d’accès du proxy ilum-ui à l’interface utilisateur Jupyter | /externe/jupyter/lab/arbre/travail/IlumIntro.ipynb |
runtimeVars.airflowPath | Chemin d’accès du proxy ilum-ui à l’interface utilisateur d’airflow | /externe/flux d’air/ |
runtimeVars.dataPath | Chemin d’accès du proxy ilum-ui à l’interface utilisateur minio | /externe/minio/ |
runtimeVars.mlflowPath | Chemin d’accès du proxy ILUM-UI à l’interface utilisateur MLFrFlow | /externe/mlflow/ |
Valeurs supprimées - ilum-ui
| Nom | Raison |
|---|
déboguer | déplacé vers la section runtimeVars |
backenUrl | déplacé vers la section runtimeVars |
historyServerUrl | déplacé vers la section runtimeVars |
jupyterUrl | déplacé vers la section runtimeVars |
airflowUrl | déplacé vers la section runtimeVars |
4. Pile de Kube-prometheus dans le graphique ilum-aio
Caractéristique
Pile de Kube prometheus dans le graphique AIO de l’ilum. Préconfiguré pour fonctionner automatiquement avec le déploiement d’ilum afin de collecter les métriques des pods ilum et des tâches Spark exécutées par ilum.
Ilum fournit des moniteurs de service prometheus pour extraire automatiquement les métriques des pods de pilote Spark exécutés par ilum et les services backend ilum.
De plus, ilum_aio graphique fournit des tableaux de bord grafana intégrés qui peuvent être trouvés dans Ilum dossier.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
kube-prometheus-stack.enabled | kube-prometheus-stack enabled flag | faux |
kube-prometheus-stack.releaseLabel | kube-prometheus-stack pour surveiller la ressource uniquement à partir de la version ilum_aio | vrai |
kube-prometheus-stack.kubeStateMetrics.enabled | kube-prometheus-stack Scraping des composants kube state metrics enabled flag | faux |
kube-prometheus-stack.nodeExporter.enabled | kube-prometheus-stack node, exportateur, daemon, set, deployment flag | faux |
kube-prometheus-stack.alertmanager.enabled | kube-prometheus-stack alert manager flag | faux |
kube-prometheus-stack.grafana.sidecar.dashboards.folderAnnotation | kube-prometheus-stack, Si spécifié, le sidecar recherchera une annotation avec ce nom pour créer un dossier et mettre le graphique ici | grafana_folder |
kube-prometheus-stack.grafana.sidecar.dashboards.provider.foldersFromFilesStructure | kube-prometheus-stack, permet à Grafana de répliquer la structure du tableau de bord à partir du système de fichiers | vrai |
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
job.prometheus.enabled | prometheus activé, si les tâches true spark exécutées par Ilum partageront les métriques au format prometheus | vrai |
5. Marquez OpenLineage dans le graphique ilum-aio
Caractéristique
Marquez OpenLineage dans le graphique AIO ilum. Marquez permet d’utiliser, de stocker et de visualiser les métadonnées OpenLineage à l’échelle d’une organisation.
Des cas d’utilisation tels que la gouvernance des données, la surveillance de la qualité des données et l’analyse des performances. Lorsque marquez est activé dans ilum AIO, la pile de helm spark exécutée par Ilum partagera les informations de traçabilité avec le backend de marquez.
L’interface Web de Marquez visualise les informations de privilège des données collectées à partir des tâches Spark et elles sont accessibles via l’interface utilisateur ilum en tant qu’iframe.
Valeurs ajoutées - ilum-aio
| Nom | Description | Valeur |
|---|
global.lineage.enabled | Drapeau Marquez Enabled | faux |
Valeurs ajoutées - ilum-core
| Nom | Description | Valeur |
|---|
job.openLineage.transport.type | Type de communication Marquez | http |
job.openLineage.transport.serverUrl | URL du backend Marquez | http://ilum-marquez:9555/ |
job.openLineage.transport.endpoint | Point de terminaison du backend Marquez | /externe/lignage/api/v1/lignage |
Valeurs ajoutées - ilum-marquez
Graphique entier nouvellement ajouté, vérifiez ses valeurs sur Page du graphique
Valeurs ajoutées - ilum-ui
| Nom | Description | Valeur |
|---|
runtimeVars.lineageUrl | url pour fournir marquez openlineage UI iframe | http://ilum-marquez-web:9444 |
runtimeVars.lineagePath | Chemin d’accès du proxy ilum-ui à l’interface utilisateur de marquez openlineage | /externe/lignée/ |
VERSION 6.0.3
1. Paramètre max.request.size paramétré des producteurs de kafka dans le graphique ilum-core
Caractéristique
En mode de communication kafka, ilum interactive jobs répond à des instances de job interactif à l’aide de kafka producers. Avec la nouvelle valeur helm max.request.size, le paramètre producteur kafka peut être adapté pour correspondre aux besoins de taille des réponses.
Valeurs ajoutées - ilum-core
Paramètres Kafka
| Nom | Description | Valeur |
|---|
kafka.requestSize | Paramètre kafka max.request.size pour les tâches ilum Kafka producers | 20000000 |
VERSION 6.0.2
1. Prise en charge de hdfs, gcs et du stockage blob Azure dans le graphique ilum-core
Caractéristique
Le cluster Ilum n’a plus besoin d’être attaché au stockage s3, à partir de maintenant, le cluster par défaut peut être configuré pour utiliser hdfs, gcs ou Azure Blob comme stockage. Cela peut être réalisé en utilisant les nouvelles valeurs ajoutées dans le graphique de barre ilum-core.
Valeurs supprimées - ilum-core
| Nom | Raison |
|---|
kubernetes.s3.bucket | Désormais, deux compartiments séparés doivent être définis avec de nouvelles valeurs : kubernetes.s3.sparkBucket , kubernetes.s3.dataBucket |
Valeurs ajoutées - ilum-core
Paramètres de stockage Kubernetes
| Nom | Description | Valeur |
|---|
kubernetes.upgradeClusterOnStartup | Mise à niveau du cluster Kubernetes par défaut à partir des valeurs de l’indicateur de carte de configuration | faux |
kubernetes.stockage.type | Type de stockage de cluster Kubernetes par défaut, options disponibles : S3 , CGV , WASB , HDFS | S3 |
Paramètres de stockage Kubernetes S3
| Nom | Description | Valeur |
|---|
kubernetes.s3.host | Hôte de stockage S3 du cluster Kubernetes par défaut pour stocker les ressources Spark | S3 |
kubernetes.s3.port | Port de stockage S3 du cluster Kubernetes par défaut pour stocker les ressources Spark | 7000 |
kubernetes.s3.sparkBucket | Bucket de stockage S3 du cluster Kubernetes par défaut pour stocker les ressources Spark | limes-ilum |
kubernetes.s3.dataBucket | Bucket de stockage S3 du cluster kubernetes par défaut pour stocker les tables ilum | Tables-Ilum |
kubernetes.s3.accessKey | Clé d’accès au stockage S3 du cluster Kubernetes par défaut pour stocker les ressources Spark | "" |
kubernetes.s3.secretKey | Clé secrète de stockage S3 du cluster kubernetes par défaut pour stocker les ressources Spark | "" |
Paramètres de stockage GCS Kubernetes
| Nom | Description | Valeur |
|---|
kubernetes.gcs.clientCourriel | e-mail du client de stockage GCS du cluster kubernetes par défaut | "" |
kubernetes.gcs.sparkBucket | Bucket de stockage GCS de cluster Kubernetes par défaut pour stocker les ressources Spark | « ilum-files » |
kubernetes.gcs.dataBucket | Bucket de stockage GCS de cluster Kubernetes par défaut pour stocker les tables ilum | « Tables-ilum » |
kubernetes.gcs.privateKey | Clé privée de stockage GCS du cluster kubernetes par défaut pour stocker les ressources Spark | "" |
kubernetes.gcs.privateKeyId | ID de clé privée de stockage GCS de cluster kubernetes par défaut pour stocker les ressources Spark | "" |
Paramètres de stockage WASBS Kubernetes
| Nom | Description | Valeur |
|---|
kubernetes.wasbs.accountName | nom du compte de stockage WASBS du cluster kubernetes par défaut | "" |
kubernetes.wasbs.accessKey | Clé d’accès au stockage WASBS du cluster Kubernetes par défaut pour stocker les ressources Spark | "" |
kubernetes.wasbs.sparkContainer.name | nom du conteneur de stockage WASBS du cluster kubernetes par défaut pour stocker les ressources Spark | « ilum-files » |
kubernetes.wasbs.sparkContainer.sasToken | jeton sas de conteneur de stockage WASBS du cluster kubernetes par défaut pour stocker les ressources Spark | "" |
kubernetes.wasbs.dataContainer.name | nom du conteneur de stockage WASBS du cluster kubernetes par défaut pour stocker les tables ilum | « Tables-ilum » |
kubernetes.wasbs.dataContainer.sasToken | jeton sas de conteneur de stockage WASBS du cluster kubernetes par défaut pour stocker les tables ilum | "" |
Paramètres de stockage HDFS Kubernetes
| Nom | Description | Valeur |
|---|
kubernetes.hdfs.hadoopNom d’utilisateur | cluster Kubernetes par défaut Stockage HDFS Nom d’utilisateur hadoop | "" |
kubernetes.hdfs.config | cluster Kubernetes par défaut Référentiel de stockage HDFS des fichiers de configuration avec le nom comme clé et le contenu encodé en base64 comme valeur | "" |
kubernetes.hdfs.sparkCatalog | Cluster Kubernetes par défaut Catalogue de stockage HDFS pour stocker les ressources Spark | « ilum-files » |
kubernetes.hdfs.dataCatalog | cluster kubernetes par défaut Catalogue de stockage HDFS pour stocker les ilum-tables | « Tables-ilum » |
kubernetes.hdfs.keyTab | cluster kubernetes par défaut HDFS stockage keytab fichier contenu encodé en base64 | "" |
kubernetes.hdfs.principal | nom du principal de stockage HDFS du cluster Kubernetes par défaut | "" |
kubernetes.hdfs.krb5 | cluster kubernetes par défaut Stockage HDFS Fichier krb5 Contenu encodé en base64 | "" |
kubernetes.hdfs.trustStore | cluster kubernetes par défaut : confiance de stockage HDFS ; stocker le contenu encodé en base64 | "" |
kubernetes.hdfs.logRépertoire | cluster kubernetes par défaut répertoire de stockage HDFS chemin d’accès absolu au stockage eventLog pour le serveur d’historique | "" |
Important! Assurez-vous que les compartiments S3/GCS ou les conteneurs WASBS sont déjà créés et accessibles !
2. Ajout d’un serveur d’historique d’étincelles au graphique helm d’ilum-core
Caractéristique
Le serveur d’historique Spark peut être déployé dès maintenant avec ilum-core. La configuration du serveur d’historique est transmise à chaque travail Spark exécuté par ilum.
L’interface utilisateur du serveur d’historique est désormais accessible par l’interface utilisateur ilum. S’il est activé, il utilisera le stockage de cluster kubernetes par défaut configuré avec kubernetes. [STORAGE_TYPE]. [PARAMETER] comme stockage eventLog.
Valeurs ajoutées - ilum-core
Paramètres du serveur d’historique
| Nom | Description | Valeur |
|---|
historyServer.enabled | Indicateur du serveur d’historique Spark | vrai |
historyServer.image | Image du serveur d’historique Spark | ilum/lance-étincelles :spark-3.5.3 |
historyServer.address | Adresse du serveur de l’historique Spark | http://ilum-history-server:9666 |
historyServer.pullPolicy | Stratégie d’extraction d’images du serveur d’historique Spark | IfNotPresent |
historyServer.imagePullSecrets | Secrets d’extraction d’images du serveur d’historique Spark | [] |
historyServer.parameters | Spark History Server Paramètres Spark personnalisés | [] |
historyServer.resources | Ressources du pod du serveur d’historique Spark | Limites: mémoire : « 500Mi » Requêtes: mémoire : « 300Mi » |
historyServer.service.type | Type de service de serveur d’historique Spark | ClusterIP (en anglais) |
historyServeur.service.port | Port de service du serveur d’historique Spark | 9666 |
historyServer.service.nodePort | spark history server service nodePort | "" |
historyServer.service.clusterIP | spark history server service clusterIP | "" |
historyServer.service.loadBalancerIP | spark history serveur service loadbalancerIP | "" |
historyServer.ingress.enabled | Indicateur d’entrée du serveur Spark History | faux |
historyServer.ingress.version | Version d’entrée du serveur Spark History | « v1 » |
historyServer.ingress.className | spark history server ingress className | "" |
historyServer.ingress.host | Hôte d’entrée du serveur Spark History | « hôte » |
historyServeur.chemin.d’entrée | Chemin d’entrée du serveur d’historique Spark | "/(.*)" |
historyServer.ingress.pathType | spark history chemin d’entrée du serveur | Préfixe |
historyServer.ingress.annotations | Annotations du serveur d’historique Spark | nginx.ingress.kubernetes.io/rewrite-target : /1 $
nginx.ingress.kubernetes.io/proxy-body-size : « 600m »
nginx.org/client-max-body-size : « 600m » |
Avertissements
- Assurez-vous que HDFS logDirectory (valeur helm kubernetes.hdfs.logDirectory) est le chemin absolu du sparkCatalog configuré avec le suffixe /ilum/logs ! Par exemple, pour kubernetes.hdfs.sparkCatalog=spark-catalog, mettez hdfs://name-node/user/username/spark-catalog/ilum/logs
3. Maintien dans l’emploi dans le graphique ilum-core
Caractéristique
Les tâches Ilum seront supprimées après l’expiration de la période de rétention configurée
Valeurs ajoutées - ilum-core
Paramètres de rétention d’emploi
| Nom | Description | Valeur |
|---|
job.retain.hours | Limite d’heures de rétention des emplois Spark | 168 |