Deploy NGINX on KubeSphere

NGINX 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.
  • 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 Workspaces, Projects, Accounts and Roles.

Hands-on Lab

Step 1: Deploy NGINX from the App Store

  1. On the Overview page of the project demo-project, click App Store in the top-left corner.

    app-store

  2. Find NGINX and click Deploy on the App Information page.

    nginx-in-app-store

    deploy-nginx

  3. Set a name and select an app version. Make sure NGINX is deployed in demo-project and click Next.

    confirm-deployment

  4. In App Configurations, 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

    manifest-file

    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

Step 2: Access NGINX

To access NGINX outside the cluster, you need to expose the app through a NodePort first.

  1. Go to Services and click the service name of NGINX.

    nginx-service

  2. On the service detail page, click More and select Edit Internet Access from the drop-down menu.

    edit-internet-access

  3. Select NodePort for Access Method and click OK. For more information, see Project Gateway.

    nodeport

  4. Under Service Ports, you can see the port is exposed.

    exposed-port

  5. Access NGINX through <NodeIP>:<NodePort>.

    access-nginx

    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.


Thanks for the feedback. If you have a specific question about how to use KubeSphere, ask it on Slack. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.