GitHub user Leemoonsoo opened a pull request:

    https://github.com/apache/zeppelin/pull/3240

    [ZEPPELIN-3840] Zeppelin on Kubernetes

    ### What type of PR is it?
    This PR adds ability to run Zeppelin on Kubernetes.
    
    Key features are 
    
     - Provides zeppelin-server.yaml file for `kubectl` to run Zeppelin server
     - All interpreters are automatically running as a Pod.
     - Spark interpreter automatically configured to use [Spark on 
Kubernetes](https://spark.apache.org/docs/latest/running-on-kubernetes.html)
     - Reverse proxy is configured to access Spark UI
    
    ### What is the Jira issue?
    https://issues.apache.org/jira/browse/ZEPPELIN-3840
    
    ### How should this be tested?
    
    Prepare a Kubernetes cluster with enough resources (cpus > 5, mem > 6g).
    If you're using [minikube](https://github.com/kubernetes/minikube), check 
your capacity using `kubectl describe node` command before start.
    
    You'll need to build Zeppelin docker image and Spark docker image to test. 
Please follow guide docs/quickstart/kubernetes.md.
    
    To quickly try without building docker images, I have uploaded pre-built 
image on docker hub `moon/zeppelin:0.9.0-SNAPSHOT`, `moon/spark:2.4.0`. Try 
following command
    
    ```
    ZEPPELIN_SERVER_YAML="curl -s 
https://raw.githubusercontent.com/Leemoonsoo/zeppelin/kubernetes/k8s/zeppelin-server.yaml";
    $ZEPPELIN_SERVER_YAML | sed 
's/apache\/zeppelin:0.9.0-SNAPSHOT/moon\/zeppelin:0.9.0-SNAPSHOT/' | sed 
's/spark:2.4.0/moon\/spark:2.4.0/' | kubectl apply -f -
    ```
    
    And port forward
    
    ```
    kubectl port-forward zeppelin-server 8080:80
    ```
    
    And browse http://localhost:8080
    
    To clean up
    
    ```
    $ZEPPELIN_SERVER_YAML | sed 
's/apache\/zeppelin:0.9.0-SNAPSHOT/moon\/zeppelin:0.9.0-SNAPSHOT/' | sed 
's/spark:2.4.0/moon\/spark:2.4.0/' | kubectl delete -f -
    ```
    
    ### Screenshots (if appropriate)
    See this video https://youtu.be/7E4ZGn4pnTo
    
    
    ### Future work
    
     - Per interpreter docker image
    
    ### Questions:
    * Does the licenses files need update? no
    * Is there breaking changes for older versions? no
    * Does this needs documentation? yes


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/Leemoonsoo/zeppelin kubernetes

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/zeppelin/pull/3240.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3240
    
----
commit d2f3d5b7e1ad00da9148e6baf866d0d0506274e2
Author: Lee moon soo <moon@...>
Date:   2018-11-05T17:43:19Z

    add k8s-standard launcher module

commit 07489f76df68e68b4b85025d71bf5b2afc460098
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-18T23:05:25Z

    kubectl with exec

commit 5f602a65ef9700b6a5eb05790ff5e8585c8d26bf
Author: Lee moon soo <moon@...>
Date:   2018-11-20T03:38:00Z

    K8sRemoteInterpreterProcess

commit 52bb6c7e15ab2fe64fa4089c7edf982acf407af9
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-21T20:31:20Z

    add k8s dir in package

commit 36cf391a4256636336b83c7010c0db12867f49dd
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-21T20:31:53Z

    correct plugin name

commit 58f9f19094afee7121c6cdebd83148742b0b1ce4
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-21T20:32:26Z

    add rbac

commit 2fd2ac8c396a570b58cf77a6e32e09a2df4a89b8
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-21T20:32:52Z

    kubernetes mode configuration

commit 9f1b7a1691020ca43a91d14be8a8ebe9ab37adfe
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-21T20:33:22Z

    run kubernetes launcher

commit 0dea3836b09c90bb7cd45c288d8a8e0b37d0cd0e
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T02:56:59Z

    create and connect interpreter pod

commit 18b8f68cb11e54ed54b222e7da670c32902c2d79
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T04:02:10Z

    print spec file contents on debug log

commit 86e8764357c5645d248ae468d9322443b01e6ca9
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T04:02:27Z

    add services on RBAC

commit 7fe9823b1f2d6f311104af38b674b77494e2e970
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T05:12:40Z

    interpreter pod cascade delete on zeppelin-server delete

commit 263d859d426339eddfd02554fde32f870cac710b
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T05:33:59Z

    use headless service for interpreter pod

commit 7a87367561a11371a7bb77858d39c5821a5d870f
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T21:12:14Z

    configure spark on kubernetes

commit a4072e6b90c57514b8ea690abef15ddbdb370a9d
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T22:35:09Z

    add signal handler

commit 2960dcb878eb29eb2fb515f50bc728bd659498ec
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T22:35:34Z

    configure namespace

commit b0e2c36c68b28310afe98272f6bc6b1408d305d7
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-22T22:35:57Z

    Rbac role, rolebinding

commit 0d472ea522ec8d99118bbaed4734fdb36cfc8076
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-23T03:15:21Z

    load properties and environment variables

commit f4166ad04c088c900ba8586445e02a9242b2934b
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-23T04:31:12Z

    make spark container image configurable

commit 2b579ff12943bf76ae6aadacd52bceda3cb5b382
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-23T05:49:47Z

    let user override namespace

commit f30561189ce0e92511d59b7190908d376f2264c5
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-23T05:50:17Z

    rename file

commit 0f7c0d4e8671ebde3b281411cb66fa692a272b37
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-23T05:53:50Z

    add license

commit 9341fcbfea43264c181c57e3e4a73b68ab9b60b6
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-23T05:54:11Z

    install kubectl and configure log4j in docker image

commit 3078bac55036a4f16125268c18ab3b6340bd53d7
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-24T05:44:45Z

    spark ui support

commit ec09b8b88226d477566d5f77ce3218bda9242499
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-24T07:15:28Z

    add test

commit e9ce64fe790dff110af849322720f475e949d100
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-24T08:42:02Z

    update dockerfile

commit 7a9de7fe44ceed8534769c5c8a069fef23e19b83
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-24T08:42:22Z

    add documentation

commit f02151d5b8426c366e83d8bbc953270b175d2b50
Author: Lee moon soo <leemoonsoo@...>
Date:   2018-11-24T10:32:02Z

    add doc

----


---

Reply via email to