Skip to main content

Kubernetes (k8s)

This page provides steps to install Appsmith on a Kubernetes cluster using the Helm package manager.

How To Deploy Appsmith On Kubernetes

System requirements

  • At least 15 GB of free storage space.
  • 4 GB of RAM.

Prerequisites

  1. Install Helm package manager on your local machine. See the official Helm documentation for your operating system.

  2. Install and configure kubectl to interact with your Kubernetes cluster. Follow the below guides available on the official Kubernetes documentation for instructions on how to install kubectl on your specific operating system:

  3. Set up a Kubernetes cluster. Follow these steps using a terminal to set up the cluster on AWS EKS:

    info

    You are free to choose your preferred platform for hosting the Kubernetes cluster. Make sure you have configured Kubeconfig and created a default storage class before proceeding with the Appsmith installation. If you face any issues, contact the support team using the chat widget at the bottom right of this page.

    a. Verify if you have access to AWS CLI with:

      aws sts get-caller-identity

    The above command provides information related to your account and ARN, indicating that you can connect and access your Amazon account using a terminal.

    b. Create KubeConfig with:

    aws eks update-kubeconfig --region ap-south-1 --name CLUSTER_NAME  --profile <PROFILE_NAME>

    In the above command, add the profile name that has access to the EKS cluster to the --profile parameter.

    c. Test your Kubernetes configuration with:

    kubectl cluster-info

    The above command provides a summary of the current cluster configuration, including the Kubernetes master and other cluster information.

    d. Define a storage class.

    • For Kubernetes version earlier than 1.23, define the storage class with:

      kubectl apply -f - <<EOF
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      apiVersion: storage.k8s.io/v1
      metadata:
      name: gp2
      provisioner: kubernetes.io/aws-ebs
      EOF
    • For Kubernetes version 1.23 and later, define the storage class with:

      1. Create an IAM role by following the Amazon official documentation for Creating the Amazon EBS CSI driver IAM role.
      2. Add the Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) driver chart repository with:
        helm repo add aws-ebs-csi-driver https://kubernetes-sigs.github.io/aws-ebs-csi-driver
      3. Update the Amazon EBS CSI driver repository with:
        helm repo update
      4. Install Amazon EBS CSI driver with:
        helm upgrade --install aws-ebs-csi-driver --namespace kube-system aws-ebs-csi-driver aws-ebs-csi-driver
      5. Verify the Amazon EBS CSI driver installation with:
        kubectl get pods -n kube-system -l app.kubernetes.io/name=aws-ebs-csi-driver

Install Appsmith

Follow these steps to install Appsmith:

  1. Create a folder named appsmith on your machine for deployment and data storage. Then, navigate to this folder using the cd command.
  1. Add the Appsmith chart repository with:
helm repo add appsmith-ee https://helm-ee.appsmith.com
  1. Load the Appsmith chart repository with:
helm repo update
  1. Generate the values.yaml file with:
helm show values appsmith-ee/appsmith  > values.yaml
  1. Run the below command to deploy Appsmith:
helm install appsmith-ee appsmith-ee/appsmith -n appsmith-ee --create-namespace -f values.yaml
  1. Get pod name with:
kubectl get pods -n appsmith-ee

The above command displays the status of the pods. Proceed to the next step once the pod status is shown as RUNNING.

  1. To access and verify the installation locally, use the below command that forwards the port 8080 to port 80:
kubectl --namespace appsmith-ee port-forward appsmith-ee-0 8080:80

In the above command, appsmith-ee-0 is the Appsmith pod name.

  1. Open http://localhost:8080 and wait for the server to come up. This can take up to 5 minutes. Once the server is up and running, you can access Appsmith at http://localhost:8080.

  2. Fill in your details to create an administrator account.

  3. Once you've created an account, you can either start with the free plan or activate your instance with a license key. If you want to generate a license key, sign up on customer.appsmith.com to create one, and then proceed to activate your instance using the newly generated license key.

For high availability and scalability configuration, see the Configure High Availability and Scalability guide. To expose Appsmith installation on the internet, see the Expose K8s to Internet guide.

Install Appsmith Community

To install the Appsmith open source edition (Appsmith Community):

  1. Use the open source helm chart by running the below command which adds the Appsmith chart repository:
helm repo add appsmith https://helm.appsmith.com
  1. Replace appsmith-ee with appsmith in the commands on this page.

Troubleshooting

If you are facing issues during deployment, please refer to the guide on troubleshooting deployment errors.

If you continue to face issues, contact the support team using the chat widget at the bottom right of this page.

Further reading