1. Deploy the keda-add-ons-http helm chart on Oracle Kubernetes Engine (OKE)


    To deploy the KEDA add-ons HTTP Helm chart on Oracle Kubernetes Engine (OKE), we will use Pulumi's Kubernetes provider to interact with the Kubernetes cluster and the Helm Release resource to deploy the chart.

    First, you need to have an OKE cluster up and running. You must configure the Pulumi with the correct credentials to communicate with your Oracle Kubernetes Engine.

    Once the cluster is available, use the kubernetes package to deploy the Helm chart to the cluster. The kubernetes.helm.v3.Release resource is used to manage Helm chart releases in Kubernetes clusters.

    Below is a Pulumi TypeScript program to deploy the KEDA HTTP add-ons Helm chart to a Kubernetes cluster:

    • We use the kubernetes.helm.v3.Chart resource to deploy the chart into your OKE.
    • The chart argument specifies the name of the Helm chart you wish to deploy.
    • The values argument allows you to specify the configuration values that should be used when deploying the Helm chart.
    • The version argument can be used to specify a version of the Helm chart that you wish to use; otherwise, the latest version will be selected.
    • The namespace argument allows you to specify the namespace in which to release the chart.
    import * as pulumi from "@pulumi/pulumi"; import * as kubernetes from "@pulumi/kubernetes"; // Please ensure that your Pulumi configuration is set up for Oracle Kubernetes Engine. // The name of the namespace where the KEDA add-ons HTTP Helm chart will be deployed. const namespaceName = "keda-http-addons"; // Create a Kubernetes Namespace for the KEDA add-on. const ns = new kubernetes.core.v1.Namespace(namespaceName, { metadata: { name: namespaceName, }, }); // Deploy the KEDA Helm chart to the cluster. const kedaChart = new kubernetes.helm.v3.Chart("keda", { chart: "keda", version: "2.4.0", // Replace with the desired version of the KEDA Helm chart. fetchOpts: { repo: "https://kedacore.github.io/charts", }, namespace: namespaceName, }); // Deploy the KEDA HTTP add-on Helm chart to the cluster. const kedaHttpAddonChart = new kubernetes.helm.v3.Chart("keda-http-addon", { chart: "http-add-on", version: "0.2.0", // Replace with the desired version of the KEDA HTTP add-on Helm chart. fetchOpts: { repo: "https://kedacore.github.io/charts", }, values: { // You may add any necessary configuration values here. // For example: // logLevel: "info", }, namespace: namespaceName, // This dependsOn ensures that the HTTP add-on is installed after the KEDA chart dependsOn: [kedaChart], }); // Export the namespace name where the charts have been installed export const kedaNamespace = namespaceName;

    Remember to replace the version in the kedaChart and kedaHttpAddonChart if you want to deploy specific versions of the Helm charts.

    To apply this Pulumi program, save the code to a file with a .ts extension and run the following commands:

    pulumi up

    This will start the Pulumi program which will deploy the Helm chart as specified in the code. The pulumi up command will show you a preview of the resources that will be created and prompt you for confirmation before proceeding.

    Make sure you review the Helm chart values and the namespace to match your requirements before deploying. You may also need additional configuration based on your specific use case and the chart's values.

    If you are new to Pulumi and would like to learn more about using Pulumi for managing Kubernetes resources, you can find tutorials and guides in the "Kubernetes Guides" section of the Pulumi documentation.