From 00134a576d645fb9d767dfb3c41a35f1b693c6e4 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Mon, 8 Jun 2020 17:06:19 -0700 Subject: [PATCH 01/38] Updating minikube resource requirements for istio. Updated the extra flags that are needed to ensure can be deployed by our CLI. --- docs/deployment/single-node/minikube.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/deployment/single-node/minikube.md b/docs/deployment/single-node/minikube.md index 1400dbe4..6bf0df84 100644 --- a/docs/deployment/single-node/minikube.md +++ b/docs/deployment/single-node/minikube.md @@ -9,10 +9,15 @@ This document outlines the installation steps for single node installation using See [Install Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) and follow the instructions for your operating system. -Once Minikube is installed, start it with at least 4 Gigabytes of RAM and 40G of storage – you can pass these requirements as follows: +Once Minikube is installed, start it with at least 16 Gigabytes of RAM, 4 CPUs, and 40G of storage (for Istio) – you can pass these requirements as follows: ```bash -minikube start --memory '4gb' --disk-size '40g' +minikube start --memory '16gb' --cpus=4 --disk-size '40g' + --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key ` + --extra-config=apiserver.service-account-key-file=/var/lib/minikube/certs/sa.pub ` + --extra-config=apiserver.service-account-issuer=api ` + --extra-config=apiserver.service-account-api-audiences=api,nats ` + --extra-config=apiserver.authorization-mode=Node,RBAC ``` You can now find the IP address which has been allocated by running: From 5984014e377851b51237f7cf6642c779d3064ea8 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Thu, 11 Jun 2020 11:42:00 -0700 Subject: [PATCH 02/38] Using consistent multi-line symbols. ` is for powershell, Windows. --- docs/deployment/single-node/minikube.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/deployment/single-node/minikube.md b/docs/deployment/single-node/minikube.md index 6bf0df84..715ba22c 100644 --- a/docs/deployment/single-node/minikube.md +++ b/docs/deployment/single-node/minikube.md @@ -12,11 +12,11 @@ See [Install Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) Once Minikube is installed, start it with at least 16 Gigabytes of RAM, 4 CPUs, and 40G of storage (for Istio) – you can pass these requirements as follows: ```bash -minikube start --memory '16gb' --cpus=4 --disk-size '40g' - --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key ` - --extra-config=apiserver.service-account-key-file=/var/lib/minikube/certs/sa.pub ` - --extra-config=apiserver.service-account-issuer=api ` - --extra-config=apiserver.service-account-api-audiences=api,nats ` +minikube start --memory '16gb' --cpus=4 --disk-size '40g' \ + --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ + --extra-config=apiserver.service-account-key-file=/var/lib/minikube/certs/sa.pub \ + --extra-config=apiserver.service-account-issuer=api \ + --extra-config=apiserver.service-account-api-audiences=api,nats \ --extra-config=apiserver.authorization-mode=Node,RBAC ``` From 4ff7a0fd6691ab95979c64da5fef6759eef1b75f Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Thu, 11 Jun 2020 12:09:58 -0700 Subject: [PATCH 03/38] Adding installation information, to microk8s, to get istio working. --- docs/deployment/single-node/microk8s.md | 34 ++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 6182660c..872b6f86 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -86,13 +86,45 @@ sudo usermod -a -G microk8s ubuntu Then, enable the following required add-ons: ```bash -sudo microk8s.enable storage dns +sudo microk8s.enable storage dns rbac ``` ```bash sudo microk8s.enable dashboard ``` +Enable TokenRequest feature by passing in extra argument to the api server. +```shell script +nano /var/snap/microk8s/current/args/kube-apiserver +``` +Add the lines: +```text +--service-account-signing-key-file=${SNAP_DATA}/certs/serviceaccount.key +--service-account-key-file=${SNAP_DATA}/certs/serviceaccount.key +--service-account-issuer=api +--service-account-api-audiences=api,nats +``` +Make sure this line is set to these values: +```text +--authorization-mode=RBAC,Node +``` + +Save your changes. +Execute to make changes take effect +```shell script +sudo systemctl restart snap.microk8s.daemon-apiserver +``` + +Check microk8s is running with `microk8s status` +:::note +If you see a "not running" error, run `microk8s inspect`. +- Since the api server was just changed, it's most likely that's where the error is. +- Check what reports as "FAIL" +- Assuming it's the api server +- Untar the report file, go to the daemon-apiserver folder, open `journal` log file. +- Search for "error" and see what comes up. +::: + ## Install Onepanel 1. Download the latest `opctl` for your operating system from [our release page](https://github.com/onepanelio/core/releases/latest). From c9df6b9a903fa274633148b6b56426547f1917cd Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Thu, 11 Jun 2020 12:10:25 -0700 Subject: [PATCH 04/38] Updating microk8s requirements and version. --- docs/deployment/single-node/microk8s.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 872b6f86..a8c12c92 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -46,7 +46,7 @@ See [Installing on Windows](https://multipass.run/docs/installing-on-windows) With multipass installed, you can now create a VM to run MicroK8s. At least 4 Gigabytes of RAM and 40G of storage is recommended – you can pass these requirements when you launch the VM: ```bash -multipass launch --name microk8s-vm --mem 4G --disk 40G +multipass launch --name microk8s-vm --mem 16G --disk 40G ``` You can now find the IP address which has been allocated by running: @@ -73,7 +73,7 @@ multipass shell microk8s-vm Install the MicroK8s snap and configure the network: ```bash -sudo snap install microk8s --classic --channel=1.17/stable +sudo snap install microk8s --classic --channel=1.18/stable sudo iptables -P FORWARD ACCEPT ``` @@ -157,4 +157,4 @@ The CLI will display the URL for accessing Onepanel once the deployment complete ```bash KUBECONFIG=./kubeconfig opctl auth token -``` \ No newline at end of file +``` From 8d3b914f4212edf6bcd9c68958523bee63a35ffb Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Thu, 11 Jun 2020 12:10:34 -0700 Subject: [PATCH 05/38] Adding minikube and microk8s to sidebar. --- sidebars.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sidebars.js b/sidebars.js index 3014f50a..f150c2a4 100644 --- a/sidebars.js +++ b/sidebars.js @@ -80,6 +80,8 @@ module.exports = { 'deployment/public/aks', 'deployment/public/eks', 'deployment/public/gke', + 'deployment/single-node/microk8s', + 'deployment/single-node/minikube', ] }, { From 7bc18af43a40bf89c04d824c16babb1719efad9d Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Fri, 12 Jun 2020 15:21:32 -0700 Subject: [PATCH 06/38] Adding minikube and microk8s tab items to quick start. --- docs/getting-started/quickstart.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 97c66baa..4558a973 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -23,6 +23,8 @@ Next, create a Kubernetes cluster in one of the following cloud providers: { label: 'Azure AKS', value: 'aks', }, { label: 'Amazon EKS', value: 'eks', }, { label: 'Google Cloud GKE', value: 'gke', }, + { label: 'Minikube', value: 'minikube', }, + { label: 'Microk8s', value: 'microk8s', }, ] }> From 9c462cd122d077cb3c714270513de4d4c6594bc7 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Fri, 12 Jun 2020 15:23:55 -0700 Subject: [PATCH 07/38] Added tab for minikube quickstart. --- docs/getting-started/quickstart.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 4558a973..08213569 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -110,6 +110,24 @@ The command above will automatically retrieve your cluster's access credentials gcloud container clusters get-credentials --zone ``` + + + +:::note +Make sure [Minikube](https://minikube.sigs.k8s.io/docs/start/) (`minikube`) is installed before proceeding. +::: + +```shell script +minikube start --memory '16gb' --cpus=4 --disk-size '40g' \ + --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ + --extra-config=apiserver.service-account-key-file=/var/lib/minikube/certs/sa.pub \ + --extra-config=apiserver.service-account-issuer=api \ + --extra-config=apiserver.service-account-api-audiences=api,nats \ + --extra-config=apiserver.authorization-mode=Node,RBAC +``` + +Your kubectl context will be automatically updated once minikube finishes starting. + From 572c4b25f2bd6e432b68eb2094920ca348de3db0 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Fri, 12 Jun 2020 16:53:44 -0700 Subject: [PATCH 08/38] Adding a section for MetalLB configuration. Adding a section for Multipass, microk8s, and metal lb. --- docs/deployment/configuration/files.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index e53432b7..6ab4c6b5 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -265,4 +265,21 @@ database: :::important For a production environment, use a managed database service and set the configuration accordingly. -::: \ No newline at end of file +::: + +### Metal LB +This is to configure a load balancer for local or bare-metal deployments. + +Example: +```yaml +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Component: Application and kubernetes load balancing on non-cloud deployments. +# Description: MetalLB, LoadBalancer +# CLI flag: --enable-metallb +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +metalLb: + addresses: + - 10.1.31.1/24 +``` + +### Multipass, Microk8s, and Metal LB From e18f262fc908058e40b23c65ef56117a482bcb9a Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Fri, 12 Jun 2020 17:02:03 -0700 Subject: [PATCH 09/38] Added microk8s specific quickstart steps. - Included setup for multipass and istio --- docs/getting-started/quickstart.md | 68 ++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 08213569..d3375fe0 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -128,6 +128,74 @@ minikube start --memory '16gb' --cpus=4 --disk-size '40g' \ Your kubectl context will be automatically updated once minikube finishes starting. + + + +:::note +We recommend installing multipass for virtualization, and then install microk8s inside. +Make sure [Multipass](https://multipass.run/docs) (`multipass`) is installed before proceeding. +::: + +```shell script +multipass launch --name microk8s-vm --mem 16G --disk 40G --cpus 4 +``` + +Multipass creates a virtual machine (VM). Inside that VM, we will create a kubernetes +cluster with microk8s. + +Run a shell into your VM: + +```bash +multipass shell microk8s-vm +``` + +Install the MicroK8s snap and configure the network: + +```bash +sudo snap install microk8s --classic --channel=1.18/stable +sudo iptables -P FORWARD ACCEPT +``` + +You will also need to add `ubuntu` user to `microk8s` group as follows: + +```bash +sudo usermod -a -G microk8s ubuntu +# Re-enter bash session for group changes +``` + +Then, enable the following required add-ons: + +```bash +sudo microk8s.enable storage dns rbac dashboard +``` + +Enable TokenRequest feature (required by Istio) by passing in extra argument to the api server. +```shell script +nano /var/snap/microk8s/current/args/kube-apiserver +``` +Add the lines: +```text +--service-account-signing-key-file=${SNAP_DATA}/certs/serviceaccount.key +--service-account-key-file=${SNAP_DATA}/certs/serviceaccount.key +--service-account-issuer=api +--service-account-api-audiences=api,nats +``` +Make sure this line is set to these values: +```text +--authorization-mode=RBAC,Node +``` + +Save your changes. +Execute to make changes take effect +```shell script +sudo systemctl restart snap.microk8s.daemon-apiserver +``` + +Exit out of the VM for the next steps. +```shell script +exit +``` + From a395e05bb6d080f9d2cc631f649976f21a48c299 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Fri, 12 Jun 2020 17:03:04 -0700 Subject: [PATCH 10/38] Added optcl init details for minikube and microk8s. - Added note about a LoadBalancer and using metallb --- docs/getting-started/quickstart.md | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index d3375fe0..ff1cb3c9 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -254,6 +254,8 @@ opctl version { label: 'Azure AKS', value: 'aks', }, { label: 'Amazon EKS', value: 'eks', }, { label: 'Google Cloud GKE', value: 'gke', }, + { label: 'Minikube', value: 'minikube', }, + { label: 'Microk8s', value: 'microk8s', }, ] }> @@ -276,6 +278,36 @@ opctl init --provider eks opctl init --provider gke ``` + + + + +```bash +opctl init --provider minikube +``` + +:::note +If you do not have a loadbalancer setup, you can use metallb +```shell script +opctl init --provider minikube --enable-metallb +``` +::: + + + + + +```bash +opctl init --provider microk8s +``` + +:::note +If you do not have a loadbalancer setup, you can use metallb +```shell script +opctl init --provider microk8s --enable-metallb +``` +::: + From 6105815174b77404c9b26fad557f5f7befd82074 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Fri, 12 Jun 2020 17:03:08 -0700 Subject: [PATCH 11/38] Added a link for accessing microk8s inside multipass vm. --- docs/getting-started/quickstart.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index ff1cb3c9..fe9650e1 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -313,6 +313,12 @@ opctl init --provider microk8s --enable-metallb 3. Populate `params.yaml` by following the instructions in the template, you can also refer to [configuration file sections](/docs/deployment/configuration/files#sections) for more detailed information. +:::important +For `multipass` hosting `microk8s`, extra configuration is required for the +host to talk to onepanel hosted by microk8s. +Please see instructions: [host to microk8s via multipass](/docs/deployment/configuration/files#multipass-microk8s-and-metal-lb) +::: + 4. Finally, run the following command to deploy Onepanel to your cluster: ```bash From 28a6067c3737b70e8b01a2de14beb0d757f279d6 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Sun, 14 Jun 2020 19:19:49 -0700 Subject: [PATCH 12/38] Updating microk8s cpus. Load balancer details. Simplifying instructions. --- docs/deployment/single-node/microk8s.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index a8c12c92..acafb8fd 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -46,7 +46,7 @@ See [Installing on Windows](https://multipass.run/docs/installing-on-windows) With multipass installed, you can now create a VM to run MicroK8s. At least 4 Gigabytes of RAM and 40G of storage is recommended – you can pass these requirements when you launch the VM: ```bash -multipass launch --name microk8s-vm --mem 16G --disk 40G +multipass launch --name microk8s-vm --mem 16G --disk 40G --cpus 4 ``` You can now find the IP address which has been allocated by running: @@ -81,19 +81,16 @@ You will also need to add `ubuntu` user to `microk8s` group as follows: ```bash sudo usermod -a -G microk8s ubuntu +# Re-enter bash session for group changes ``` Then, enable the following required add-ons: ```bash -sudo microk8s.enable storage dns rbac +sudo microk8s.enable storage dns rbac dashboard ``` -```bash -sudo microk8s.enable dashboard -``` - -Enable TokenRequest feature by passing in extra argument to the api server. +Enable TokenRequest feature (required by Istio) by passing in extra argument to the api server. ```shell script nano /var/snap/microk8s/current/args/kube-apiserver ``` @@ -135,6 +132,15 @@ If you see a "not running" error, run `microk8s inspect`. opctl init --provider microk8s ``` +:::note +If you don't have a loadbalancer, and want to use a local one, you can use metallb. +```shell script +opctl init --provider microk8s --enable-metallb +``` +Add to `params.yaml` +::: + + 3. Populate `params.yaml` by following the instructions in the template, you can also refer to the [configuration files](/docs/deployment/configuration/files) section. 4. Get Kubernetes config from MicroK8s: From 279aa2e6444ad4c80b3a07f6929780e8f2882090 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Sun, 14 Jun 2020 21:52:51 -0700 Subject: [PATCH 13/38] Adding information for how to get the Metal LB address range. --- docs/deployment/configuration/files.md | 74 ++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 6ab4c6b5..428757f2 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -2,6 +2,8 @@ title: Configuration files sidebar_label: Configuration files --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; There are two files generated after running `opctl init --provider `: @@ -282,4 +284,76 @@ metalLb: - 10.1.31.1/24 ``` +How to get the address range. + + + +```shell script +ifconfig -a +ens33: flags=4163 mtu 1500 + inet 192.168.157.130 netmask 255.255.255.0 broadcast 192.168.157.255 + inet6 fe80::9446:9952:69d3:d185 prefixlen 64 scopeid 0x20 + ether 00:0c:29:2e:78:11 txqueuelen 1000 (Ethernet) + RX packets 46355 bytes 58715549 (58.7 MB) + RX errors 0 dropped 0 overruns 0 frame 0 + TX packets 10838 bytes 1159449 (1.1 MB) + TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 +[...Other Output...] +``` +In our case, we have `192.168.157.130` + +So we can use `192.168.157.0/24` for a range of `192.168.157.0` to `192.168.157.255` + +```yaml +metalLb: + addresses: + - 192.168.157.0/24 +# or +# - 192.168.157.0-192.168.157.255 +``` + + + +Get inside the VM of multipass. + +```shell script +multipass shell microk8s-vm +``` + +```shell script +ifconfig -a +cni0: flags=4163 mtu 1450 + inet 10.1.31.1 netmask 255.255.255.0 broadcast 0.0.0.0 + inet6 fe80::58ce:8dff:fe5e:2be5 prefixlen 64 scopeid 0x20 + ether 5a:ce:8d:5e:2b:e5 txqueuelen 1000 (Ethernet) + RX packets 37251 bytes 4363323 (4.3 MB) + RX errors 0 dropped 0 overruns 0 frame 0 + TX packets 38095 bytes 9152263 (9.1 MB) + TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 +[...Other output...] +``` + +We want CNI because it's the Container Network Interface. + +In our case, we have `10.1.31.1` + +So we can use `10.1.31.0/24` for a range of `10.1.31.0` to `10.1.31.255` + +```yaml +metalLb: + addresses: + - 10.1.31.1/24 +# or +# - 10.1.31.0 - 10.1.31.255 +``` + + + + ### Multipass, Microk8s, and Metal LB From cbc25f7db7fadc6b942a4954c6f7c0d234dad7bf Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Sun, 14 Jun 2020 22:41:31 -0700 Subject: [PATCH 14/38] Adding debugging step for editing kube-apiserver on microk8s. --- docs/deployment/single-node/microk8s.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index acafb8fd..295397a0 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -94,6 +94,11 @@ Enable TokenRequest feature (required by Istio) by passing in extra argument to ```shell script nano /var/snap/microk8s/current/args/kube-apiserver ``` + +:::note +If you don't see any content, try exiting the multipass vm and entering again. +::: + Add the lines: ```text --service-account-signing-key-file=${SNAP_DATA}/certs/serviceaccount.key From 14a5645b650b6b8d8d0b2724474338a3be4c7107 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Sun, 14 Jun 2020 22:42:05 -0700 Subject: [PATCH 15/38] Adding information for how to configure hoss to microk8s access, with multipass in the middle. --- docs/deployment/single-node/microk8s.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 295397a0..546a34b8 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -148,6 +148,12 @@ Add to `params.yaml` 3. Populate `params.yaml` by following the instructions in the template, you can also refer to the [configuration files](/docs/deployment/configuration/files) section. +:::important +For `multipass` hosting `microk8s`, extra configuration is required for the +host to talk to onepanel hosted by microk8s. +Please see instructions: [host to microk8s via multipass](/docs/deployment/configuration/files#multipass-microk8s-and-metal-lb) +::: + 4. Get Kubernetes config from MicroK8s: ```bash From c2b7db78286210ad6299f16a7541dea55323cfff Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Sun, 14 Jun 2020 22:42:40 -0700 Subject: [PATCH 16/38] Adding detailed steps for how to setup multipass, microk8s, and host website access. - Added some debug steps. --- docs/deployment/configuration/files.md | 103 +++++++++++++++++++++++++ static/img/multipass_request_flow.png | Bin 0 -> 22868 bytes 2 files changed, 103 insertions(+) create mode 100755 static/img/multipass_request_flow.png diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 428757f2..50ae66d6 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -357,3 +357,106 @@ metalLb: ### Multipass, Microk8s, and Metal LB +We will need to configure a way for the host to talk to the cluster. + +Example request flow + +Request Flow with Multipass + +Execute these steps in the host machine. + +```shell script +multipass list +``` + +Grab the IP address for your microk8s. +Example: +```text +Name State IPv4 Image +microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS +``` + +Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` +Example entry: +```yaml + # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. + # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively + fqdn: app.alex.xyz +``` + +Entry to `/etc/hosts` +```text +10.174.163.50 app.alex.xyz +``` + +Adding this entry means the host browser will try to access the multipass vm we setup +for microk8s. + +Next, enter into multipass VM +```shell script +multipass shell microk8s-vm +``` + +Get the address range with `ifconfig -a` +:::note +See [configuration metallb](/docs/deployment/configuration/files#metal-lb) for more detailed information. +::: + +Assuming we have the address `10.1.31.1` for `cni0`, and used the address range +` - 10.1.31.1/24` for metallb... + +We might have this for our istio gateway. + +```shell script +ubuntu@microk8s-vm:~$ microk8s.kubectl get services -n istio-system +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h +``` + +Add an entry to the `/etc/hosts` file. +```shell script +sudo nano /etc/hosts +``` +```text +10.174.163.1 app.alex.xyz +``` + +Once you have entered and saved the host change, verify you the onepanel website +is running. + +```shell script +curl app.alex.xyz # Your params.yaml fqdn entry +``` + +Example output. +```text + + + + + Onepanel + + + + + + + + + + +``` + +We need a listener running on port 80. That listener should direct traffic +to the istio gateway. + +```shell script +sudo apt install socat +sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 +``` +This will run actively in the current terminal prompt. + +Now, go back to your host machine browser and go to: +`app.alex.xyz`. + +You should see the website load up. diff --git a/static/img/multipass_request_flow.png b/static/img/multipass_request_flow.png new file mode 100755 index 0000000000000000000000000000000000000000..790a15b6ad21f63d3211bb2578d03a9077ac770c GIT binary patch literal 22868 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 literal 0 HcmV?d00001 From 849514734dce9d86442d1f936232e259a1bb4e1e Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Sun, 14 Jun 2020 23:03:33 -0700 Subject: [PATCH 17/38] Updating ram requirements. --- docs/deployment/single-node/microk8s.md | 2 +- docs/deployment/single-node/minikube.md | 2 +- docs/getting-started/quickstart.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 546a34b8..81617600 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -46,7 +46,7 @@ See [Installing on Windows](https://multipass.run/docs/installing-on-windows) With multipass installed, you can now create a VM to run MicroK8s. At least 4 Gigabytes of RAM and 40G of storage is recommended – you can pass these requirements when you launch the VM: ```bash -multipass launch --name microk8s-vm --mem 16G --disk 40G --cpus 4 +multipass launch --name microk8s-vm --mem 8G --disk 40G --cpus 4 # 16G ram for Istio, recommended ``` You can now find the IP address which has been allocated by running: diff --git a/docs/deployment/single-node/minikube.md b/docs/deployment/single-node/minikube.md index 715ba22c..4d76bf6b 100644 --- a/docs/deployment/single-node/minikube.md +++ b/docs/deployment/single-node/minikube.md @@ -12,7 +12,7 @@ See [Install Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) Once Minikube is installed, start it with at least 16 Gigabytes of RAM, 4 CPUs, and 40G of storage (for Istio) – you can pass these requirements as follows: ```bash -minikube start --memory '16gb' --cpus=4 --disk-size '40g' \ +minikube start --memory '8gb' --cpus=4 --disk-size '40g' \ --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ --extra-config=apiserver.service-account-key-file=/var/lib/minikube/certs/sa.pub \ --extra-config=apiserver.service-account-issuer=api \ diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index fe9650e1..29e3d13c 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -118,7 +118,7 @@ Make sure [Minikube](https://minikube.sigs.k8s.io/docs/start/) (`minikube`) is i ::: ```shell script -minikube start --memory '16gb' --cpus=4 --disk-size '40g' \ +minikube start --memory '8gb' --cpus=4 --disk-size '40g' \ --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ --extra-config=apiserver.service-account-key-file=/var/lib/minikube/certs/sa.pub \ --extra-config=apiserver.service-account-issuer=api \ @@ -137,7 +137,7 @@ Make sure [Multipass](https://multipass.run/docs) (`multipass`) is installed bef ::: ```shell script -multipass launch --name microk8s-vm --mem 16G --disk 40G --cpus 4 +multipass launch --name microk8s-vm --mem 8G --disk 40G --cpus 4 #16G ram recommended for Istio ``` Multipass creates a virtual machine (VM). Inside that VM, we will create a kubernetes From c0fb6bb80252cf7dd85fd12daf90117c8d950c9f Mon Sep 17 00:00:00 2001 From: rushtehrani Date: Mon, 15 Jun 2020 12:07:36 -0700 Subject: [PATCH 18/38] update language for consistency --- docs/deployment/overview.md | 9 +++++---- docs/deployment/single-node/microk8s.md | 4 ++-- docs/deployment/single-node/minikube.md | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/deployment/overview.md b/docs/deployment/overview.md index 6046c5a7..261b1268 100644 --- a/docs/deployment/overview.md +++ b/docs/deployment/overview.md @@ -12,11 +12,12 @@ You can install Onepanel on: Follow these guides to install Onepanel in public cloud. -- To install on Azure Kubernetes Engine (AKS) follow [AKS installation guide](/docs/deployment/public/aks) -- To install on Google Kubernetes Engine (GKE) follow [GKE installation guide](/docs/deployment/public/gke) -- To install on Elastic Kubernetes Service (EKS) follow [EKS installation guide](/docs/deployment/public/eks) +- To deploy on Azure Kubernetes Engine (AKS) follow [AKS deployment guide](/docs/deployment/public/aks) +- To deploy on Google Kubernetes Engine (GKE) follow [GKE deployment guide](/docs/deployment/public/gke) +- To deploy on Elastic Kubernetes Service (EKS) follow [EKS deployment guide](/docs/deployment/public/eks) ## Installing on a single-node cluster -Coming soon +- To deploy on Minikube follow [Minikube deployment guide](/docs/deployment/single-node/minikube) +- To deploy on MicroK8s follow [MicroK8s deployment guide](/docs/deployment/single-node/microk8s) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 81617600..1275b057 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -1,6 +1,6 @@ --- -title: MicroK8s installation guide -sidebar_label: Installing on MicroK8s +title: MicroK8s deployment guide +sidebar_label: MicroK8s deployment --- This document outlines the installation steps for single node installation using [Multipass](https://multipass.run/) VM and [MicroK8s](https://microk8s.io/). diff --git a/docs/deployment/single-node/minikube.md b/docs/deployment/single-node/minikube.md index 4d76bf6b..200445af 100644 --- a/docs/deployment/single-node/minikube.md +++ b/docs/deployment/single-node/minikube.md @@ -1,6 +1,6 @@ --- -title: Minikube installation guide -sidebar_label: Installing on Minikube +title: Minikube deployment guide +sidebar_label: Minikube deployment --- This document outlines the installation steps for single node installation using [Minikube](https://kubernetes.io/docs/setup/learning-environment/minikube/). From 71086594f5a446c2c013489c8bb97f2f79ba0065 Mon Sep 17 00:00:00 2001 From: rushtehrani Date: Mon, 15 Jun 2020 17:33:35 -0700 Subject: [PATCH 19/38] minor fixes --- docs/deployment/single-node/microk8s.md | 10 +++--- docs/deployment/single-node/minikube.md | 2 +- docs/getting-started/quickstart.md | 46 +++++++++++++++++++++---- 3 files changed, 45 insertions(+), 13 deletions(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 1275b057..1bd8c944 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -22,31 +22,31 @@ import TabItem from '@theme/TabItem'; }> -:::important Instructions +:::info Instructions See [Installing on Linux](https://multipass.run/docs/installing-on-linux) ::: -:::important Instructions +:::info Instructions See [Installing on macOS](https://multipass.run/docs/installing-on-macos) ::: -:::important Instructions +:::info Instructions See [Installing on Windows](https://multipass.run/docs/installing-on-windows) ::: -With multipass installed, you can now create a VM to run MicroK8s. At least 4 Gigabytes of RAM and 40G of storage is recommended – you can pass these requirements when you launch the VM: +With multipass installed, you can now create a VM to run MicroK8s. At least 8 Gigabytes of RAM and 40G of storage is recommended – you can pass these requirements when you launch the VM: ```bash -multipass launch --name microk8s-vm --mem 8G --disk 40G --cpus 4 # 16G ram for Istio, recommended +multipass launch --name microk8s-vm --mem 8G --disk 40G --cpus 4 # 8G ram for Istio, recommended ``` You can now find the IP address which has been allocated by running: diff --git a/docs/deployment/single-node/minikube.md b/docs/deployment/single-node/minikube.md index 200445af..b7150d95 100644 --- a/docs/deployment/single-node/minikube.md +++ b/docs/deployment/single-node/minikube.md @@ -9,7 +9,7 @@ This document outlines the installation steps for single node installation using See [Install Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) and follow the instructions for your operating system. -Once Minikube is installed, start it with at least 16 Gigabytes of RAM, 4 CPUs, and 40G of storage (for Istio) – you can pass these requirements as follows: +Once Minikube is installed, start it with at least 8 Gigabytes of RAM, 4 CPUs, and 40G of storage (for Istio) – you can pass these requirements as follows: ```bash minikube start --memory '8gb' --cpus=4 --disk-size '40g' \ diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index a3e8d8c5..085bcb6f 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -119,6 +119,8 @@ gcloud container clusters get-credentials --zone Make sure [Minikube](https://minikube.sigs.k8s.io/docs/start/) (`minikube`) is installed before proceeding. ::: +Run the following `minikube` command to create a cluster: + ```shell script minikube start --memory '8gb' --cpus=4 --disk-size '40g' \ --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ @@ -133,17 +135,46 @@ Your kubectl context will be automatically updated once minikube finishes starti -:::note -We recommend installing multipass for virtualization, and then install microk8s inside. -Make sure [Multipass](https://multipass.run/docs) (`multipass`) is installed before proceeding. +First, install Multipass for your operating system: + + + + +:::info Instructions +See [Installing on Linux](https://multipass.run/docs/installing-on-linux) +::: + + + + +:::info Instructions +See [Installing on macOS](https://multipass.run/docs/installing-on-macos) +::: + + + + +:::info Instructions +See [Installing on Windows](https://multipass.run/docs/installing-on-windows) ::: + + + +Run the following `multipass` command to launch Multipass: + ```shell script -multipass launch --name microk8s-vm --mem 8G --disk 40G --cpus 4 #16G ram recommended for Istio +multipass launch --name microk8s-vm --mem 8G --disk 40G --cpus 4 # 8G ram recommended for Istio ``` -Multipass creates a virtual machine (VM). Inside that VM, we will create a kubernetes -cluster with microk8s. +Multipass creates a virtual machine (VM). Inside that VM, we will create a Kubernetes cluster with microk8s. Run a shell into your VM: @@ -171,7 +202,8 @@ Then, enable the following required add-ons: sudo microk8s.enable storage dns rbac dashboard ``` -Enable TokenRequest feature (required by Istio) by passing in extra argument to the api server. +Enable TokenRequest feature (required by Istio) by passing in extra argument to `kube-apiserver`. + ```shell script nano /var/snap/microk8s/current/args/kube-apiserver ``` From e01ccc3f9d01f037c80b95d8fd071c84afa73f38 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 11:28:18 -0700 Subject: [PATCH 20/38] Fixing docs for minikube ip range, for metallb. --- docs/deployment/configuration/files.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 4a2bf6a9..9954ac1e 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -312,14 +312,15 @@ ens33: flags=4163 mtu 1500 ``` In our case, we have `192.168.157.130` -So we can use `192.168.157.0/24` for a range of `192.168.157.0` to `192.168.157.255` +This means the addresses before 130 are used. +We want to use `minikube ip +1` to `255` + +So we can use a range of `192.168.157.131` to `192.168.157.255` ```yaml metalLb: addresses: - - 192.168.157.0/24 -# or -# - 192.168.157.0-192.168.157.255 + - 192.168.157.131-192.168.157.255 ``` From 0d4c5f45f276abb6fbd40feffc0a443b35c065df Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 11:59:27 -0700 Subject: [PATCH 21/38] Removing duplicated instructions. --- docs/deployment/configuration/files.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 9954ac1e..ebe80ce9 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -402,16 +402,6 @@ Next, enter into multipass VM multipass shell microk8s-vm ``` -Get the address range with `ifconfig -a` -:::note -See [configuration metallb](/docs/deployment/configuration/files#metal-lb) for more detailed information. -::: - -Assuming we have the address `10.1.31.1` for `cni0`, and used the address range -` - 10.1.31.1/24` for metallb... - -We might have this for our istio gateway. - ```shell script ubuntu@microk8s-vm:~$ microk8s.kubectl get services -n istio-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE From 2829f0a588c684cc50fda6e1015543168be844a4 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 11:59:46 -0700 Subject: [PATCH 22/38] Fixing some confusing instructions. - Where to add the host files entry - Non-existent IP address --- docs/deployment/configuration/files.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index ebe80ce9..28b65d08 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -408,12 +408,12 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h ``` -Add an entry to the `/etc/hosts` file. +Inside the multipass VM, add an entry to the `/etc/hosts` file. ```shell script sudo nano /etc/hosts ``` ```text -10.174.163.1 app.alex.xyz +10.1.31.0 app.alex.xyz ``` Once you have entered and saved the host change, verify you the onepanel website From 842705a84bc8ba204a0ce650d599506a5a6ce978 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 12:00:19 -0700 Subject: [PATCH 23/38] Making it clear that params.yaml needs to be populated before applying. --- docs/deployment/single-node/microk8s.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 1bd8c944..1fd9ae8d 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -146,7 +146,7 @@ Add to `params.yaml` ::: -3. Populate `params.yaml` by following the instructions in the template, you can also refer to the [configuration files](/docs/deployment/configuration/files) section. +3. Populate `params.yaml` before applying, follow the instructions in the template, you can also refer to the [configuration files](/docs/deployment/configuration/files) section. :::important For `multipass` hosting `microk8s`, extra configuration is required for the From e03b2a4eac269a055744d15a153cc769839e8f0e Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 12:00:59 -0700 Subject: [PATCH 24/38] Removing the confusing side-guide for getting the website setup with multipass, microk8s, and metallb. --- docs/deployment/single-node/microk8s.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 1fd9ae8d..8f8af14a 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -148,10 +148,8 @@ Add to `params.yaml` 3. Populate `params.yaml` before applying, follow the instructions in the template, you can also refer to the [configuration files](/docs/deployment/configuration/files) section. -:::important -For `multipass` hosting `microk8s`, extra configuration is required for the -host to talk to onepanel hosted by microk8s. -Please see instructions: [host to microk8s via multipass](/docs/deployment/configuration/files#multipass-microk8s-and-metal-lb) +:::note +See [configuration metallb](/docs/deployment/configuration/files#metal-lb) for metallb specific details. ::: 4. Get Kubernetes config from MicroK8s: From 01c96d058e78c61310f4625c2c65ac0089dbca20 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 12:05:41 -0700 Subject: [PATCH 25/38] Moving multipass, microk8s, and istio instructions to microk8s guide, as a numerical step. --- docs/deployment/configuration/files.md | 93 --------------------- docs/deployment/single-node/microk8s.md | 105 +++++++++++++++++++++++- 2 files changed, 104 insertions(+), 94 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 28b65d08..87d8de5c 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -362,96 +362,3 @@ metalLb: ### Multipass, Microk8s, and Metal LB -We will need to configure a way for the host to talk to the cluster. - -Example request flow - -Request Flow with Multipass - -Execute these steps in the host machine. - -```shell script -multipass list -``` - -Grab the IP address for your microk8s. -Example: -```text -Name State IPv4 Image -microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS -``` - -Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` -Example entry: -```yaml - # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. - # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively - fqdn: app.alex.xyz -``` - -Entry to `/etc/hosts` -```text -10.174.163.50 app.alex.xyz -``` - -Adding this entry means the host browser will try to access the multipass vm we setup -for microk8s. - -Next, enter into multipass VM -```shell script -multipass shell microk8s-vm -``` - -```shell script -ubuntu@microk8s-vm:~$ microk8s.kubectl get services -n istio-system -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h -``` - -Inside the multipass VM, add an entry to the `/etc/hosts` file. -```shell script -sudo nano /etc/hosts -``` -```text -10.1.31.0 app.alex.xyz -``` - -Once you have entered and saved the host change, verify you the onepanel website -is running. - -```shell script -curl app.alex.xyz # Your params.yaml fqdn entry -``` - -Example output. -```text - - - - - Onepanel - - - - - - - - - - -``` - -We need a listener running on port 80. That listener should direct traffic -to the istio gateway. - -```shell script -sudo apt install socat -sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 -``` -This will run actively in the current terminal prompt. - -Now, go back to your host machine browser and go to: -`app.alex.xyz`. - -You should see the website load up. diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 8f8af14a..fb6922fd 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -168,7 +168,110 @@ KUBECONFIG=./kubeconfig opctl apply The CLI will display the URL for accessing Onepanel once the deployment completes. ::: -6. Use the following command to get your auth token to log into Onepanel: +6. To get access to this new cluster via browser, we need to carry out extra steps. + +Example request flow + +Request Flow with Multipass + +Execute these steps in the host machine. + +```shell script +multipass list +``` + +Grab the IP address for your microk8s. +Example: +```text +Name State IPv4 Image +microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS +``` + +Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` +Example entry: +```yaml + # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. + # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively + fqdn: app.alex.xyz +``` + +Entry to `/etc/hosts` +```text +10.174.163.50 app.alex.xyz +``` + +Adding this entry means the host browser will try to access the multipass vm we setup +for microk8s. + +Next, enter into multipass VM +```shell script +multipass shell microk8s-vm +``` + +```shell script +microk8s.kubectl get services -n istio-system +``` + +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h +``` + +Inside the multipass VM, add an entry to the `/etc/hosts` file. +```shell script +sudo nano /etc/hosts +``` +```text +10.1.31.0 app.alex.xyz +``` + +Once you have entered and saved the host change, verify you the onepanel website +is running. + +```shell script +curl app.alex.xyz # Your params.yaml fqdn entry +``` + +Example output. +```text + + + + + Onepanel + + + + + + + + + + +``` + +:::note +Debug the request with `curl -vvv app.alex.xyz` +::: + +We need a listener running on port 80. That listener should direct traffic +to the istio gateway. + +```shell script +sudo apt install socat +sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 +``` +This will run actively in the current terminal prompt. + +Now, go back to your host machine browser and go to: +`app.alex.xyz`. + +You should see the website load up. + + + +7. Use the following command to get your auth token to log into Onepanel: ```bash KUBECONFIG=./kubeconfig opctl auth token From c12463e53b96c7c563db7986bd10590c274a1061 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 13:49:00 -0700 Subject: [PATCH 26/38] Added a wrapper for commands to be executed inside the multipass VM. --- docs/deployment/single-node/microk8s.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index fb6922fd..e4311fed 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -208,6 +208,7 @@ Next, enter into multipass VM multipass shell microk8s-vm ``` +:::note Execute inside the multipass VM ```shell script microk8s.kubectl get services -n istio-system ``` @@ -251,9 +252,7 @@ Example output. ``` -:::note -Debug the request with `curl -vvv app.alex.xyz` -::: +You can debug the request with `curl -vvv app.alex.xyz` We need a listener running on port 80. That listener should direct traffic to the istio gateway. @@ -263,8 +262,9 @@ sudo apt install socat sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 ``` This will run actively in the current terminal prompt. +::: -Now, go back to your host machine browser and go to: +Now, go back to your host machine, open your internet browser and go to: `app.alex.xyz`. You should see the website load up. From e849bfe20398a357626ac5013b05e3b726992120 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 13:55:45 -0700 Subject: [PATCH 27/38] Updating quickstart instructions for microk8s. --- docs/deployment/single-node/microk8s.md | 2 - docs/getting-started/quickstart.md | 109 ++++++++++++++++++++++-- 2 files changed, 104 insertions(+), 7 deletions(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index e4311fed..37ef7c4b 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -269,8 +269,6 @@ Now, go back to your host machine, open your internet browser and go to: You should see the website load up. - - 7. Use the following command to get your auth token to log into Onepanel: ```bash diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 085bcb6f..e30c008f 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -355,10 +355,8 @@ opctl init --provider microk8s --enable-metallb 3. Populate `params.yaml` by following the instructions in the template, you can also refer to [configuration file sections](/docs/deployment/configuration/files#sections) for more detailed information. -:::important -For `multipass` hosting `microk8s`, extra configuration is required for the -host to talk to onepanel hosted by microk8s. -Please see instructions: [host to microk8s via multipass](/docs/deployment/configuration/files#multipass-microk8s-and-metal-lb) +:::note +See [configuration metallb](/docs/deployment/configuration/files#metal-lb) for metallb specific details. ::: 4. Finally, run the following command to deploy Onepanel to your cluster: @@ -389,7 +387,108 @@ If you don't have a domain name handy or you're waiting for your DNS record to p If the application is not loading, visit our [Troubleshooting](/docs/deployment/troubleshooting/overview) page for some steps that can help resolve most issues. If you are still having issues, join our [Slack community](https://join.slack.com/t/onepanel-ce/shared_invite/zt-eyjnwec0-nLaHhjif9Y~gA05KuX6AUg) or open an issue in [GitHub](https://github.com/onepanelio/core/issues). ::: -8. Use the following command to get your auth token to log into Onepanel: +8. To get access to this new cluster via browser, we need to carry out extra steps. + +Example request flow + +Request Flow with Multipass + +Execute these steps in the host machine. + +```shell script +multipass list +``` + +Grab the IP address for your microk8s. +Example: +```text +Name State IPv4 Image +microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS +``` + +Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` +Example entry: +```yaml + # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. + # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively + fqdn: app.alex.xyz +``` + +Entry to `/etc/hosts` +```text +10.174.163.50 app.alex.xyz +``` + +Adding this entry means the host browser will try to access the multipass vm we setup +for microk8s. + +Next, enter into multipass VM +```shell script +multipass shell microk8s-vm +``` + +:::note Execute inside the multipass VM +```shell script +microk8s.kubectl get services -n istio-system +``` + +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h +``` + +Inside the multipass VM, add an entry to the `/etc/hosts` file. +```shell script +sudo nano /etc/hosts +``` +```text +10.1.31.0 app.alex.xyz +``` + +Once you have entered and saved the host change, verify you the onepanel website +is running. + +```shell script +curl app.alex.xyz # Your params.yaml fqdn entry +``` + +Example output. +```text + + + + + Onepanel + + + + + + + + + + +``` + +You can debug the request with `curl -vvv app.alex.xyz` + +We need a listener running on port 80. That listener should direct traffic +to the istio gateway. + +```shell script +sudo apt install socat +sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 +``` +This will run actively in the current terminal prompt. +::: + +Now, go back to your host machine, open your internet browser and go to: +`app.alex.xyz`. + +You should see the website load up. + +9. Use the following command to get your auth token to log into Onepanel: ```bash opctl auth token From d97f762d4ede7f689193b34ce57401842b466bb5 Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 14:00:12 -0700 Subject: [PATCH 28/38] Adding notes where IP addresses cannot be used because Istio requires domains. --- docs/deployment/configuration/files.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 87d8de5c..aa515e70 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -40,14 +40,12 @@ application: uiPath: / # First namespace that will be created in Onepanel, more can be added later defaultNamespace: default - # Domain or IP where Onepanel is hosted - # Use an IP address if running local, use `minikube ip` or `multipass list` to get this IP + # Domain where Onepanel is hosted. # In the cloud, use a first-level or multi-level subdomain like example.com or sub.example.com - domain: + domain: # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. - # Use the same IP address as `domain` above if running local, use `minikube ip` or `multipass list` to get this IP # In the cloud, if `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively - fqdn: + fqdn: # Node pool or group label keys and values used for AutoScaling and for NodeSelectors # The provider will set these label key and values on your nodes automatically # These can also be customized depending on your provider @@ -183,9 +181,17 @@ This is the first [Namespace](/docs/getting-started/concepts/namespaces) you wan #### domain This is the domain for your Onepanel resources. Some resources like Workspaces create subdomains of this domain so they can be accessed by a browser. This can be a top level domain like `example.com` or a subdomain `sub.example.com`. +:::important +Domains, not ip addresses, are required with Istio. +::: + #### fqdn This is where Onepanel UI and API will be deployed. This should be a subdomain of the `domain` field mentioned above. Example: `app.example.com` or `app.sub.example.com`. +:::important +Domains, not ip addresses, are required with Istio. +::: + #### nodePool Depending on your provider, these are either called node pools or node groups. They are labels on Kubernetes nodes that Onepanel uses for auto scaling nodes on demand. From 19d69c0314c2d4a723452c84906a0c18c5bcf90e Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 14:00:19 -0700 Subject: [PATCH 29/38] Spelling. --- docs/getting-started/concepts/environment-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started/concepts/environment-variables.md b/docs/getting-started/concepts/environment-variables.md index 6852a674..f04795c5 100644 --- a/docs/getting-started/concepts/environment-variables.md +++ b/docs/getting-started/concepts/environment-variables.md @@ -10,6 +10,6 @@ The following system environment variables are always automatically added to bot - `ONEPANEL_API_URL` Platform API URL that can be used to make SDK or API calls from any container. - `ONEPANEL_FQDN` Fully qualified domain name (FQDN) where platform UI and API is installed. Example: `app.sub.domain.com` -- `ONEPANEL_DOMAIN` Domain name where the platofrm is installed. Example: `sub.domain.com` +- `ONEPANEL_DOMAIN` Domain name where the platform is installed. Example: `sub.domain.com` - `ONEPANEL_RESOURCE_NAMESPACE` The namespace where the resource is running. - `ONEPANEL_RESOURCE_UID` The unique ID of the resource in namespace. From 9e73f5e63e335003bada12004bfdc3c012eccf3a Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Tue, 16 Jun 2020 16:02:57 -0700 Subject: [PATCH 30/38] Removing out of place text. --- docs/deployment/single-node/microk8s.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/deployment/single-node/microk8s.md b/docs/deployment/single-node/microk8s.md index 37ef7c4b..0d4a767a 100644 --- a/docs/deployment/single-node/microk8s.md +++ b/docs/deployment/single-node/microk8s.md @@ -142,7 +142,6 @@ If you don't have a loadbalancer, and want to use a local one, you can use metal ```shell script opctl init --provider microk8s --enable-metallb ``` -Add to `params.yaml` ::: From 2d5f424b2ea05765c88b9e247e5b6c7b1538e27d Mon Sep 17 00:00:00 2001 From: Andrey Melnikov Date: Fri, 19 Jun 2020 13:51:45 -0700 Subject: [PATCH 31/38] update: added group id to tabs so they are all updated on the same page. Moved step 8 to be tabbed because only microk8s has anything there. --- docs/getting-started/quickstart.md | 231 +++++++++++++++++------------ 1 file changed, 133 insertions(+), 98 deletions(-) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index e30c008f..a0ac4710 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -20,6 +20,7 @@ Before getting started, take a look at [concepts](/docs/getting-started/concepts Next, create a Kubernetes cluster in one of the following cloud providers: - -Execute these steps in the host machine. - -```shell script -multipass list -``` - -Grab the IP address for your microk8s. -Example: -```text -Name State IPv4 Image -microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS -``` - -Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` -Example entry: -```yaml - # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. - # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively - fqdn: app.alex.xyz -``` - -Entry to `/etc/hosts` -```text -10.174.163.50 app.alex.xyz -``` - -Adding this entry means the host browser will try to access the multipass vm we setup -for microk8s. - -Next, enter into multipass VM -```shell script -multipass shell microk8s-vm -``` - -:::note Execute inside the multipass VM -```shell script -microk8s.kubectl get services -n istio-system -``` - -```text -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h -``` - -Inside the multipass VM, add an entry to the `/etc/hosts` file. -```shell script -sudo nano /etc/hosts -``` -```text -10.1.31.0 app.alex.xyz -``` - -Once you have entered and saved the host change, verify you the onepanel website -is running. - -```shell script -curl app.alex.xyz # Your params.yaml fqdn entry -``` - -Example output. -```text - - - - - Onepanel - - - - - - - - - - -``` - -You can debug the request with `curl -vvv app.alex.xyz` - -We need a listener running on port 80. That listener should direct traffic -to the istio gateway. - -```shell script -sudo apt install socat -sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 -``` -This will run actively in the current terminal prompt. -::: - -Now, go back to your host machine, open your internet browser and go to: -`app.alex.xyz`. + + + None + + + None + + + None + + + None + + + + 8. To get access to this new cluster via browser, we need to carry out extra steps. + + Example request flow + + Request Flow with Multipass + + Execute these steps in the host machine. + + ```shell script + multipass list + ``` + + Grab the IP address for your microk8s. + Example: + ```text + Name State IPv4 Image + microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS + ``` + + Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` + Example entry: + ```yaml + # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. + # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively + fqdn: app.alex.xyz + ``` + + Entry to `/etc/hosts` + ```text + 10.174.163.50 app.alex.xyz + ``` + + Adding this entry means the host browser will try to access the multipass vm we setup + for microk8s. + + Next, enter into multipass VM + ```shell script + multipass shell microk8s-vm + ``` + + :::note Execute inside the multipass VM + ```shell script + microk8s.kubectl get services -n istio-system + ``` + + ```text + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h + ``` + + Inside the multipass VM, add an entry to the `/etc/hosts` file. + ```shell script + sudo nano /etc/hosts + ``` + ```text + 10.1.31.0 app.alex.xyz + ``` + + Once you have entered and saved the host change, verify you the onepanel website + is running. + + ```shell script + curl app.alex.xyz # Your params.yaml fqdn entry + ``` + + Example output. + ```text + + + + + Onepanel + + + + + + + + + + + ``` + + You can debug the request with `curl -vvv app.alex.xyz` + + We need a listener running on port 80. That listener should direct traffic + to the istio gateway. + + ```shell script + sudo apt install socat + sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 + ``` + This will run actively in the current terminal prompt. + ::: + + Now, go back to your host machine, open your internet browser and go to: + `app.alex.xyz`. + + You should see the website load up. + -You should see the website load up. + 9. Use the following command to get your auth token to log into Onepanel: From 3ace5646793ece889209f561d1c81c6fc9efcbb3 Mon Sep 17 00:00:00 2001 From: Andrey Melnikov Date: Fri, 19 Jun 2020 13:55:57 -0700 Subject: [PATCH 32/38] update: cleaned up wording for nodePool --- docs/deployment/configuration/files.md | 43 ++++++++++++++++---------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index aa515e70..79e410eb 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -193,6 +193,7 @@ Domains, not ip addresses, are required with Istio. ::: #### nodePool + Depending on your provider, these are either called node pools or node groups. They are labels on Kubernetes nodes that Onepanel uses for auto scaling nodes on demand. A common `label` to identify these is `beta.kubernetes.io/instance-type` which most cloud providers automatically set. The value of this label is usually set to the instance type of the cloud provider. @@ -203,6 +204,17 @@ You can see all labels on your nodes by running: kubectl get nodes --show-labels ``` +:::note +For minikube, you can use this configuration. +```yaml + nodePool: + label: minikube.k8s.io/minikube + options: + - name: 'Minikube' + value: minikube +``` +::: + Note that this lists many different labels, so you can pick and choose any label key/value that is unique to that node. For example after running the `kubectl` command above, you may get the following list of labels: @@ -304,31 +316,30 @@ How to get the address range. }> + +First, find minikube's ip. + ```shell script -ifconfig -a -ens33: flags=4163 mtu 1500 - inet 192.168.157.130 netmask 255.255.255.0 broadcast 192.168.157.255 - inet6 fe80::9446:9952:69d3:d185 prefixlen 64 scopeid 0x20 - ether 00:0c:29:2e:78:11 txqueuelen 1000 (Ethernet) - RX packets 46355 bytes 58715549 (58.7 MB) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 10838 bytes 1159449 (1.1 MB) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 -[...Other Output...] +minikube ip ``` -In our case, we have `192.168.157.130` -This means the addresses before 130 are used. -We want to use `minikube ip +1` to `255` +For the first part of the range, use `minikube ip + 1` + +So if `minikube ip` gives us `192.168.64.64` -So we can use a range of `192.168.157.131` to `192.168.157.255` +We use `192.168.64.65` + +For the second part of the range, change the last part to `255` + +So we can use a range of `192.168.64.65` to `192.168.64.255` ```yaml metalLb: addresses: - - 192.168.157.131-192.168.157.255 + - 192.168.64.65-192.168.64.255 ``` + Get inside the VM of multipass. @@ -366,5 +377,3 @@ metalLb: - -### Multipass, Microk8s, and Metal LB From 8cefdcfe837393825af09e942eceec24933836c3 Mon Sep 17 00:00:00 2001 From: Andrey Melnikov Date: Fri, 19 Jun 2020 14:00:50 -0700 Subject: [PATCH 33/38] update: updated configuration sections to have first letter capitalized so it looks better in docs --- docs/deployment/configuration/files.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 79e410eb..10cd224a 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -165,34 +165,34 @@ logging: ## Sections What follows is a more detailed description of each section of the `params.yaml` file. -### application +### Application This is where you set the basic application configuration. Below are the sections you will need to adjust. -#### cloud +#### Cloud Everything under this section is generated and should not be manually changed. The `insecure` field is set to `true` by default and will be set to `false` if you add the `--enable-https` when running `opctl init`. -#### defaultNamespace +#### DefaultNamespace This is the first [Namespace](/docs/getting-started/concepts/namespaces) you want created. This could be a project name or a team name. It is set to `default` by default but we recommend you use something more meaningful. -#### domain +#### Domain This is the domain for your Onepanel resources. Some resources like Workspaces create subdomains of this domain so they can be accessed by a browser. This can be a top level domain like `example.com` or a subdomain `sub.example.com`. :::important Domains, not ip addresses, are required with Istio. ::: -#### fqdn +#### FQDN This is where Onepanel UI and API will be deployed. This should be a subdomain of the `domain` field mentioned above. Example: `app.example.com` or `app.sub.example.com`. :::important Domains, not ip addresses, are required with Istio. ::: -#### nodePool +#### NodePool Depending on your provider, these are either called node pools or node groups. They are labels on Kubernetes nodes that Onepanel uses for auto scaling nodes on demand. @@ -241,7 +241,7 @@ nodePool: value: Standard_NC6 ``` -### artifactRepository +### ArtifactRepository 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. Here's an example AWS S3 configuration: @@ -260,12 +260,12 @@ artifactRepository: 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. ::: -### certManager +### CertManager If you have run `opctl init` with `--enable-https`, `--enable-cert-manager` and `--dns-provider` flags set, you need to configure your respective DNS provider here so that Onepanel can create and renew your TLS certificates for you. See [TLS certificates](/docs/deployment/configuration/tls) for more information about configuring this section. -### database +### Database This is the database settings section. For a test cluster, you can set the database `host` to `postgres` and use any `username` or `password`. This database will be automatically created in the cluster with the information you entered. From e13dd2019241b9bd361f14b811bbd615c031f4e0 Mon Sep 17 00:00:00 2001 From: Andrey Melnikov Date: Fri, 19 Jun 2020 14:11:53 -0700 Subject: [PATCH 34/38] update: updated manfiest to what is now generated by CLI as it has changed. --- docs/deployment/configuration/files.md | 97 ++++++++------------------ 1 file changed, 30 insertions(+), 67 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 10cd224a..7f9e3055 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -20,6 +20,11 @@ It is highly recommended that you commit `params.yaml` file into a private repos ## Content of configuration file `params.yaml` :::important The template below is automatically generated when your run `opctl init` for your provider. + +This particular one was generated by running +```shell script +opctl init --provider aks --enable-https --enable-cert-manager --dns-provider route53 +``` ::: ```yaml @@ -28,24 +33,17 @@ The template below is automatically generated when your run `opctl init` for you # Description: Onepanel application information # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - application: - cloud: - # GRPC port for API - apiGRPCPort: 8887 - # Path of API relative to host - apiPath: /api - # HTTP or HTTPS - Do not change, determined by `opctl init --enable-https` - # CLI flag: --enable-https - insecure: false - # Path of UI relative to host - uiPath: / # First namespace that will be created in Onepanel, more can be added later defaultNamespace: default - # Domain where Onepanel is hosted. - # In the cloud, use a first-level or multi-level subdomain like example.com or sub.example.com + # Domain where Onepanel is hosted + # Use a first-level or multi-level subdomain like example.com or sub.example.com domain: # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. - # In the cloud, if `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively - fqdn: + # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively + fqdn: + # HTTP or HTTPS - Do not change, determined by `opctl init --enable-https` + # CLI flag: --enable-https + insecure: false # Node pool or group label keys and values used for AutoScaling and for NodeSelectors # The provider will set these label key and values on your nodes automatically # These can also be customized depending on your provider @@ -60,6 +58,9 @@ application: value: - name: 'Use friendly name 2' value: + # The kubernetes cluster where Onepanel will be deployed. + # Valid values: minikube, microk8s, aks, eks, gke + provider: aks # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Component: Artifact repository # Description: S3 compatible object storage for storing files across Onepanel @@ -78,6 +79,8 @@ artifactRepository: endpoint: s3.amazonaws.com # Change to true if endpoint does NOT support HTTPS insecure: false + # Key Format for objects stored by Workflows. This can reference Workflow variables + keyFormat: artifacts/{{workflow.namespace}}/{{workflow.name}}/{{pod.name}} # Bucket region region: us-west-2 # S3 secret key @@ -89,44 +92,16 @@ artifactRepository: # CLI flag: --enable-cert-manager # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - certManager: - # - - - - - - - - - - - - Select Only One DNS Provider - - - - - - - - - - - - - - - # DNS Provider: AzureDNS - # Docs: https://onepanelio.github.io/core-docs/docs/deployment/configuration/tls#azuredns - # CLI flag: --dns-provider=azuredns - azuredns: - clientId: - spPassword: - subscriptionId: - tenantId: - resourceGroupName: - hostedZoneName: - environment: AzurePublicCloud - # DNS Provider: Google CloudDNS - # Docs: https://onepanelio.github.io/core-docs/docs/deployment/configuration/tls#google-clouddns - # CLI flag: --dns-provider=clouddns - clouddns: - projectId: - serviceAccountKey: - # DNS Provider: Cloudflare - # Docs: https://onepanelio.github.io/core-docs/docs/deployment/configuration/tls#cloudflare - # CLI flag: --dns-provider=cloudflare - cloudflare: - apiToken: - email: + # Enter certificate admin email + # Example: admin@example.com + email: # DNS Provider: Amazon Route53 # Docs: https://onepanelio.github.io/core-docs/docs/deployment/configuration/tls#route53 # CLI flag: --dns-provider=route53 route53: - region: access_key: + region: secret_key: - - # - - - - - - - - - - - - - End DNS Provider Selection - - - - - - - - - - - - - - - - # Enter certificate admin email - # Example: admin@example.com - email: # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Component: Database # Description: Database connection information @@ -150,16 +125,6 @@ database: # If using an external production database, use the username for that database. # For in-cluster test database, use any username you like. username: -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Component: Application and system logging -# Description: ElasticSearch, Fluentd and Kibana (EFK) logging -# CLI flag: --enable-efk-logging -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -logging: - # ElasticSearch container image - image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0 - # Volume size for EFK logging - volumeStorage: 100Gi ``` ## Sections @@ -168,12 +133,10 @@ What follows is a more detailed description of each section of the `params.yaml` ### Application This is where you set the basic application configuration. +The `insecure` field is set to `true` by default and will be set to `false` if you add the `--enable-https` when running `opctl init`. + Below are the sections you will need to adjust. -#### Cloud -Everything under this section is generated and should not be manually changed. - -The `insecure` field is set to `true` by default and will be set to `false` if you add the `--enable-https` when running `opctl init`. #### DefaultNamespace This is the first [Namespace](/docs/getting-started/concepts/namespaces) you want created. This could be a project name or a team name. It is set to `default` by default but we recommend you use something more meaningful. @@ -186,7 +149,7 @@ Domains, not ip addresses, are required with Istio. ::: #### FQDN -This is where Onepanel UI and API will be deployed. This should be a subdomain of the `domain` field mentioned above. Example: `app.example.com` or `app.sub.example.com`. +This is where Onepanel UI and API will be deployed. This should be a subdomain of the `domain` field mentioned above. For example: `app.example.com` or `app.sub.example.com`. :::important Domains, not ip addresses, are required with Istio. @@ -207,11 +170,11 @@ kubectl get nodes --show-labels :::note For minikube, you can use this configuration. ```yaml - nodePool: - label: minikube.k8s.io/minikube - options: - - name: 'Minikube' - value: minikube +nodePool: + label: minikube.k8s.io/minikube + options: + - name: 'Minikube' + value: minikube ``` ::: @@ -306,7 +269,7 @@ metalLb: - 10.1.31.1/24 ``` -How to get the address range. +Getting the address range Date: Fri, 19 Jun 2020 15:38:23 -0700 Subject: [PATCH 35/38] update: formatting for microk8s --- docs/deployment/configuration/files.md | 4 + docs/getting-started/quickstart.md | 294 +++++++++++++++---------- 2 files changed, 183 insertions(+), 115 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 7f9e3055..520397d9 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -313,6 +313,10 @@ multipass shell microk8s-vm ```shell script ifconfig -a +``` + +You'll get something like this +```shell script cni0: flags=4163 mtu 1450 inet 10.1.31.1 netmask 255.255.255.0 broadcast 0.0.0.0 inet6 fe80::58ce:8dff:fe5e:2be5 prefixlen 64 scopeid 0x20 diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index a0ac4710..0d43a925 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -195,7 +195,10 @@ You will also need to add `ubuntu` user to `microk8s` group as follows: ```bash sudo usermod -a -G microk8s ubuntu + # Re-enter bash session for group changes +exit +multipass shell microk8s-vm ``` Then, enable the following required add-ons: @@ -232,6 +235,12 @@ Exit out of the VM for the next steps. exit ``` +Next, get the kubeconfig by running + +```shell script + multipass exec microk8s-vm -- /snap/bin/microk8s.config > kubeconfig + ``` + @@ -365,10 +374,64 @@ See [configuration metallb](/docs/deployment/configuration/files#metal-lb) for m 4. Finally, run the following command to deploy Onepanel to your cluster: + + + ```bash opctl apply ``` + + + +```bash +opctl apply +``` + + + + +```bash +opctl apply +``` + + + + + +```bash +opctl apply +``` + + + + + +```bash +KUBECONFIG=./kubeconfig opctl apply +``` + +:::note +If you do not have a loadbalancer setup, you can use metallb +```shell script +opctl init --provider microk8s --enable-metallb +``` +::: + + + + + :::note If the command completes but it indicates that your cluster is not ready, you can check status again by running `opctl app status`. If you're still seeing issues, visit our [Troubleshooting](/docs/deployment/troubleshooting/overview) page. ::: @@ -405,122 +468,123 @@ If the application is not loading, visit our [Troubleshooting](/docs/deployment/ { label: 'Microk8s', value: 'microk8s', }, ] }> - - None - - - None - - - None - - - None - - - - 8. To get access to this new cluster via browser, we need to carry out extra steps. - - Example request flow - - Request Flow with Multipass - - Execute these steps in the host machine. - - ```shell script - multipass list - ``` - - Grab the IP address for your microk8s. - Example: - ```text - Name State IPv4 Image - microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS - ``` - - Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` - Example entry: - ```yaml - # The Fully Qualified Domain (FQDN) where Onepanel will be hosted. - # If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively - fqdn: app.alex.xyz - ``` - - Entry to `/etc/hosts` - ```text - 10.174.163.50 app.alex.xyz - ``` - - Adding this entry means the host browser will try to access the multipass vm we setup - for microk8s. - - Next, enter into multipass VM - ```shell script - multipass shell microk8s-vm - ``` - - :::note Execute inside the multipass VM - ```shell script - microk8s.kubectl get services -n istio-system - ``` - - ```text - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h - ``` - - Inside the multipass VM, add an entry to the `/etc/hosts` file. - ```shell script - sudo nano /etc/hosts - ``` - ```text - 10.1.31.0 app.alex.xyz - ``` - - Once you have entered and saved the host change, verify you the onepanel website - is running. - - ```shell script - curl app.alex.xyz # Your params.yaml fqdn entry - ``` - - Example output. - ```text - - - - - Onepanel - - - - - - - - - - - ``` - - You can debug the request with `curl -vvv app.alex.xyz` - - We need a listener running on port 80. That listener should direct traffic - to the istio gateway. - - ```shell script - sudo apt install socat - sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 - ``` - This will run actively in the current terminal prompt. - ::: - - Now, go back to your host machine, open your internet browser and go to: - `app.alex.xyz`. - - You should see the website load up. - + + None + + + None + + + None + + + None + + +To get access to this new cluster via browser, we need to carry out extra steps. + +Example request flow + +Request Flow with Multipass + +Execute these steps in the host machine. + +```shell script +multipass list +``` + +you should see something like this + +```text +Name State IPv4 Image +microk8s-vm Running 10.174.163.50 Ubuntu 18.04 LTS +``` + +Grab the IP address, 10.174.163.50 in this case. + +Add an entry to your hosts file to point to the fqdn you setup in `params.yaml` +For example, if our fqdn was set up like this +```yaml +# The Fully Qualified Domain (FQDN) where Onepanel will be hosted. +# If `domain` above is set to example.com or sub.example.com, then your FQDN could be: app.example.com or app.sub.example.com respectively +fqdn: app.alex.xyz +``` +Then we add this to `/etc/hosts` +```text +10.174.163.50 app.alex.xyz +``` + +Adding this entry means the host browser will try to access the multipass vm we setup +for microk8s. + +Next, enter into the multipass VM +```shell script +multipass shell microk8s-vm +``` + +:::note Execute inside the multipass VM +```shell script +microk8s.kubectl get services -n istio-system +``` +::: + +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.152.183.166 10.1.31.0 15020:31979/TCP,80:31394/TCP,443:30038/TCP,15029:32204/TCP,15030:32688/TCP,15031:31420/TCP,15032:30575/TCP,15443:30386/TCP 3d3h +``` + +Inside the multipass VM, add an entry to the `/etc/hosts` file using the EXTERNAL-IP from above. +```shell script +sudo nano /etc/hosts +``` + +```text +10.1.31.0 app.alex.xyz +``` + +Once you have entered and saved the host change, verify the onepanel website is running. + +```shell script +curl app.alex.xyz # This is the fqdn entry from params.yaml +``` + +Example output. +```text + + + + + Onepanel + + + + + + + + + + +``` + +You can debug the request with `curl -vvv app.alex.xyz` + +We need a listener running on port 80. That listener should direct traffic +to the istio gateway. + +```shell script +sudo apt install socat +sudo socat TCP-LISTEN:80,fork TCP:app.alex.xyz:80 +``` + +This will run actively in the current terminal prompt. + +Now, go back to your host machine, open your internet browser and go to: +`app.alex.xyz`. + +You should see the website load up. + 9. Use the following command to get your auth token to log into Onepanel: From 63296fcbb144b6e355cf66352a8c6ea300f276cd Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Wed, 24 Jun 2020 11:48:49 -0700 Subject: [PATCH 36/38] Added explicit minikube start driver, set as Virtualbox. - The network operations work best with Virtualbox --- docs/deployment/single-node/minikube.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deployment/single-node/minikube.md b/docs/deployment/single-node/minikube.md index b7150d95..b1af7591 100644 --- a/docs/deployment/single-node/minikube.md +++ b/docs/deployment/single-node/minikube.md @@ -12,7 +12,7 @@ See [Install Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) Once Minikube is installed, start it with at least 8 Gigabytes of RAM, 4 CPUs, and 40G of storage (for Istio) – you can pass these requirements as follows: ```bash -minikube start --memory '8gb' --cpus=4 --disk-size '40g' \ +minikube start --driver=virtualbox --memory '8gb' --cpus=4 --disk-size '40g' \ --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key \ --extra-config=apiserver.service-account-key-file=/var/lib/minikube/certs/sa.pub \ --extra-config=apiserver.service-account-issuer=api \ From 37cbd282a71ca5a65832710efeb6a8ef5761360e Mon Sep 17 00:00:00 2001 From: Aleksandr Melnikov Date: Wed, 24 Jun 2020 11:49:00 -0700 Subject: [PATCH 37/38] Codacy - Removing extra blank lines --- docs/deployment/configuration/files.md | 1 - docs/getting-started/quickstart.md | 2 -- 2 files changed, 3 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 017f694d..174c8ac4 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -278,7 +278,6 @@ Getting the address range }> - First, find minikube's ip. ```shell script diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 0d43a925..6f8876d6 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -431,7 +431,6 @@ opctl init --provider microk8s --enable-metallb - :::note If the command completes but it indicates that your cluster is not ready, you can check status again by running `opctl app status`. If you're still seeing issues, visit our [Troubleshooting](/docs/deployment/troubleshooting/overview) page. ::: @@ -454,7 +453,6 @@ If you don't have a domain name handy or you're waiting for your DNS record to p If the application is not loading, visit our [Troubleshooting](/docs/deployment/troubleshooting/overview) page for some steps that can help resolve most issues. If you are still having issues, join our [Slack community](https://join.slack.com/t/onepanel-ce/shared_invite/zt-eyjnwec0-nLaHhjif9Y~gA05KuX6AUg) or open an issue in [GitHub](https://github.com/onepanelio/core/issues). ::: - 8. Network setup Date: Wed, 24 Jun 2020 11:57:12 -0700 Subject: [PATCH 38/38] Making the sections case match the params.yaml --- docs/deployment/configuration/files.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/deployment/configuration/files.md b/docs/deployment/configuration/files.md index 174c8ac4..7eb2acaa 100644 --- a/docs/deployment/configuration/files.md +++ b/docs/deployment/configuration/files.md @@ -130,7 +130,7 @@ database: ## Sections What follows is a more detailed description of each section of the `params.yaml` file. -### Application +### application This is where you set the basic application configuration. The `insecure` field is set to `true` by default and will be set to `false` if you add the `--enable-https` when running `opctl init`. @@ -138,14 +138,14 @@ The `insecure` field is set to `true` by default and will be set to `false` if y #### defaultNamespace This is the first [Namespace](/docs/getting-started/concepts/namespaces) you want created. This could be a project name or a team name. It is set to `default` by default but we recommend you use something more meaningful. -#### Domain +#### domain This is the domain for your Onepanel resources. Some resources like Workspaces create subdomains of this domain so they can be accessed by a browser. This can be a top level domain like `example.com` or a subdomain `sub.example.com`. :::important Domains, not ip addresses, are required with Istio. ::: -#### FQDN +#### fqdn This is where Onepanel UI and API will be deployed. This should be a subdomain of the `domain` field mentioned above. For example: `app.example.com` or `app.sub.example.com`. :::important @@ -203,7 +203,7 @@ nodePool: value: Standard_NC6 ``` -### ArtifactRepository +### artifactRepository 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. Here's an example AWS S3 configuration: @@ -222,12 +222,12 @@ artifactRepository: 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. ::: -### CertManager +### certManager If you have run `opctl init` with `--enable-https`, `--enable-cert-manager` and `--dns-provider` flags set, you need to configure your respective DNS provider here so that Onepanel can create and renew your TLS certificates for you. See [TLS certificates](/docs/deployment/configuration/tls) for more information about configuring this section. -### Database +### database This is the database settings section. For a test cluster, you can set the database `host` to `postgres` and use any `username` or `password`. This database will be automatically created in the cluster with the information you entered. @@ -253,7 +253,7 @@ database: For a production environment, use a managed database service and set the configuration accordingly. ::: -### Metal LB +### metalLB This is to configure a load balancer for local or bare-metal deployments. Example: