This is an automated email from the ASF dual-hosted git repository.

hez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git


The following commit(s) were added to refs/heads/main by this push:
     new d9cc870f docs: updated k8s deployment / added RDS doc (#132)
d9cc870f is described below

commit d9cc870ff45e8f48df2db410e1651d81ee9d065b
Author: Klesh Wong <[email protected]>
AuthorDate: Fri Jul 29 12:40:02 2022 +0800

    docs: updated k8s deployment / added RDS doc (#132)
    
    * docs: updated k8s deployment / added RDS doc
    
    * fix: added GF_SERVER_ROOT_URL
    
    * docs: update k8s setup
    
    Co-authored-by: Hezheng Yin <[email protected]>
---
 docs/QuickStart/KubernetesSetup.md | 54 ++++++++++++++++++++++++--------------
 1 file changed, 35 insertions(+), 19 deletions(-)

diff --git a/docs/QuickStart/KubernetesSetup.md 
b/docs/QuickStart/KubernetesSetup.md
index 692639fc..fa298cdc 100644
--- a/docs/QuickStart/KubernetesSetup.md
+++ b/docs/QuickStart/KubernetesSetup.md
@@ -5,29 +5,45 @@ description: >
 sidebar_position: 2
 ---
 
+We provide a sample 
[k8s-deploy.yaml](https://github.com/apache/incubator-devlake/blob/main/k8s-deploy.yaml)
 to help deploy DevLake to Kubernetes
 
-We provide a sample 
[k8s-deploy.yaml](https://github.com/apache/incubator-devlake/blob/main/k8s-deploy.yaml)
 for users interested in deploying Apache DevLake on a k8s cluster.
-
-[k8s-deploy.yaml](https://github.com/apache/incubator-devlake/blob/main/k8s-deploy.yaml)
 will create a namespace `devlake` on your k8s cluster, and use `nodePort 
30004` for `config-ui`,  `nodePort 30002` for `grafana` dashboards. If you 
would like to use certain version of Apache DevLake, please update the image 
tag of `grafana`, `devlake` and `config-ui` services to specify versions like 
`v0.10.1`.
+[k8s-deploy.yaml](https://github.com/apache/incubator-devlake/blob/main/k8s-deploy.yaml)
 will create a namespace `devlake` on your k8s cluster, and use `nodePort 
30004` for `config-ui`,  `nodePort 30002` for `grafana` dashboards. If you 
would like to use a specific version of Apache DevLake, please update the image 
tag of `grafana`, `devlake` and `config-ui` deployments.
 
 ## Step-by-step guide
 
-1. Download 
[k8s-deploy.yaml](https://github.com/apache/incubator-devlake/blob/main/k8s-deploy.yaml)
 to local machine
-2. Some key points:
-   - `config-ui` deployment:
-     * `GRAFANA_ENDPOINT`: FQDN of grafana service which can be reached from 
user's browser
-     * `DEVLAKE_ENDPOINT`: FQDN of devlake service which can be reached within 
k8s cluster, normally you don't need to change it unless namespace was changed
+1. Download 
[k8s-deploy.yaml](https://github.com/apache/incubator-devlake/blob/main/k8s-deploy.yaml)
+2. Customize the settings (`devlake-config` config map):
+   - Settings shared between `grafana` and `mysql`
+     * `MYSQL_ROOT_PASSWORD`: set root password for `mysql`
+     * `MYSQL_USER`: shared between `mysql` and `grafana`
+     * `MYSQL_PASSWORD`: shared between `mysql` and `grafana`
+     * `MYSQL_DATABASE`: shared between `mysql` and `grafana`
+   - Settings used by `grafana`
+     * `MYSQL_URL`: set MySQL URL for `grafana` in `$HOST:$PORT` format
+     * `GF_SERVER_ROOT_URL`: Public URL to the `grafana`
+   - Settings used by `config-ui`:
+     * `GRAFANA_ENDPOINT`: FQDN of grafana which can be reached within k8s 
cluster, normally you don't need to change it unless namespace was changed
+     * `DEVLAKE_ENDPOINT`: FQDN of devlake which can be reached within k8s 
cluster, normally you don't need to change it unless namespace was changed
      * `ADMIN_USER`/`ADMIN_PASS`: Not required, but highly recommended
-   - `devlake-config` config map:
-     * `MYSQL_USER`: shared between `mysql` and `grafana` service
-     * `MYSQL_PASSWORD`: shared between `mysql` and `grafana` service
-     * `MYSQL_DATABASE`: shared between `mysql` and `grafana` service
-     * `MYSQL_ROOT_PASSWORD`: set root password for `mysql`  service
-   - `devlake` deployment:
+   - Settings used by `devlake`:
      * `DB_URL`: update this value if  `MYSQL_USER`, `MYSQL_PASSWORD` or 
`MYSQL_DATABASE` were changed
 3. The `devlake` deployment store its configuration in `/app/.env`. In our 
sample yaml, we use `hostPath` volume, so please make sure directory 
`/var/lib/devlake` exists on your k8s workers, or employ other techniques to 
persist `/app/.env` file. Please do NOT mount the entire `/app` directory, 
because plugins are located in `/app/bin` folder.
-4. Finally, execute the following command, Apache DevLake should be up and 
running:
-    ```sh
-    kubectl apply -f k8s-deploy.yaml
-    ```
-<br/><br/><br/>
+4. Finally, execute the following command and DevLake should be up and running:
+   ```sh
+   kubectl apply -f k8s-deploy.yaml
+   ```
+
+
+## FAQ
+
+- Can I use a managed Cloud database service instead of running database in 
docker?
+  Yes, it only takes a few changes in the sample yaml file to make it happen. 
Below we'll use MySQL on AWS RDS as an example.
+  0. (Optional) Create a MySQL instance on AWS RDS following this 
[doc](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html),
 skip this step if you'd like to use an existing instance
+  1. Remove the `mysql` deployment and service sections from `k8s-deploy.yaml`
+  2. Update `devlake-config` configmap according to your RDS instance setup:
+    * `MYSQL_ROOT_PASSWORD`: remove this line
+    * `MYSQL_USER`: use your RDS instance's master username
+    * `MYSQL_PASSWORD`: use your RDS instance's password
+    * `MYSQL_DATABASE`: use your RDS instance's DB name, you may need to 
create a database first with `CREATE DATABASE <DB name>;`
+    * `MYSQL_URL`: set this for `grafana` in `$HOST:$PORT` format, where $HOST 
and $PORT should be your RDS instance's endpoint and port respectively
+    * `DB_URL`: update the connection string with your RDS instance's info for 
`devlake`

Reply via email to