| ## |
| ## Heron API server deployment |
| ## |
| apiVersion: apps/v1beta1 |
| kind: Deployment |
| metadata: |
| name: heron-apiserver |
| spec: |
| replicas: 1 |
| template: |
| metadata: |
| labels: |
| app: heron-apiserver |
| spec: |
| volumes: |
| - name: google-cloud-key |
| secret: |
| secretName: heron-gcs-key |
| 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 |
| volumeMounts: |
| - name: google-cloud-key |
| mountPath: /heron/secret |
| env: |
| - name: GOOGLE_APPLICATION_CREDENTIALS |
| value: /heron/secret/key.json |
| - name: GCS_BUCKET |
| valueFrom: |
| configMapKeyRef: |
| name: heron-apiserver-config |
| key: gcs.bucket |
| - name: kubectl-proxy |
| image: heron/kubectl:latest |
| command: ["sh", "-c"] |
| args: |
| - > |
| kubectl proxy -p 8001 |
| |
| --- |
| |
| ## |
| ## Service to expose the heron api server |
| ## |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| name: heron-apiserver |
| spec: |
| selector: |
| app: heron-apiserver |
| ports: |
| - protocol: TCP |
| port: 9000 |
| targetPort: 9000 |