AzureKubernetesIngressExtensions Methods
AddGateway(IResourceBuilder<AzureKubernetesEnvironmentResource>, string)Section titled AddGateway(IResourceBuilder<AzureKubernetesEnvironmentResource>, string)extensionIResourceBuilder<KubernetesGatewayResource>public static class AzureKubernetesIngressExtensions{ public static IResourceBuilder<KubernetesGatewayResource> AddGateway( this IResourceBuilder<AzureKubernetesEnvironmentResource> builder, string name) { // ... }}Parameters
builderIResourceBuilder<AzureKubernetesEnvironmentResource>The AKS environment resource builder.namestringThe name of the gateway resource.Returns
IResourceBuilder<KubernetesGatewayResource>A reference to the ApplicationModel.IResourceBuilder`1 for chaining.Examples
var aks = builder.AddAzureKubernetesEnvironment("aks");var gateway = aks.AddGateway("public") .WithGatewayClass("azure-alb-external");
var api = builder.AddProject<MyApi>("api");gateway.WithRoute("/api", api.GetEndpoint("http"));AddHelmChart(IResourceBuilder<AzureKubernetesEnvironmentResource>, string, string, string)Section titled AddHelmChart(IResourceBuilder<AzureKubernetesEnvironmentResource>, string, string, string)extensionIResourceBuilder<KubernetesHelmChartResource>helm upgrade --install as a pipeline step after the main application Helm chart is deployed. public static class AzureKubernetesIngressExtensions{ public static IResourceBuilder<KubernetesHelmChartResource> AddHelmChart( this IResourceBuilder<AzureKubernetesEnvironmentResource> builder, string name, string chartReference, string chartVersion) { // ... }}Parameters
builderIResourceBuilder<AzureKubernetesEnvironmentResource>The AKS environment resource builder.namestringThe name of the Helm chart resource.chartReferencestring The Helm chart reference. Can be an OCI registry URL (e.g., oci://quay.io/jetstack/charts/cert-manager) or a chart name from an added repository. chartVersionstringThe chart version to install.Returns
IResourceBuilder<KubernetesHelmChartResource>A resource builder for the Helm chart resource.Remarks
This method delegates to the inner Kubernetes.KubernetesEnvironmentResource of the AKS environment, so the returned Kubernetes.KubernetesHelmChartResource can be configured with the same KubernetesHelmChartExtensions.WithHelmValue, KubernetesHelmChartExtensions.WithNamespace, KubernetesHelmChartExtensions.WithReleaseName, and KubernetesHelmChartExtensions.WithDestroy extensions used with non-AKS Kubernetes environments.
External Helm charts are not uninstalled by aspire destroy by default, because they may be shared with workloads outside the Aspire app. Opt in by chaining KubernetesHelmChartExtensions.WithDestroy.
Examples
var aks = builder.AddAzureKubernetesEnvironment("aks");
// Install cert-manageraks.AddHelmChart("cert-manager", "oci://quay.io/jetstack/charts/cert-manager", "1.17.0") .WithHelmValue("crds.enabled", "true");AddIngress(IResourceBuilder<AzureKubernetesEnvironmentResource>, string)Section titled AddIngress(IResourceBuilder<AzureKubernetesEnvironmentResource>, string)extensionIResourceBuilder<KubernetesIngressResource>networking.k8s.io/v1 Ingress resource in the Helm chart output at publish time. public static class AzureKubernetesIngressExtensions{ public static IResourceBuilder<KubernetesIngressResource> AddIngress( this IResourceBuilder<AzureKubernetesEnvironmentResource> builder, string name) { // ... }}Parameters
builderIResourceBuilder<AzureKubernetesEnvironmentResource>The AKS environment resource builder.namestringThe name of the ingress resource.Returns
IResourceBuilder<KubernetesIngressResource>A reference to the ApplicationModel.IResourceBuilder`1 for chaining.Remarks
This method delegates to the inner Kubernetes.KubernetesEnvironmentResource of the AKS environment. To use an AKS-specific ingress controller (e.g., Azure Application Gateway for Containers), call KubernetesIngressExtensions.WithIngressClass with the appropriate class name.
Examples
var aks = builder.AddAzureKubernetesEnvironment("aks");var ingress = aks.AddIngress("public") .WithIngressClass("azure-alb-external");
var api = builder.AddProject<MyApi>("api");ingress.WithPath("/api", api.GetEndpoint("http"));WithLoadBalancer(IResourceBuilder<KubernetesGatewayResource>, IResourceBuilder<AzureKubernetesLoadBalancerResource>)Section titled WithLoadBalancer(IResourceBuilder<KubernetesGatewayResource>, IResourceBuilder<AzureKubernetesLoadBalancerResource>)extensionIResourceBuilder<KubernetesGatewayResource>Kubernetes.KubernetesGatewayResource through the supplied Azure Application Gateway for Containers (AGC) AzureKubernetesLoadBalancerResource. public static class AzureKubernetesIngressExtensions{ public static IResourceBuilder<KubernetesGatewayResource> WithLoadBalancer( this IResourceBuilder<KubernetesGatewayResource> builder, IResourceBuilder<AzureKubernetesLoadBalancerResource> loadBalancer) { // ... }}Parameters
builderIResourceBuilder<KubernetesGatewayResource>The gateway resource builder.loadBalancerIResourceBuilder<AzureKubernetesLoadBalancerResource>The AGC load balancer to route through.Returns
IResourceBuilder<KubernetesGatewayResource>A reference to the ApplicationModel.IResourceBuilder`1 for chaining.Remarks
alb.networking.azure.io/alb-name and alb.networking.azure.io/alb-namespace) onto the rendered Gateway and defaults the GatewayClass to azure-alb-external when one has not already been set via WithGatewayClass(...). Examples
var lb = aks.AddLoadBalancer("lb", albSubnet);var gateway = aks.AddGateway("public").WithLoadBalancer(lb);WithLoadBalancer(IResourceBuilder<KubernetesIngressResource>, IResourceBuilder<AzureKubernetesLoadBalancerResource>)Section titled WithLoadBalancer(IResourceBuilder<KubernetesIngressResource>, IResourceBuilder<AzureKubernetesLoadBalancerResource>)extensionIResourceBuilder<KubernetesIngressResource>Kubernetes.KubernetesIngressResource through the supplied Azure Application Gateway for Containers (AGC) AzureKubernetesLoadBalancerResource. public static class AzureKubernetesIngressExtensions{ public static IResourceBuilder<KubernetesIngressResource> WithLoadBalancer( this IResourceBuilder<KubernetesIngressResource> builder, IResourceBuilder<AzureKubernetesLoadBalancerResource> loadBalancer) { // ... }}Parameters
builderIResourceBuilder<KubernetesIngressResource>The ingress resource builder.loadBalancerIResourceBuilder<AzureKubernetesLoadBalancerResource>The AGC load balancer to route through.Returns
IResourceBuilder<KubernetesIngressResource>A reference to the ApplicationModel.IResourceBuilder`1 for chaining.Remarks
alb.networking.azure.io/alb-name and alb.networking.azure.io/alb-namespace) onto the rendered Ingress and defaults the IngressClass to azure-alb-external when one has not already been set via WithIngressClass(...).