Managing Deployment in a Kubernetes Cluster

When configuring the deployment details in a deployment stage, if you select the Kubernetes deployment mode, the Kubernetes Clusters section is active on the Deployment tab within that stage. The Kuberentes clusters that you select during stage configuration are listed in the Kubernetes Clusters section.

Kubernetes clusters available for technology deployment in a stage

To manage your deployments in your desired Kubernetes cluster from this section, do the following:

Configure Ingress Controller

To enable external access to services deployed in your Kubernetes cluster, you must configure an ingress controller for the cluster. Before you start adding technologies for deployment, you must ensure that details of your ingress controller are configured in the Calibo Accelerate platform.

Generally, your administrator configures a global ingress controller for all the deployments within a specific Kubernetes cluster. This saves you time and effort to configure an ingress controller while deploying technologies in the cluster at the feature level.

However, if your administrator hasn't configured a global ingress controller, you must configure one for your Kubernetes cluster.

In the cluster tile, click Configure and then, in the Configure Ingress Controller side drawer, do the following:

  1. In the Controller Type dropdown, select the ingress controller type you want to configure. Available options include:

    • application-gateway (Azure-specific)

      Azure Application Gateway Ingress Controller (AGIC) allows Application Gateway to expose Kubernetes services over HTTP/S. It integrates directly with Azure networking and provides advanced features such as SSL termination, path-based routing, and Web Application Firewall (WAF) capabilities.

      • Click Configuration Instructions to open the official Azure documentation for AGIC setup.

      • Typically used with AKS clusters.

    • nginx

      NGINX Ingress Controller is a widely used open-source option to manage external access to services in Kubernetes clusters. It supports advanced traffic management features such as rate limiting, SSL termination, URL rewrites, and

      custom routing rules.

      • Click Configuration Instructions to view the installation steps for NGINX ingress.

      • Compatible with both EKS and AKS clusters.

    • alb (AWS-specific)

      AWS ALB Ingress Controller (also known as AWS Load Balancer Controller) allows the use of AWS Application Load Balancers to route traffic to Kubernetes workloads. It supports dynamic provisioning of ALBs, path-based routing, SSL termination, and integration with AWS security features.

      • Click Configuration Instructions to open the AWS documentation for setting up the ALB ingress controller.

      • Specifically designed for EKS clusters.

  2. Ingress Class

    Select an Ingress Class from the list.

    This class identifies the ingress controller responsible for managing ingress resources in the cluster.

    Ingress classes let you define routing rules, host/path configurations, and traffic control for services deployed in Kubernetes.

  3. IP / DNS Address Configuration

    For the Application Gateway and NGINX controller types, in the IP / DNS Address section, select how you want to provide the address of the ingress controller:

    • Ingress Hostname: Provide the DNS hostname (for example, app.acme.com) that resolves to your ingress controller. The hostname must start and end with a letter or number in lower case and may include letters (in lower case), numbers, "-", and "."

      Important:

      For the deployed technology’s live URL to work correctly, ensure the DNS hostname is properly configured in your DNS provider’s settings with an appropriate A or CNAME record pointing to your ingress controller.

    • Ingress Controller Address: Provide the external IP address or load balancer IP exposed by the ingress controller.

  4. If you select alb as the controller type, provide the following:

    • Ingress Group Name (Optional):

      Specify a group name to associate multiple ingress resources with the same ALB. All ingress resources with this group name share a single ALB.

    • Ingress Hostname (Optional)

      Provide the hostname that routes to the ALB.

      Ensure corresponding DNS configuration is in place for successful routing.

View and Apply Global Ingress Controller Configuration Changes

After your administrator edits the global ingress controller configuration, a message informing about the configuration changes is displayed at the stage level where the related Kubernetes cluster is used for deployments.

Global ingress controller configuration modified

Click View & Apply Changes.

Side drawer showing changes in global ingress controller configuration with an option to apply them

In the side drawer, review the changes and click Apply.

View or Edit Ingress Controller Configuration

In the cluster tile, click the ellipsis in the right beside the accordion, and then click View Ingress Controller Configuration.

Review the ingress controller configuration details.

If you are viewing the configured details of the global ingress controller and if your administrator has allowed modifications to the ingress controller configuration details at the stage level, you can edit these details.

You can always edit the details of the ingress controller that you have configured at the stage level.

Note:

Editing ingress controller configuration may affect your existing technology deployments. You may need to redeploy the technologies for products that use the ingress controller configuration you edit.

To edit ingress controller details, do the following:

  1. In the Configure Ingress Controller side drawer, click .

  2. You can select a different ingress controller type and class and modify the ingress controller address or host name as per your requirements.

    For detailed configuration steps, see Configure Ingress Controller.

View Technologies Pending for Deployment

In the Kubernetes Clusters section, in the upper left corner, the list of ready-to-deploy technologies that you have added in the Develop phase is displayed. You can search for your desired technology in the list by the technology name or its title that you give while adding it in the Develop phase.

Ready-to-deploy technologies in Kubernetes Clusters section

Add Technologies to Be Deployed

In the Kubernetes Cluster tile where you want to deploy technologies, click Add Technologies. To add a technology for deployment, click Add next to each desired technology .
Add technologies for deployment in Kubernetes cluster

  1. Configure Deployment Specifications
    In the side drawer, configure the following details required for the deployment. These settings control how the application is built, deployed, exposed, and tested in the target Kubernetes cluster.

    Depending on the CI/CD tool selected in your deployment stage configuration, some configuration options and the overall flow will vary. The following sections describe the configuration process separately for Jenkins and GitHub Actions.

  2. Click Add to save the details. The technology is added for deployment to your selected Kubernetes cluster.

Deploy Technologies to the Kubernetes Cluster

Depending on the CI/CD tool selected in your deployment stage configuration, some steps in the technology deployment flow vary. The following sections describe the steps separately for Jenkins and GitHub Actions.

Uninstall a Technology

When a technology is no longer required in your product or pipeline, you can uninstall it from Calibo Accelerate. Uninstalling a technology removes its configuration and also deletes the associated Continuous Integration (CI) and Continuous Deployment (CD) jobs from the configured CI/CD tool (Jenkins or GitHub Actions).

This ensures your product remains clean and that no unnecessary jobs are executed in the background.

To uninstall a technology, do the following:

  1. On the technology card, click the ellipsis (...) menu in the upper-right corner.

  2. From the dropdown menu, select Uninstall.

  3. A confirmation dialog box appears.

    • Click Uninstall to proceed.

    • Click Cancel if you want to retain the technology.

  4. Once confirmed:

    • The selected technology is removed from Calibo Accelerate.

    • Related CI and CD jobs are deleted automatically from the connected CI/CD tool (Jenkins or GitHub Actions).

Edit Technology Details

After a technology is added to your product, you may need to update its deployment configurations over time. For example, you might want to adjust the context path, update CI/CD settings, or modify functional testing parameters.

To edit technology details, do the following:

  1. On the technology card, click the ellipsis (...) menu in the upper-right corner.

  2. From the dropdown menu, select Edit Details. This opens the deployment configuration details for the selected technology.

  3. Modify the desired settings.

  4. Save your changes.

    With the updated configuration in place, you can now trigger the CI pipeline and deploy the technology to the selected environment.

Related Topics Link IconRecommended Topics

What's next? Data Pipeline Studio