diff --git a/content/en/docs/application-store/_index.md b/content/en/docs/application-store/_index.md index 5d83ee4f3..0eb87eac3 100644 --- a/content/en/docs/application-store/_index.md +++ b/content/en/docs/application-store/_index.md @@ -47,6 +47,10 @@ Learn how to deploy MongoDB from the App Store of KubeSphere and access its serv Learn how to deploy MySQL from the App Store of KubeSphere and access its service. +### [Deploy NGINX on KubeSphere](../application-store/built-in-apps/nginx-app/) + +Learn how to deploy NGINX from the App Store of KubeSphere and access its service. + ### [Deploy PostgreSQL on KubeSphere](../application-store/built-in-apps/postgresql-app/) Learn how to deploy PostgreSQL from the App Store of KubeSphere and access its service. diff --git a/content/en/docs/application-store/built-in-apps/nginx-app.md b/content/en/docs/application-store/built-in-apps/nginx-app.md new file mode 100644 index 000000000..e2ca0833d --- /dev/null +++ b/content/en/docs/application-store/built-in-apps/nginx-app.md @@ -0,0 +1,82 @@ +--- +title: "Deploy NGINX on KubeSphere" +keywords: 'KubeSphere, Kubernetes, Installation, NGINX' +description: 'How to deploy NGINX from the App Store of KubeSphere' +linkTitle: "Deploy NGINX on KubeSphere" +weight: 261 +--- + +[NGINX](https://www.nginx.com/) is an open-source software application for web serving, reverse proxying, caching, load balancing, media streaming, and more. + +This tutorial walks you through an example of deploying NGINX from the App Store of KubeSphere. + +## Prerequisites + +- Please make sure you [enable the OpenPitrix system](../../../pluggable-components/app-store/). +- You need to create a workspace, a project, and a user account (`project-regular`) for this tutorial. The account needs to be a platform regular user and to be invited as the project operator with the `operator` role. In this tutorial, you log in as `project-regular` and work in the project `demo-project` in the workspace `demo-workspace`. For more information, see [Create Workspace, Project, Account and Role](../../../quick-start/create-workspace-and-project/). + +## Hands-on Lab + +### Step 1: Deploy NGINX from App Store + +1. On the **Overview** page of the project `demo-project`, click **App Store** in the top left corner. + + ![app-store](/images/docs/appstore/built-in-apps/nginx-app/app-store.jpg) + +2. Find NGINX and click **Deploy** on the **App Info** page. + + ![nginx-in-app-store](/images/docs/appstore/built-in-apps/nginx-app/nginx-in-app-store.jpg) + + ![deploy-nginx](/images/docs/appstore/built-in-apps/nginx-app/deploy-nginx.jpg) + +3. Set a name and select an app version. Make sure NGINX is deployed in `demo-project` and click **Next**. + + ![confirm-deployment](/images/docs/appstore/built-in-apps/nginx-app/confirm-deployment.jpg) + +4. In **App Config**, specify the number of replicas to deploy for the app and enable Ingress based on your needs. When you finish, click **Deploy**. + + ![edit-config-nginx](/images/docs/appstore/built-in-apps/nginx-app/edit-config-nginx.jpg) + + ![manifest-file](/images/docs/appstore/built-in-apps/nginx-app/manifest-file.jpg) + + {{< notice note >}} + + To specify more values for NGINX, use the toggle switch to see the app’s manifest in YAML format and edit its configurations. + + {{}} + +5. Wait until NGINX is up and running. + + ![nginx-running](/images/docs/appstore/built-in-apps/nginx-app/nginx-running.jpg) + +### Step 2: Access NGINX + +To access NGINX outside the cluster, you need to expose the app through NodePort first. + +1. Go to **Services** and click the service name of NGINX. + + ![nginx-service](/images/docs/appstore/built-in-apps/nginx-app/nginx-service.jpg) + +2. On the service detail page, click **More** and select **Edit Internet Access** from the drop-down menu. + + ![edit-internet-access](/images/docs/appstore/built-in-apps/nginx-app/edit-internet-access.jpg) + +3. Select **NodePort** for **Access Method** and click **OK**. For more information, see [Project Gateway](../../../project-administration/project-gateway/). + + ![nodeport](/images/docs/appstore/built-in-apps/nginx-app/nodeport.jpg) + +4. Under **Service Ports**, you can see the port is exposed. + + ![exposed-port](/images/docs/appstore/built-in-apps/nginx-app/exposed-port.jpg) + +5. Access NGINX through `{$NodeIP}:{$Nodeport}`. + + ![access-nginx](/images/docs/appstore/built-in-apps/nginx-app/access-nginx.jpg) + + {{< notice note >}} + + You may need to open the port in your security groups and configure related port forwarding rules depending on your where your Kubernetes cluster is deployed. + + {{}} + +6. For more information, see [the official documentation of NGINX](https://docs.nginx.com/?_ga=2.48327718.1445131049.1605510038-1186152749.1605510038). diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/access-nginx.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/access-nginx.jpg new file mode 100644 index 000000000..2527f6249 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/access-nginx.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/app-store.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/app-store.jpg new file mode 100644 index 000000000..8788b1763 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/app-store.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/confirm-deployment.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/confirm-deployment.jpg new file mode 100644 index 000000000..5d8e36af5 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/confirm-deployment.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/deploy-nginx.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/deploy-nginx.jpg new file mode 100644 index 000000000..b4eede640 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/deploy-nginx.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/edit-config-nginx.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/edit-config-nginx.jpg new file mode 100644 index 000000000..e7a2ee73e Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/edit-config-nginx.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/edit-internet-access.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/edit-internet-access.jpg new file mode 100644 index 000000000..83d8c7361 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/edit-internet-access.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/exposed-port.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/exposed-port.jpg new file mode 100644 index 000000000..57b5edbb4 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/exposed-port.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/manifest-file.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/manifest-file.jpg new file mode 100644 index 000000000..99309e96c Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/manifest-file.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/nginx-in-app-store.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/nginx-in-app-store.jpg new file mode 100644 index 000000000..4c8dfbb45 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/nginx-in-app-store.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/nginx-running.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/nginx-running.jpg new file mode 100644 index 000000000..5e5cf2dbd Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/nginx-running.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/nginx-service.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/nginx-service.jpg new file mode 100644 index 000000000..3c3001b24 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/nginx-service.jpg differ diff --git a/static/images/docs/appstore/built-in-apps/nginx-app/nodeport.jpg b/static/images/docs/appstore/built-in-apps/nginx-app/nodeport.jpg new file mode 100644 index 000000000..d742da3f2 Binary files /dev/null and b/static/images/docs/appstore/built-in-apps/nginx-app/nodeport.jpg differ