You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by pd...@apache.org on 2021/07/13 14:26:46 UTC
[zeppelin] branch master updated: [ZEPPELIN-5360] K8S interpreter
create spark pods, should support the 'imagePullSecrets' config
This is an automated email from the ASF dual-hosted git repository.
pdallig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/master by this push:
new dfb8ef9 [ZEPPELIN-5360] K8S interpreter create spark pods, should support the 'imagePullSecrets' config
dfb8ef9 is described below
commit dfb8ef9621d895ebcfcf1e764a43451e4e425d37
Author: rick <ri...@rickdeMacBook-Pro.local>
AuthorDate: Tue Jul 13 18:08:59 2021 +0800
[ZEPPELIN-5360] K8S interpreter create spark pods, should support the 'imagePullSecrets' config
### What is this PR for?
When Zeppelin is creating the interpreter pod, it may need to pull the image from the **private repository**. However, the current `k8s/interpreter/100-interpreter-spec.yaml` file does not support setting the config `imagePullSecrets`.
So this PR adds a property named: `zeppelin.k8s.interpreter.imagePullSecrets`, which allows users to set the **comma-separated list of Kubernetes secrets**. So that the interpreter pod can pull the image from the private repository.
For example:
```
%spark.conf
zeppelin.k8s.interpreter.imagePullSecrets mysecret1,mysecret2,mysecret3
```
### What type of PR is it?
[Improvement]
### Todos
* [ ] - Task
### What is the Jira issue?
* <https://issues.apache.org/jira/browse/ZEPPELIN-5360>
### How should this be tested?
* CI pass and manually tested
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: rick <ri...@rickdeMacBook-Pro.local>
Closes #4170 from rickchengx/ZEPPELIN-5360 and squashes the following commits:
974014bf6 [rick] update default value in doc
28dbff93f [rick] update documentation
ab436b842 [rick] [ZEPPELIN-5360] K8S interpreter create spark pods, should support the 'imagePullSecrets' config
---
docs/quickstart/kubernetes.md | 11 +++++++++++
k8s/interpreter/100-interpreter-spec.yaml | 6 ++++++
2 files changed, 17 insertions(+)
diff --git a/docs/quickstart/kubernetes.md b/docs/quickstart/kubernetes.md
index da14665..6a50ac1 100644
--- a/docs/quickstart/kubernetes.md
+++ b/docs/quickstart/kubernetes.md
@@ -244,6 +244,17 @@ to customize,
3. Apply modified `k8s/zeppelin-server.yaml`.
4. Run a paragraph will create an interpreter using modified yaml files.
+The interpreter pod can also be customized through the interpreter settings. Here are some of the properties:
+| Property Name | Default Value | Description |
+| ----- | ----- | ----- |
+| `zeppelin.k8s.namespace` | `default` | The Kubernetes namespace to use. |
+| `zeppelin.k8s.interpreter.container.image` | `apache/zeppelin:<ZEPPELIN_VERSION>` | The interpreter image to use. |
+| `zeppelin.k8s.interpreter.cores` | (optional) | The number of cpu cores to use. |
+| `zeppelin.k8s.interpreter.memory` | (optional) | The memory to use, e.g., `1g`. |
+| `zeppelin.k8s.interpreter.gpu.type` | (optional) | Set the type of gpu to request when the interpreter pod is required to schedule gpu resources, e.g., `nvidia.com/gpu`. |
+| `zeppelin.k8s.interpreter.gpu.nums` | (optional) | Tne number of gpu to use. |
+| `zeppelin.k8s.interpreter.imagePullSecrets` | (optional) | Set the comma-separated list of Kubernetes secrets while pulling images, e.g., `mysecret1,mysecret2` |
+
## Future work
diff --git a/k8s/interpreter/100-interpreter-spec.yaml b/k8s/interpreter/100-interpreter-spec.yaml
index b35486f..0811ea8 100644
--- a/k8s/interpreter/100-interpreter-spec.yaml
+++ b/k8s/interpreter/100-interpreter-spec.yaml
@@ -93,6 +93,12 @@ spec:
volumeMounts:
- name: spark-home
mountPath: /spark
+ {% if zeppelin.k8s.interpreter.imagePullSecrets is defined %}
+ imagePullSecrets:
+ {% for secret in zeppelin.k8s.interpreter.imagePullSecrets.split(',') %}
+ - name: {{secret}}
+ {% endfor %}
+ {% endif %}
volumes:
- name: spark-home
emptyDir: {}