1. Answers
  2. Building Kubernetes IngressClassParams on AWS with Pulumi

How do I build Kubernetes IngressClassParams on AWS using Pulumi?

This tutorial demonstrates how to create Kubernetes IngressClassParams for AWS using Pulumi in TypeScript. We will define an IngressClassParams resource that configures AWS-specific parameters for the Kubernetes Ingress resource.

import * as pulumi from "@pulumi/pulumi";
import * as k8s from "@pulumi/kubernetes";
import * as aws from "@pulumi/aws";

// Create a Kubernetes provider instance
const k8sProvider = new k8s.Provider("k8sProvider", {
    kubeconfig: "<YOUR_KUBECONFIG_PATH>", // Replace with the path to your kubeconfig file
});

// Define the IngressClassParams for AWS
const ingressClassParams = new k8s.apiextensions.CustomResource("ingressClassParams", {
    apiVersion: "elbv2.k8s.aws/v1beta1",
    kind: "IngressClassParams",
    metadata: {
        name: "alb-ingress-params",
    },
    spec: {
        group: "elbv2.k8s.aws",
        ingressClass: "alb",
        parameters: {
            ingressClassName: "alb",
            namespace: "kube-system",
            configMapName: "alb-ingress-controller-config",
        },
    },
}, { provider: k8sProvider });

// Export the name of the IngressClassParams
export const ingressClassParamsName = ingressClassParams.metadata.name;

Key Points:

  • We use the @pulumi/kubernetes package to define Kubernetes resources.
  • The IngressClassParams resource is created with AWS-specific parameters.
  • We specify the apiVersion, kind, and metadata for the IngressClassParams.
  • The spec includes details about the AWS ALB ingress class and its configuration.

Summary

In this tutorial, we created a Kubernetes IngressClassParams resource for AWS using Pulumi in TypeScript. This setup helps in configuring AWS-specific parameters for Kubernetes Ingress resources, particularly for ALB ingress controllers.

Deploy this code

Want to deploy this code? Sign up for a free Pulumi account to deploy in a few clicks.

Sign up

New to Pulumi?

Want to deploy this code? Sign up with Pulumi to deploy in a few clicks.

Sign up