| ## |
| ## Heron API server deployment |
| ## |
| apiVersion: apps/v1beta1 |
| kind: Deployment |
| metadata: |
| name: heron-apiserver |
| spec: |
| replicas: 1 |
| template: |
| metadata: |
| labels: |
| app: heron-apiserver |
| spec: |
| containers: |
| - name: heron-apiserver |
| image: heron/heron:latest |
| command: ["sh", "-c"] |
| args: |
| - >- |
| heron-apiserver |
| --base-template kubernetes |
| --cluster kubernetes |
| -D heron.statemgr.connection.string=zookeeper:2181 |
| -D heron.kubernetes.scheduler.uri=http://localhost:8001 |
| -D heron.executor.docker.image=heron/heron:latest |
| -D heron.class.uploader=com.twitter.heron.uploader.gcs.GcsUploader |
| -D heron.uploader.gcs.bucket=<gcs-bucket-name> |
| -D heron.uploader.gcs.credentials_path=/heron/secret/<google-cloud-credentials-file> |
| volumeMounts: |
| - name: google-cloud-service-account |
| mountPath: /heron/secret/ |
| - name: kubectl-proxy |
| image: heron/kubectl:latest |
| command: ["sh", "-c"] |
| args: |
| - > |
| kubectl proxy -p 8001 |
| volumes: |
| - name: google-cloud-service-account |
| secret: |
| secretName: <google-cloud-secret-name> |