Updated Helm to 3.0.2 (#3430)

diff --git a/WORKSPACE b/WORKSPACE
index 0c26015..e29118d 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -937,18 +937,18 @@
 # for helm
 http_archive(
     name = "helm_mac",
-    urls = ["https://storage.googleapis.com/kubernetes-helm/helm-v2.7.2-darwin-amd64.tar.gz"],
+    urls = ["https://get.helm.sh/helm-v3.0.2-darwin-amd64.tar.gz"],
     strip_prefix = "darwin-amd64",
     build_file = "@//:third_party/helm/helm.BUILD",
-    sha256 = "5058142bcd6e16b7e01695a8f258d27ae0b6469caf227ddf6aa2181405e6aa8e",
+    sha256 = "05c7748da0ea8d5f85576491cd3c615f94063f20986fd82a0f5658ddc286cdb1",
 )
 
 http_archive(
     name = "helm_linux",
-    urls = ["https://storage.googleapis.com/kubernetes-helm/helm-v2.7.2-linux-amd64.tar.gz"],
+    urls = ["https://get.helm.sh/helm-v3.0.2-linux-amd64.tar.gz"],
     strip_prefix = "linux-amd64",
     build_file = "@//:third_party/helm/helm.BUILD",
-    sha256 = "9f04c4824fc751d6c932ae5b93f7336eae06e78315352aa80241066aa1d66c49",
+    sha256 = "c6b7aa7e4ffc66e8abb4be328f71d48c643cb8f398d95c74d075cfb348710e1d",
 )
 # end helm
 
diff --git a/scripts/packages/BUILD b/scripts/packages/BUILD
index 2abf998..35bf265 100644
--- a/scripts/packages/BUILD
+++ b/scripts/packages/BUILD
@@ -693,7 +693,6 @@
         'mv $$HELM_DIR/*.txt $$HELM_DIR/*.tpl $$HELM_DIR/templates',
         'rm $$HELM_DIR/Chart.yaml.template $$HELM_DIR/values.yaml.template $$HELM_DIR/release.yaml',
         'tree $$HELM_DIR',
-        '$(location //third_party/helm:helm) init --client-only',
         '$(location //third_party/helm:helm) package $$HELM_DIR',
         'mv *.tgz heron-charts',
         '$(location //third_party/helm:helm) repo index heron-charts --url https://storage.googleapis.com/heron-charts',
diff --git a/website2/docs/schedulers-k8s-with-helm.md b/website2/docs/schedulers-k8s-with-helm.md
index be499b1..61c315f 100644
--- a/website2/docs/schedulers-k8s-with-helm.md
+++ b/website2/docs/schedulers-k8s-with-helm.md
@@ -50,47 +50,43 @@
 You can install Helm on Linux using a simple installation script:
 
 ```bash
-$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > install-helm.sh
-$ chmod 700 install-helm.sh
-$ ./install-helm.sh
+$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
+$ chmod 700 get_helm.sh
+$ ./get_helm.sh
 ```
 
-## Installing Helm in your Kubernetes cluster
+## Installing Heron on Kubernetes
 
-To run Helm on Kubernetes, you need to first make sure that [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) is using the right configuration context for your cluster. To check which context is being used:
+To use Helm with Kubernetes, you need to first make sure that [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) is using the right configuration context for your cluster. To check which context is being used:
 
 ```bash
 $ kubectl config current-context
 ```
 
-If the context is correct, then you can get Helm running using just one command:
-
-```bash
-$ helm init
-```
-
-If the output of that command includes `Happy Helming!` then Helm is ready to go.
-
-## Installing Heron on Kubernetes
-
-Once you've installed the Helm client on your machine and gotten Helm running in your Kubernetes cluster, you need to make your client aware of the `heron-charts` Helm repository, which houses the chart for Heron:
+Once you've installed the Helm client on your machine and gotten Helm pointing to your Kubernetes cluster, you need to make your client aware of the `heron-charts` Helm repository, which houses the chart for Heron:
 
 ```bash
 $ helm repo add heron-charts https://storage.googleapis.com/heron-charts
 "heron-charts" has been added to your repositories
 ```
 
+Create a namespace to install into:
+
+```bash
+$ kubectl create namespace heron
+```
+
 Now you can install the Heron package:
 
 ```bash
-$ helm install heron-charts/heron
+$ helm install heron-charts/heron -g -n heron
 ```
 
-This will install Heron and provide the installation with a random name like `jazzy-anaconda`. To provide the installation with a name, such as `heron-kubernetes`:
+This will install Heron and provide the installation in the `heron` namespace (`-n`) with a random name (`-g`) like `jazzy-anaconda`. To provide the installation with a name, such as `heron-kube`:
 
 ```bash
-$ helm install heron-charts/heron \
-  --name heron-kubernetes
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron
 ```
 
 ### Specifying a platform
@@ -98,7 +94,8 @@
 The default platform for running Heron on Kubernetes is [Minikube](#minikube). To specify a different platform, you can use the `--set platform=PLATFORM` flag. Here's an example:
 
 ```bash
-$ helm install heron-charts/heron \
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron \
   --set platform=gke
 ```
 
@@ -130,12 +127,20 @@
 
 Once Minikube is running, you can then install Heron in one of two ways:
 
+Create a namespace to install into:
+
+```bash
+$ kubectl create namespace heron
+```
+
 ```bash
 # Use the Minikube default
-$ helm install heron-charts/heron
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron
 
 # Explicitly select Minikube
-$ helm install heron-charts/heron \
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron \
   --set platform=minikube
 ```
 
@@ -173,29 +178,17 @@
 $ gcloud container clusters get-credentials heron-gke-dev-cluster # or heron-gke-prod-cluster
 ```
 
-Once, the cluster is running (that could take a few minutes), you can initialize Helm on the cluster:
+Create a namespace to install into:
 
 ```bash
-$ helm init
+$ kubectl create namespace heron
 ```
 
-Then, you'll need to adjust some RBAC permissions for your cluster:
+Now you can install Heron:
 
 ```bash
-$ kubectl create serviceaccount tiller \
-  --namespace kube-system \
-$ kubectl create clusterrolebinding tiller-cluster-rule \
-  --clusterrole cluster-admin \
-  --serviceaccount kube-system:tiller
-$ kubectl patch deploy tiller-deploy \
-  --namespace kube-system \
-  --patch '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
-```
-
-Finally, you can install Heron:
-
-```bash
-$ helm install heron-charts/heron \
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron \
   --set platform=gke
 ```
 
@@ -211,7 +204,8 @@
 To apply the `small` configuration, for example:
 
 ```bash
-$ helm install heron-charts/heron \
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron \
   --set platform=gke \
   --values https://raw.githubusercontent.com/apache/incubator-heron/master/deploy/kubernetes/gcp/small.yaml
 ```
@@ -221,7 +215,8 @@
 To run Heron on Kubernetes on Amazon Web Services (AWS), you'll need to 
 
 ```bash
-$ helm install heron-charts/heron \
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron \
   --set platform=aws
 ```
 
@@ -230,7 +225,8 @@
 You can make Heron to use S3 to distribute the user topologies. First you need to set up a S3 bucket and configure an IAM user with enough permissions over it. Get access keys for the user. Then you can deploy Heron like this:
 
 ```bash
-$ helm install heron-charts/heron \
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron \
   --set platform=aws \
   --set uploader.class=s3 \
   --set uploader.s3Bucket=heron \
@@ -245,7 +241,8 @@
 To run Heron on a bare metal Kubernetes cluster:
 
 ```bash
-$ helm install heron-charts/heron \
+$ helm install heron-kube heron-charts/heron \
+  --namespace heron \
   --set platform=baremetal
 ```