Skip to content

Applications

This topic explains how to deploy cloud-native applications on Kubernetes with Helm chartsHelm is an application package manager that describes the structure of an application in a packaging format called charts. A Helm chart contains a bundle of the YAML configuration files needed to run an application, including dependencies and libraries.. Use this feature to standardize deployment processes and share applications across organizations. This portable application package approach has many other benefits, including high availability, scalability, geo load balancing, fault isolation, security, and ease of management.

The workflow is:

  • Create a cluster to receive the application. For details on clusters, see Creating a Cluster.

  • Search the application repository for applications. The application repository is a location where applications that have been prepackaged in a Helm chart are stored and shared. The Helm chart provides the application deployment resources to Kubernetes such as: dependencies, TLS certificate management, and application deployment scripts.

  • Deploy the application on a Kubernetes cluster. Deploying an application containerizes it, pushes its Helm chart to the repository, and automatically executes its deployment script, making the application available to others. You can securely run a variety of applications on a new or existing Kubernetes cluster, and you can add applications to multiple clusters. The application is exposed to your users when they view the cluster or application repository.

  • Customize the application as needed. Read the chart’s values.yaml file, and then replace the default values with your own to further customize the deployment. Use system variables to pass specific values to an application.

To view applications

  1. Log in to the Megaport ONE Portal.
  2. Choose Compute > Applications.

Application Page

Applications are pulled from your Git repository and loaded into the Megaport ONE application repository. The Applications page shows all deployed applications, their Helm chart version, the day the application was deployed, which cluster they are contained in, and their runtime status.

To view application details and resources

  1. Choose Compute > Applications.
  2. Select the application name.

    The application details supplied by the application provider appear.

To view the YAML file

  1. Choose Compute > Applications.
  2. Select the application name.
  3. Select the Configuration tab.
  4. Select the Default Values tab.

    The contents of the chart values.yaml file appear.

To view the application Helm chart READ.ME file

  1. Choose Compute > Applications.
  2. Select the application name.
  3. Select the Configuration tab.
  4. Select the READ.ME tab.

    The READ.ME file supplied by the application provider appears.

Deploying applications

When you’re ready to share your application, you deploy it to a cluster. You can deploy any application listed in the Megaport ONE repository.

To deploy an application

  1. Log in to the Megaport ONE Portal.
  2. Choose Compute > Applications.

  3. Click Deploy New Application.

    The application repositories appear. Browse the repositories to discover cloud-native applications available to install to a cluster through Helm charts. You can also add or edit a repository with permission.

  4. Select an application.

  5. Click Deploy application name.

    Configure Application

    The Application Configuration page appears. All fields are required.

  6. Enter the application name.

  7. Select a Helm chart version from the drop-down list. If an earlier chart version was selected on the initial application overview page, that version is selected by default.

  8. Select one or more preconfigured clusters to receive the application.
    The drop-down list of clusters includes all clusters for the account in which the application can run.

  9. Select an application namespace from the list, or enter a custom namespace.

    A Kubernetes namespace provides a way to divide and logically group cluster resources. For example, you can create a database namespace to store and share all of your database resources.

    Namespaces create multiple virtual clusters inside of a cluster. Available namespaces appear in the drop-down list. You can create a new namespace containing alphanumeric characters and dashes. Capital letters are not allowed. The application will be put in this namespace on all clusters. When a cluster doesn’t recognize the namespace, it creates one.

    Another reason to create multiple namespaces is to avoid conflicts when you have many teams configuring and deploying the same application. Separate namespaces prevent one team from overriding another team’s work, because the teams sharing the cluster set their authorization and policy for PodsA Pod represents a set of running containers in your cluster., services, and deployments in separate namespaces, such as who can modify the production site. Each team works in their own namespace without disrupting the others.

  10. Enter a custom application hostname, using alphanumeric characters and hyphens. The hostname must contain at least 1 letter and can’t start or end with a hyphen.

    Applications with the same hostname will be geo load balanced with Nginx ingressA specialized production-grade ingress controller for Kubernetes environments. The Nginx daemon runs alongside Nginx instances to monitor Nginx ingress resources, discovering requests for services that require ingress geo load balancing. enabled, even if they are deployed across multiple clusters.

  11. Enable or Disable application DNS.

    Application DNS creates a DNS record based on the application hostname.

  12. Click Deploy Application when your configuration is complete.

  13. Verify the application deployment details, including the receiving cluster.

  14. Click Confirm.

Modifying an application

YAML is the standard format used in a Kubernetes configuration file. The Nginx values.yaml file associated with an application contains the configuration parameters relevant for integration into the Helm chart. The values.yaml file passes the values into the Helm chart when the application is deployed.

You can optionally customize the default values in the values.yaml file after you deploy the application.

Note

You can only modify applications in an external repository. Applications in a managed repository are not editable. For details, see Repository types.

To modify an application

  1. Select the application.
  2. Select the Configuration tab.
  3. Click Edit.

To change the DNS setting

  1. Select Disabled or Enabled from the Application DNS drop-down menu. Enabled creates a DNS record based on the application hostname.
  2. Click Save and Deploy Changes.

Changes can take up to five minutes to update.

To change the application hostname

  1. Enter the hostname in the Application Hostname field using lowercase alphanumeric characters and hyphens.
  2. Click Save and Deploy Changes.

To change the Helm chart version

  1. Select a version from the Chart Version drop-down menu.
  2. Click Save and Deploy Changes.

Viewing the default application values

The default values reflect the original settings in the applications Helm Chart.

  1. Select the application and select the Configuration tab.
  2. Select the Default Values tab.
  3. Click Copy to copy the default values.

Customizing the application values

Replace the default values with your own to customize your deployment. Custom values override the default values in the application’s Helm Chart. Use system variables to pass specific values to an application.

When you select an application from the application repository, check the provider description for installation specifics and custom value examples that you can copy.

Customize Application

To add application values

  1. Select the application.
  2. Select the Configuration tab.
  3. Select the Custom Values tab.
  4. Add the values.
  5. Click Save and Deploy Changes.

Tip

Click Copy to copy the custom values to the clipboard.

To view the system variables

  1. Select the application and select the Configuration tab.
  2. Select the System Variables tab.
  3. Mouse over the variable and click the clipboard icon next to the variable definition to copy it to the clipboard.
  4. Select the Custom Values tab.
  5. Paste the variable definition after the system variable.

Viewing the deployed values

Deployed values include any custom system variable definitions that have been sent to the application and are in use by the application Helm chart.

To view the deployed values

  1. Select the application and select the Configuration tab.
  2. Select the Deployed Values tab.
  3. Use the Custom Values tab to pass a new value to the application.

Tip

Click Copy to copy the deployed values to the clipboard.

Deleting applications

Applications are pulled into the application repository from your Git repository. After you supply the public Git URL, Megaport ONE enables the integration and loads your applications.

To delete an application from the repository

  1. Choose Compute > Applications.
    The Applications page lists the deployed applications.

  2. Click the Gear Icon gear icon and select Delete Application.

  3. Confirm the deletion.

The system acknowledges the request and the status changes to Deleted.

Updating an application version

To update an application version, redeploy the application using the latest version.


Last update: 2023-01-26