Skip to content
Permalink
Browse files

Update README.md

  • Loading branch information...
cfregly committed Jun 21, 2019
1 parent 6eef4bf commit 5e46507aee3e1387b38ed78af6cc86e1459272f7
Showing with 10 additions and 7 deletions.
  1. +10 −7 docs/quickstart/kubernetes/README.md
@@ -5,18 +5,21 @@ _Note: When using AWS EKS, make sure you allocate 100GB to the root volume ephem

Here is a sample command using [Jenkins-X](https://jenkins-x.io/commands/jx_create_cluster_eks/) with AWS EKS:
```
jx create cluster eks --node-type=<instance-type> --node-volume-size=100 --verbose=true --cluster-name=pipelineai --install-dependencies=true --skip-ingress=true --skip-installation=true --nodes=1 --eksctl-log-level=5 --version=1.12
jx create cluster eks --node-type=<instance-type> --node-volume-size=100 --verbose=true --cluster-name=pipelineai --install-dependencies=true --skip-ingress=true --skip-installation=true --nodes=1 --eksctl-log-level=5 --version=1.13
```
Notes:
* Use `--ssh-public-key=/path/to/public/key.pub` to enable ssh'ing to the worker.
* You may also need to open port 22 on the worker node security group.

## (AWS-Only) Update Kubernetes Config (`~/.kube/config`)
### Install `aws-iam-authenticator`
See these docs for more info: https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html

### Update Config
See these docs for more info: https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
```
aws eks update-kubeconfig --region us-west-2 --name pipelineai
```
### Update

## Install PipelineAI on Kubernetes
### Prerequisites
@@ -67,18 +70,18 @@ Notes:
### AWS IAM Roles (AWS-Only)
Make sure the underlying EC2 instances for your EKS cluster contain the `AmazonEC2ContainerRegistryPowerUser` instance policy. See [here](https://aws.amazon.com/blogs/security/easily-replace-or-attach-an-iam-role-to-an-existing-ec2-instance-by-using-the-ec2-console/) and [here](https://eksworkshop.com/logging/prereqs/) for more info.

### Create and Switch to a Namespace (or just use `default`)
### Create and Switch to `kubeflow` Namespace
```
kubectl create namespace default
kubectl create namespace kubeflow
kubectl config set-context $(kubectl config current-context) --namespace=default
kubectl config set-context $(kubectl config current-context) --namespace=kubeflow
```

### (Optional) Enable Kubernetes to Recognize GPUs
Notes:
* Currently, EKS only supports p2 and p3 [GPU instance types](https://aws.amazon.com/marketplace/pp/B07GRHFXGM)
* For GPU with EKS, YOU MUST ACCEPT THE AMI TERMS [HERE](https://aws.amazon.com/marketplace/pp/B07GRHFXGM)
* You may need to change the version above (ie. v1.12). Run `kubectl version` and verify the `Server Version` of Kubernetes
* You may need to change the version above (ie. v1.12+). Run `kubectl version` and verify the `Server Version` of Kubernetes

(Optional) Apply the Nvidia GPU plugin
```
@@ -102,7 +105,7 @@ PipelineAI CLI Args
* `--users-storage-gb`: (Optional) Size of persistent volume (Default `10Gi`)
* `--ingress-type`: (Optional) `nodeport` or `loadbalancer` (Default `nodeport`)
```
pipeline cluster-kube-install --tag 1.5.0 --chip=cpu --namespace=default --image-registry-url=<your-docker-registry-url> --image-registry-username=<optional> --image-registry-password=<optional> --users-storage-gb=10Gi --ingress-type=<nodeport or loadbalancer>
pipeline cluster-kube-install --tag 1.5.0 --chip=cpu --namespace=kubeflow --image-registry-url=<your-docker-registry-url> --image-registry-username=<optional> --image-registry-password=<optional> --users-storage-gb=100Gi --ingress-type=<nodeport or loadbalancer>
```
Notes:
* Add `--dry-run=True` to generate and inspect the yaml generated in $HOME/.pipelineai

0 comments on commit 5e46507

Please sign in to comment.
You can’t perform that action at this time.