Skip to main content

Step 6: Install the Release with KOTS

Next, get the KOTS installation command from the Unstable channel in the vendor portal and then install the release using the customer license that you downloaded.

As part of installation, you will set Grafana login credentials on the KOTS admin console configuration page.

To install the release with KOTS:

  1. In the vendor portal, go to Channels. From the Unstable channel card, under Install, copy the KOTS Install command.

    KOTS Install tab on the Unstable channel card

    View a larger version of this image

  2. On the command line, run the KOTS Install command that you copied:

    curl https://kots.io/install | bash
    kubectl kots install $REPLICATED_APP/unstable

    This installs the latest version of the kots CLI and the admin console. The admin console provides a user interface where you can upload the customer license file and deploy the application.

    For additional kots CLI installation options, including how to install without root access, see Installing the kots CLI.

    note

    KOTS v1.104.0 or later is required to deploy the Replicated SDK. You can verify the version of KOTS installed with kubectl kots version.

  3. Complete the installation command prompts:

    1. For Enter the namespace to deploy to, enter grafana.

    2. For Enter a new password to be used for the Admin Console, provide a password to access the admin console.

    When the admin console is ready, the command prints the URL where you can access the admin console. At this point, the kots CLI is installed and the admin console is running, but the application is not yet deployed.

    Example output:

    Enter the namespace to deploy to: grafana
    • Deploying Admin Console
    • Creating namespace ✓
    • Waiting for datastore to be ready ✓
    Enter a new password for the admin console (6+ characters): ••••••••
    • Waiting for Admin Console to be ready ✓

    • Press Ctrl+C to exit
    • Go to http://localhost:8800 to access the Admin Console
  4. With the port forward running, go to http://localhost:8800 in a browser to access the admin console.

  5. On the login page, enter the password that you created for the admin console.

  6. On the license page, select the license file that you downloaded previously and click Upload license.

  7. On the Configure Grafana page, enter a username and password. You will use these credentials to log in to Grafana.

    admin console config page with username and password fields

    View a larger version of this image

  8. Click Continue.

    The admin console dashboard opens. The application status changes from Missing to Unavailable while the grafana Deployment is being created.

    admin console dashboard showing unavailable application status

    View a larger version of this image

  9. On the command line, press Ctrl+C to exit the port forward.

  10. Watch for the grafana Deployment to become ready:

    kubectl get deploy grafana --namespace grafana --watch
  11. After the Deployment is ready, run the following command to confirm that the grafana-admin Secret was updated with the new password that you created on the Configure Grafana page:

    echo "Password: $(kubectl get secret grafana-admin --namespace grafana -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 -d)"

    The ouput of this command displays the password that you created.

  12. Start the port foward again to access the admin console:

    kubectl kots admin-console --namespace grafana 
  13. Go to http://localhost:8800 to open the admin console.

    On the admin console dashboard, the application status is now displayed as Ready:

    Admin console dashboard showing ready application status

    View a larger version of this image

  14. Click Open App to open the Grafana login page in a browser.

    Grafana login webpage

    View a larger version of this image

  15. On the Grafana login page, enter the username and password that you created on the Configure Grafana page. Confirm that you can log in to the application to access the Grafana dashboard:

    Grafana dashboard

    View a larger version of this image

  16. On the command line, press Ctrl+C to exit the port forward.

  17. Uninstall the Grafana application from your cluster:

    kubectl kots remove $REPLICATED_APP --namespace grafana --undeploy

    Example output:

     • Removing application grafana-python reference from Admin Console and deleting associated resources from the cluster ✓
    • Application grafana-python has been removed
  18. Remove the admin console from the cluster:

    1. Delete the namespace where the admin console is installed:

      kubectl delete namespace grafana
    2. Delete the admin console ClusterRole and ClusterRoleBinding:

      kubectl delete clusterrole kotsadm-role
      kubectl delete clusterrolebinding kotsadm-rolebinding

Next Step

Congratulations! As part of this tutorial, you used the KOTS Config custom resource to define a configuration page in the admin console. You also used the KOTS HelmChart custom resource and KOTS ConfigOption template function to override the default Grafana login credentials with a user-supplied username and password.

To learn more about how to customize the Config custom resource to create configuration fields for your application, see Config.