Skip to content

Commit a2bcae3

Browse files
authored
Merge pull request #77 from rushtehrani/master
docs: Update cloud provider documentation
2 parents bb90394 + 3d51223 commit a2bcae3

File tree

15 files changed

+332
-116
lines changed

15 files changed

+332
-116
lines changed

docs/deployment/configuration/files.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ nodePool:
231231
```
232232

233233
### artifactRepository
234-
This section allows you to setup the default object storage for your Workflow and Workspace artifacts, which includes Workflow log storage. Onepanel currently supports any S3 compatible artifact repository such as AWS, GCS and Minio. Support for additional object storages is coming soon.
234+
This section allows you to set up the default object storage for your Workflow and Workspace artifacts, which includes Workflow log storage. Onepanel currently supports any S3 compatible artifact repository such as AWS, GCS and Minio.
235235

236236
Here's an example AWS S3 configuration:
237237

@@ -245,9 +245,33 @@ artifactRepository:
245245
secretKey: 5bEYu26084qjSFyclM/f2pz4gviSfoOg+mFwBH39
246246
```
247247

248-
Here's an example Google Cloud GCS configuration:
248+
GCS and Minio configurations would also be similar except that the endpoint will be different. For GCS, you would need to [create an HMAC key](https://cloud.google.com/storage/docs/authentication/managing-hmackeys#create) and use the **Access key** and **Secret** accordingly.
249+
250+
Here's an example GCS configuration:
251+
252+
```yaml
253+
artifactRepository:
254+
s3:
255+
accessKey: GOOG1EQPAXHU77377T6TGRYGD7NDV6AA3TFYIIKXP2RZLHI3DZB76FIFGDNLQ
256+
bucket: pipelines.example.com
257+
endpoint: storage.googleapis.com
258+
region: us-west-2
259+
secretKey: S3hdxSL6HlPGTAAFZYxG/iaKhtlDHVCbyiIBRPxq
260+
```
261+
262+
And example Minio configuration:
249263

250264
```yaml
265+
artifactRepository:
266+
s3:
267+
accessKey: AKIAJSIE27KKMHXI3BJQ
268+
bucket: my-bucket
269+
endpoint: my-minio-endpoint.default:9000
270+
region: us-west-2
271+
secretKey: 5bEYu26084qjSFyclM/f2pz4gviSfoOg+mFwBH39
272+
```
273+
274+
<!-- ```yaml
251275
artifactRepository:
252276
gcs:
253277
bucket: mygreatbucket
@@ -275,7 +299,7 @@ You can get the serviceAccount JSON via gcloud.
275299
gcloud iam service-accounts keys create key.json \
276300
--iam-account ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
277301
```
278-
:::
302+
::: -->
279303

280304
:::important
281305
Onepanel Workflows will automatically upload or download artifacts from `artifacts/{{workflow.namespace}}/{{workflow.name}}/{{pod.name}}`. See [Workflow artifacts](/docs/reference/workflows/templates#artifacts) for more information.

docs/deployment/public/aks.md

Lines changed: 17 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -27,55 +27,33 @@ az aks create --resource-group <resource-group> --name <cluster-name> --location
2727
--node-vm-size Standard_D4s_v3 \
2828
--node-osdisk-size 100 \
2929
--min-count 2 \
30-
--max-count 2 \
30+
--max-count 5 \
3131
--enable-cluster-autoscaler \
3232
--network-plugin azure \
3333
--network-policy azure \
3434
--enable-addons monitoring \
3535
--generate-ssh-keys
3636
```
3737

38-
:::note
39-
The `--enable-addons monitoring` flag in the command above enables Azure Monitor for log aggregation which can incur additional charges. You can optionally remove this flag and add `--enable-efk-logging` to `opctl` command below.
40-
:::
41-
42-
:::note
43-
You can specify the version of the cluster.
44-
Get a list of versions by running:
45-
```shell script
46-
az aks get-versions --location eastus --output table
47-
```
48-
Example output
49-
```text
50-
KubernetesVersion Upgrades
51-
------------------- -------------------------------------------------
52-
1.18.2(preview) None available
53-
1.18.1(preview) 1.18.2(preview)
54-
1.17.5(preview) 1.18.1(preview), 1.18.2(preview)
55-
1.17.4(preview) 1.17.5(preview), 1.18.1(preview), 1.18.2(preview)
56-
1.16.9 1.17.4(preview), 1.17.5(preview)
57-
1.16.8 1.16.9, 1.17.4(preview), 1.17.5(preview)
58-
1.15.11 1.16.8, 1.16.9
59-
1.15.10 1.15.11, 1.16.8, 1.16.9
60-
1.14.8 1.15.10, 1.15.11
61-
1.14.7 1.14.8, 1.15.10, 1.15.11
62-
```
38+
You can then get access credentials by running:
6339

64-
Add the flag to the above command:
65-
```shell script
66-
az aks create --resource-group <resource-group> --name <cluster-name> \
67-
--node-count 2 \
68-
--kubernetes-version 1.16.9 \
69-
...
40+
```bash
41+
az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
7042
```
7143

72-
:::
73-
74-
You can then get access credentials by running:
44+
Optionally, you can add additional auto-scaling node pools to the cluster as follows:
7545

46+
```bash
47+
az aks nodepool add --resource-group <resource-group> --cluster-name <cluster-name> \
48+
--name <nodepool-name> \
49+
--node-vm-size <node-vm-size> \
50+
--enable-cluster-autoscaler \
51+
--node-count 1 \
52+
--min-count 0 \
53+
--max-count <max-count>
7654
```
77-
az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
78-
```
55+
56+
In step <strong>1.3</strong> below, you can configure Onepanel to automatically scale these nodes as needed.
7957

8058
## Install Onepanel
8159
1. Download the latest `opctl` for your operating system from [our release page](https://github.com/onepanelio/core/releases/latest).
@@ -137,6 +115,7 @@ az aks get-credentials --resource-group <resource-group> --name <cluster-name> -
137115
```bash
138116
opctl init --provider aks \
139117
--artifact-repository-provider s3 \
118+
--gpu-device-plugins nvidia \
140119
--enable-https \
141120
--enable-cert-manager \
142121
--dns-provider <dns-provider>
@@ -147,7 +126,7 @@ az aks get-credentials --resource-group <resource-group> --name <cluster-name> -
147126
:::
148127

149128
:::note
150-
If you have GPU nodes, you need to set the `--gpu-device-plugins` flag. Valid values are `nvidia` and `amd` or a comma separated combination of both `nvidia,amd`.
129+
Valid options for `--gpu-device-plugins` are `nvidia` and `amd` or a comma separated combination of both `nvidia,amd`.
151130
:::
152131

153132
3. Populate `params.yaml` by following the instructions in the template, and referring to [configuration file sections](/docs/deployment/configuration/files#sections) for more detailed information.

docs/deployment/public/eks.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ eksctl create cluster --name=<cluster-name> --region <region> \
2727
--node-type m5.xlarge \
2828
--node-volume-size 100 \
2929
--nodes-min 2 \
30-
--nodes-max 2 \
30+
--nodes-max 5 \
3131
--asg-access \
3232
--managed \
3333
--ssh-access
@@ -111,6 +111,7 @@ If you are not the person that created the cluster, you will need to be [added t
111111
```bash
112112
opctl init --provider eks \
113113
--artifact-repository-provider s3 \
114+
--gpu-device-plugins nvidia \
114115
--enable-https \
115116
--enable-cert-manager \
116117
--dns-provider <dns-provider>
@@ -121,7 +122,7 @@ If you are not the person that created the cluster, you will need to be [added t
121122
:::
122123

123124
:::note
124-
If you have GPU nodes, you need to set the `--gpu-device-plugins` flag. Valid values are `nvidia` and `amd` or a comma separated combination of both `nvidia,amd`.
125+
Valid options for `--gpu-device-plugins` are `nvidia` and `amd` or a comma separated combination of both `nvidia,amd`.
125126
:::
126127

127128
3. Populate `params.yaml` by following the instructions in the template, and referring to [configuration file sections](/docs/deployment/configuration/files#sections) for more detailed information.

docs/deployment/public/gke.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ We recommend launching a cluster with 2 `n1-standard-4` nodes to start, with aut
2222
Here is sample `gcloud` command to create a bare minimum cluster:
2323

2424
```bash
25-
gcloud container --project <project-name> clusters create <cluster-name> --zone <zone> --node-locations <single-location> \
25+
gcloud container --project <project-name> clusters create <cluster-name> --zone <zone> --node-locations <zone> \
2626
--num-nodes 2 \
2727
--machine-type n1-standard-4 \
2828
--disk-size 100 \
29-
--min-nodes 0 \
30-
--max-nodes 2 \
29+
--min-nodes 2 \
30+
--max-nodes 5 \
3131
--enable-autoscaling \
3232
--enable-network-policy \
3333
--enable-stackdriver-kubernetes \
@@ -48,6 +48,21 @@ The command above will automatically retrieve your cluster's access credentials
4848
gcloud container clusters get-credentials <cluster-name> --zone <zone>
4949
```
5050

51+
Optionally, you can add additional auto-scaling node pools to the cluster as follows:
52+
53+
```bash
54+
gcloud container node-pools create <node-pool-name> --cluster <cluster-name> --zone <zone> \
55+
--machine-type <machine-type> \
56+
--disk-size 100 \
57+
--num-nodes 0 \
58+
--min-nodes 0 \
59+
--max-nodes 5 \
60+
--enable-autoscaling \
61+
--accelerator 'type=<type>,count=<count>' # optional, example: 'type=nvidia-tesla-v100,count=1'
62+
```
63+
64+
In step <strong>1.3</strong> below, you can configure Onepanel to automatically scale these nodes as needed.
65+
5166
## Install Onepanel
5267
1. Download the latest `opctl` for your operating system from [our release page](https://github.com/onepanelio/core/releases/latest).
5368

docs/getting-started/quickstart.md

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ It's easy to get started with Onepanel. First, you install the CLI (`opctl`) and
1111
Before getting started, take a look at [concepts](/docs/getting-started/concepts/namespaces) to understand the different components in Onepanel.
1212

1313
:::important
14-
The steps in the quick start allow you to quickly create a Onepanel cluster for testing. To create a production cluster with TLS and auto scaling enabled see [instructions for your cloud provider](/docs/deployment/overview#installing-on-public-cloud).
14+
The steps in the quick start allow you to quickly create a Onepanel cluster for evaluation. To create a production cluster with TLS and a managed database see [instructions for your cloud provider](/docs/deployment/overview#installing-on-public-cloud).
1515

1616
You can also [add components](/docs/deployment/upgrade/overview) at later time to make this cluster production ready.
1717
:::
@@ -26,7 +26,7 @@ Let's get started by creating a Kubernetes cluster in one of the following cloud
2626
{ label: 'Azure AKS', value: 'aks', },
2727
{ label: 'Amazon EKS', value: 'eks', },
2828
{ label: 'Google Cloud GKE', value: 'gke', },
29-
{ label: 'Minikube', value: 'minikube', },
29+
// { label: 'Minikube', value: 'minikube', },
3030
// { label: 'Microk8s', value: 'microk8s', },
3131
]
3232
}>
@@ -44,7 +44,7 @@ az aks create --resource-group <resource-group> --name <cluster-name> --location
4444
--node-vm-size Standard_D4s_v3 \
4545
--node-osdisk-size 100 \
4646
--min-count 2 \
47-
--max-count 2 \
47+
--max-count 5 \
4848
--enable-cluster-autoscaler \
4949
--network-plugin azure \
5050
--network-policy azure \
@@ -54,10 +54,24 @@ az aks create --resource-group <resource-group> --name <cluster-name> --location
5454

5555
You can then get access credentials by running:
5656

57-
```
57+
```bash
5858
az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
5959
```
6060

61+
Optionally, you can add additional auto-scaling node pools to the cluster as follows:
62+
63+
```bash
64+
az aks nodepool add --resource-group <resource-group> --cluster-name <cluster-name> \
65+
--name <nodepool-name> \
66+
--node-vm-size <node-vm-size> \
67+
--enable-cluster-autoscaler \
68+
--node-count 1 \
69+
--min-count 0 \
70+
--max-count <max-count>
71+
```
72+
73+
In step <strong>1.3</strong> below, you can configure Onepanel to automatically scale these nodes as needed.
74+
6175
</TabItem>
6276
<TabItem value="eks">
6377

@@ -73,7 +87,7 @@ eksctl create cluster --name=<cluster-name> --region <region> \
7387
--node-type m5.xlarge \
7488
--node-volume-size 100 \
7589
--nodes-min 2 \
76-
--nodes-max 2 \
90+
--nodes-max 5 \
7791
--asg-access \
7892
--managed \
7993
--ssh-access
@@ -95,12 +109,12 @@ Make sure [Google Cloud SDK](https://cloud.google.com/sdk/install) (`gcloud`) is
95109
Run this `gcloud` command to create a bare minimum cluster with 2 `n1-standard-4` nodes:
96110

97111
```bash
98-
gcloud container --project <project-name> clusters create <cluster-name> --zone <zone> --node-locations <single-location> \
112+
gcloud container --project <project-name> clusters create <cluster-name> --zone <zone> --node-locations <zone> \
99113
--num-nodes 2 \
100114
--machine-type n1-standard-4 \
101115
--disk-size 100 \
102-
--min-nodes 0 \
103-
--max-nodes 2 \
116+
--min-nodes 2 \
117+
--max-nodes 5 \
104118
--enable-autoscaling \
105119
--enable-network-policy \
106120
--enable-stackdriver-kubernetes \
@@ -113,6 +127,21 @@ The command above will automatically retrieve your cluster's access credentials
113127
gcloud container clusters get-credentials <cluster-name> --zone <zone>
114128
```
115129

130+
Optionally, you can add additional auto-scaling node pools to the cluster as follows:
131+
132+
```bash
133+
gcloud container node-pools create <node-pool-name> --cluster <cluster-name> --zone <zone> \
134+
--machine-type <machine-type> \
135+
--disk-size 100 \
136+
--num-nodes 0 \
137+
--min-nodes 0 \
138+
--max-nodes 5 \
139+
--enable-autoscaling \
140+
--accelerator 'type=<type>,count=<count>' # optional, example: 'type=nvidia-tesla-v100,count=1'
141+
```
142+
143+
In step <strong>1.3</strong> below, you can configure Onepanel to automatically scale these nodes as needed.
144+
116145
</TabItem>
117146
<TabItem value="minikube">
118147

@@ -345,53 +374,45 @@ Next, get the kubeconfig by running
345374
{ label: 'Azure AKS', value: 'aks', },
346375
{ label: 'Amazon EKS', value: 'eks', },
347376
{ label: 'Google Cloud GKE', value: 'gke', },
348-
{ label: 'Minikube', value: 'minikube', },
377+
// { label: 'Minikube', value: 'minikube', },
349378
// { label: 'Microk8s', value: 'microk8s', },
350379
]
351380
}>
352381
<TabItem value="aks">
353382

354383
```bash
355384
opctl init --provider aks \
356-
--artifact-repository-provider s3
385+
--artifact-repository-provider s3 \
386+
--gpu-device-plugins nvidia
357387
```
358388

359389
:::note
360-
If you have GPU nodes, you need to set the `--gpu-device-plugins` flag. Valid values are `nvidia` and `amd` or a comma separated combination of both `nvidia,amd`.
361-
362-
Valid options for `--artifact-repository-provider` flag are `s3` or `gcs`. Use `s3` for any S3 compatible object storage like Minio.
363-
364-
See [CLI overview](/docs/deployment/configuration/cli) for additional flags that that may apply.
390+
Currently, the only valid option for `--artifact-repository-provider` flag is `s3`, which supports any S3 compatible object storage like [Minio](https://docs.min.io/) and [GCS (with HMAC key enabled)](https://cloud.google.com/storage/docs/authentication/managing-hmackeys#create).
365391
:::
366392

367393
</TabItem>
368394
<TabItem value="eks">
369395

370396
```bash
371397
opctl init --provider eks \
372-
--artifact-repository-provider s3
398+
--artifact-repository-provider s3 \
399+
--gpu-device-plugins nvidia
373400
```
374401

375402
:::note
376-
If you have GPU nodes, you need to set the `--gpu-device-plugins` flag. Valid values are `nvidia` and `amd` or a comma separated combination of both `nvidia,amd`.
377-
378-
Valid options for `--artifact-repository-provider` flag are `s3` or `gcs`. Use `s3` for any S3 compatible object storage like Minio.
379-
380-
See [CLI overview](/docs/deployment/configuration/cli) for additional flags that that may apply.
403+
Currently, the only valid option for `--artifact-repository-provider` flag is `s3`, which supports any S3 compatible object storage like [Minio](https://docs.min.io/) and [GCS (with HMAC key enabled)](https://cloud.google.com/storage/docs/authentication/managing-hmackeys#create).
381404
:::
382405

383406
</TabItem>
384407
<TabItem value="gke">
385408

386409
```bash
387410
opctl init --provider gke \
388-
--artifact-repository-provider s3
411+
--artifact-repository-provider s3
389412
```
390413

391414
:::note
392-
Valid options for `--artifact-repository-provider` flag are `s3` or `gcs`. Use `s3` for any S3 compatible object storage like Minio.
393-
394-
See [CLI overview](/docs/deployment/configuration/cli) for additional flags that that may apply.
415+
Currently, the only valid option for `--artifact-repository-provider` flag is `s3`, which supports any S3 compatible object storage like [Minio](https://docs.min.io/) and [GCS (with HMAC key enabled)](https://cloud.google.com/storage/docs/authentication/managing-hmackeys#create).
395416
:::
396417
</TabItem>
397418

@@ -404,11 +425,7 @@ Next, get the kubeconfig by running
404425
```
405426

406427
:::note
407-
If you have GPU nodes, you need to set the `--gpu-device-plugins` flag. Valid values are `nvidia` and `amd` or a comma separated combination of both `nvidia,amd`.
408-
409-
Valid options for `--artifact-repository-provider` flag are `s3` or `gcs`. Use `s3` for any S3 compatible object storage like Minio.
410-
411-
See [CLI overview](/docs/deployment/configuration/cli) for additional flags that that may apply.
428+
Currently, the only valid option for `--artifact-repository-provider` flag is `s3`, which supports any S3 compatible object storage like [Minio](https://docs.min.io/) and [GCS (with HMAC key enabled)](https://cloud.google.com/storage/docs/authentication/managing-hmackeys#create).
412429
:::
413430

414431
</TabItem>
@@ -439,7 +456,7 @@ Next, get the kubeconfig by running
439456
{ label: 'Azure AKS', value: 'aks', },
440457
{ label: 'Amazon EKS', value: 'eks', },
441458
{ label: 'Google Cloud GKE', value: 'gke', },
442-
{ label: 'Minikube', value: 'minikube', },
459+
// { label: 'Minikube', value: 'minikube', },
443460
// { label: 'Microk8s', value: 'microk8s', },
444461
]
445462
}>

0 commit comments

Comments
 (0)