
# Spark Operator 배포

## 1. 배포 방법

- 명령어

  ``` sh
  $ helm upgrade --instal spark-operator ../spark-operator \
    --version=2.0.2 \
    --namespace spark-operator \
    --create-namespace \
    -f custom-values.yaml
  ```



## 2. custom-values.yaml 설명

- custom-values.yaml에 정의된 값에 대한 설명이다.

### 1) 이미지 설정
| Name                   | 설명                                                         | 기본값 |
| ---------------------- | ------------------------------------------------------------ | ------ |
| `image.registry` | 오프라인 설치 시에 설정. <br/>paasup 설치시에는 "paasup.io"으로 설정 | `""`   |

### 2) Controller 설정

| Name                     | 설명                               | 기본값    |
| ------------------------ | ---------------------------------- | --------- |
| `contoller.worker` | spark contoller의 thread 설정<br />SparkApplication 객체를 동시에 처리할 수 있는 수 설정 | `10` |
| `contoller.logLevel` | controller의 log level 설정 | `info` |
| `controller.uiService.enable` | Spark Web UI의 Service 생성 여부 | `true` |
| `controller.uiIngress.enable` | Spark Web UI의 Ingress 생성 여부                             | `true` |
| `controller.uiIngress.urlFormat` | 생성할 Ingress의 접속 URL 포맷 설정                          | `"spark.example.org/{{$appNamespace}}/{{$appName}}"` |
| `controller.resources` | controller pod의 resource 설정. | `custom-values.yaml 참조` |

### 3) webhook 설정

| Name                     | 설명                               | 기본값    |
| ------------------------ | ---------------------------------- | --------- |
| `webhook.resources`    | webhook pod의 resource 설정.       | `custom-values.yaml 참조`  |


### 4) spark 설정

| Name                     | 설명                               | 기본값    |
| ------------------------ | ---------------------------------- | --------- |
| `spark.jobNamespace`    | spark application이 배포될 수 있는 namespace를 설정.    | `[]`  |
