eks.Cluster
Explore with Pulumi AI
Cluster is a component that wraps the AWS and Kubernetes resources necessary to run an EKS cluster, its worker nodes, its optional StorageClasses, and an optional deployment of the Kubernetes Dashboard.
Example Usage
Provisioning a New EKS Cluster
import * as pulumi from "@pulumi/pulumi";
import * as eks from "@pulumi/eks";
// Create an EKS cluster with the default configuration.
const cluster = new eks.Cluster("cluster", {});
// Export the cluster's kubeconfig.
export const kubeconfig = cluster.kubeconfig;
import pulumi
import pulumi_eks as eks
# Create an EKS cluster with the default configuration.
cluster = eks.Cluster("cluster")
# Export the cluster's kubeconfig.
pulumi.export("kubeconfig", cluster.kubeconfig)
package main
import (
"github.com/pulumi/pulumi-eks/sdk/go/eks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create an EKS cluster with the default configuration.
cluster, err := eks.NewCluster(ctx, "cluster", nil)
if err != nil {
return err
}
// Export the cluster's kubeconfig.
ctx.Export("kubeconfig", cluster.Kubeconfig)
return nil
})
}
using System.Collections.Generic;
using Pulumi;
using Eks = Pulumi.Eks;
return await Deployment.RunAsync(() =>
{
// Create an EKS cluster with the default configuration.
var cluster = new Eks.Cluster("cluster");
return new Dictionary<string, object?>
{
// Export the cluster's kubeconfig.
["kubeconfig"] = cluster.Kubeconfig,
};
});
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.eks.Cluster;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Create an EKS cluster with the default configuration.
var cluster = new Cluster("cluster");
// Export the cluster's kubeconfig.
ctx.export("kubeconfig", cluster.kubeconfig());
}
}
resources:
# Create an EKS cluster with the default configuration.
cluster:
type: eks:Cluster
outputs:
# Export the cluster's kubeconfig.
kubeconfig: ${cluster.kubeconfig}
Create Cluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Cluster(name: string, args?: ClusterArgs, opts?: ComponentResourceOptions);
@overload
def Cluster(resource_name: str,
args: Optional[ClusterArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def Cluster(resource_name: str,
opts: Optional[ResourceOptions] = None,
access_entries: Optional[Mapping[str, AccessEntryArgs]] = None,
authentication_mode: Optional[AuthenticationMode] = None,
cluster_security_group: Optional[pulumi_aws.ec2.SecurityGroup] = None,
cluster_security_group_tags: Optional[Mapping[str, str]] = None,
cluster_tags: Optional[Mapping[str, str]] = None,
coredns_addon_options: Optional[CoreDnsAddonOptionsArgs] = None,
create_oidc_provider: Optional[bool] = None,
creation_role_provider: Optional[CreationRoleProviderArgs] = None,
default_addons_to_remove: Optional[Sequence[str]] = None,
desired_capacity: Optional[int] = None,
enable_config_map_mutable: Optional[bool] = None,
enabled_cluster_log_types: Optional[Sequence[str]] = None,
encryption_config_key_arn: Optional[str] = None,
endpoint_private_access: Optional[bool] = None,
endpoint_public_access: Optional[bool] = None,
fargate: Optional[Union[bool, FargateProfileArgs]] = None,
gpu: Optional[bool] = None,
instance_profile_name: Optional[str] = None,
instance_role: Optional[pulumi_aws.iam.Role] = None,
instance_roles: Optional[Sequence[pulumi_aws.iam.Role]] = None,
instance_type: Optional[str] = None,
ip_family: Optional[str] = None,
kube_proxy_addon_options: Optional[KubeProxyAddonOptionsArgs] = None,
kubernetes_service_ip_address_range: Optional[str] = None,
max_size: Optional[int] = None,
min_size: Optional[int] = None,
name: Optional[str] = None,
node_ami_id: Optional[str] = None,
node_associate_public_ip_address: Optional[bool] = None,
node_group_options: Optional[ClusterNodeGroupOptionsArgs] = None,
node_public_key: Optional[str] = None,
node_root_volume_encrypted: Optional[bool] = None,
node_root_volume_size: Optional[int] = None,
node_security_group_tags: Optional[Mapping[str, str]] = None,
node_subnet_ids: Optional[Sequence[str]] = None,
node_user_data: Optional[str] = None,
private_subnet_ids: Optional[Sequence[str]] = None,
provider_credential_opts: Optional[KubeconfigOptionsArgs] = None,
proxy: Optional[str] = None,
public_access_cidrs: Optional[Sequence[str]] = None,
public_subnet_ids: Optional[Sequence[str]] = None,
role_mappings: Optional[Sequence[RoleMappingArgs]] = None,
service_role: Optional[pulumi_aws.iam.Role] = None,
skip_default_node_group: Optional[bool] = None,
skip_default_security_groups: Optional[bool] = None,
storage_classes: Optional[Union[str, Mapping[str, StorageClassArgs]]] = None,
subnet_ids: Optional[Sequence[str]] = None,
tags: Optional[Mapping[str, str]] = None,
use_default_vpc_cni: Optional[bool] = None,
user_mappings: Optional[Sequence[UserMappingArgs]] = None,
version: Optional[str] = None,
vpc_cni_options: Optional[VpcCniOptionsArgs] = None,
vpc_id: Optional[str] = None)
func NewCluster(ctx *Context, name string, args *ClusterArgs, opts ...ResourceOption) (*Cluster, error)
public Cluster(string name, ClusterArgs? args = null, ComponentResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, ComponentResourceOptions options)
type: eks:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- options ComponentResourceOptions
- Bag of options to control resource's behavior.
Cluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Cluster resource accepts the following input properties:
- Access
Entries Dictionary<string, AccessEntry Args> Access entries to add to the EKS cluster. They can be used to allow IAM principals to access the cluster. Access entries are only supported with authentication mode
API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html
- Authentication
Mode Pulumi.Eks. Authentication Mode The authentication mode of the cluster. Valid values are
CONFIG_MAP
,API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html#set-cam
- Cluster
Security Pulumi.Group Aws. Ec2. Security Group The security group to use for the cluster API endpoint. If not provided, a new security group will be created with full internet egress and ingress from node groups.
Note: The security group resource should not contain any inline ingress or egress rules. This type is defined in the AWS Classic package.
- Dictionary<string, string>
- The tags to apply to the cluster security group.
- Dictionary<string, string>
- The tags to apply to the EKS cluster.
- Coredns
Addon CoreOptions Dns Addon Options - Options for managing the
coredns
addon. - Create
Oidc boolProvider Indicates whether an IAM OIDC Provider is created for the EKS cluster.
The OIDC provider is used in the cluster in combination with k8s Service Account annotations to provide IAM roles at the k8s Pod level.
See for more details:
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
- https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
- https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
- https://www.pulumi.com/registry/packages/aws/api-docs/eks/cluster/#enabling-iam-roles-for-service-accounts
- Creation
Role CreationProvider Role Provider The IAM Role Provider used to create & authenticate against the EKS cluster. This role is given
[system:masters]
permission in K8S, See: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.htmlNote: This option is only supported with Pulumi nodejs programs. Please use
ProviderCredentialOpts
as an alternative instead.- Default
Addons List<string>To Remove - List of addons to remove upon creation. Any addon listed will be "adopted" and then removed. This allows for the creation of a baremetal cluster where no addon is deployed and direct management of addons via Pulumi Kubernetes resources. Valid entries are kube-proxy, coredns and vpc-cni. Only works on first creation of a cluster.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Enable
Config boolMap Mutable Sets the 'enableConfigMapMutable' option on the cluster kubernetes provider.
Applies updates to the aws-auth ConfigMap in place over a replace operation if set to true. https://www.pulumi.com/registry/packages/kubernetes/api-docs/provider/#enableconfigmapmutable_nodejs
- Enabled
Cluster List<string>Log Types - Enable EKS control plane logging. This sends logs to cloudwatch. Possible list of values are: ["api", "audit", "authenticator", "controllerManager", "scheduler"]. By default it is off.
- Encryption
Config stringKey Arn KMS Key ARN to use with the encryption configuration for the cluster.
Only available on Kubernetes 1.13+ clusters created after March 6, 2020. See for more details:
- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/
- Endpoint
Private boolAccess - Indicates whether or not the Amazon EKS private API server endpoint is enabled. Default is
false
. - Endpoint
Public boolAccess - Indicates whether or not the Amazon EKS public API server endpoint is enabled. Default is
true
. - Fargate
bool | Fargate
Profile - Add support for launching pods in Fargate. Defaults to launching pods in the
default
namespace. If specified, the default node group is skipped as thoughskipDefaultNodeGroup: true
had been passed. - Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andnodeAmiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Instance
Profile stringName - The default IAM InstanceProfile to use on the Worker NodeGroups, if one is not already set in the NodeGroup.
- Instance
Role Pulumi.Aws. Iam. Role This enables the simple case of only registering a single IAM instance role with the cluster, that is required to be shared by all node groups in their instance profiles.
Note: options
instanceRole
andinstanceRoles
are mutually exclusive. This type is defined in the AWS Classic package.- Instance
Roles List<Pulumi.Aws. Iam. Role> This enables the advanced case of registering many IAM instance roles with the cluster for per node group IAM, instead of the simpler, shared case of
instanceRole
.Note: options
instanceRole
andinstanceRoles
are mutually exclusive.- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- Ip
Family string - The IP family used to assign Kubernetes pod and service addresses. Valid values are
ipv4
(default) andipv6
. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. - Kube
Proxy KubeAddon Options Proxy Addon Options - Options for managing the
kube-proxy
addon. - Kubernetes
Service stringIp Address Range The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. This setting only applies to IPv4 clusters. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created.
The block must meet the following requirements:
- Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0/16.
- Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.
- Between /24 and /12.
- Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Name string
The cluster's physical resource name.
If not specified, the default is to use auto-naming for the cluster's name, resulting in a physical name with the format
${name}-eksCluster-0123abcd
.See for more details: https://www.pulumi.com/docs/intro/concepts/programming-model/#autonaming
- Node
Ami stringId The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
nodeAmiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign the EKS worker nodes public IP addresses. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Group ClusterOptions Node Group Options - The common configuration settings for NodeGroups.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root boolVolume Encrypted - Encrypt the root block device of the nodes in the node group.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Dictionary<string, string>
The tags to apply to the default
nodeSecurityGroup
created by the cluster.Note: The
nodeSecurityGroupTags
option and the node group optionnodeSecurityGroup
are mutually exclusive.- Node
Subnet List<string>Ids - The subnets to use for worker nodes. Defaults to the value of subnetIds.
- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Private
Subnet List<string>Ids The set of private subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.Also consider setting
nodeAssociatePublicIpAddress: false
for fully private workers.- Private-only: Only set
- Provider
Credential KubeconfigOpts Options The AWS provider credential options to scope the cluster's kubeconfig authentication when using a non-default credential chain.
This is required for certain auth scenarios. For example:
- Creating and using a new AWS provider instance, or
- Setting the AWS_PROFILE environment variable, or
- Using a named profile configured on the AWS provider via:
pulumi config set aws:profile <profileName>
See for more details:
- https://www.pulumi.com/registry/packages/aws/api-docs/provider/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/#configuration
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- Proxy string
The HTTP(S) proxy to use within a proxied environment.
The proxy is used during cluster creation, and OIDC configuration.
This is an alternative option to setting the proxy environment variables: HTTP(S)_PROXY and/or http(s)_proxy.
This option is required iff the proxy environment variables are not set.
Format: ://: Auth Format: ://:@:
Ex:
- "http://proxy.example.com:3128"
- "https://proxy.example.com"
- "http://username:password@proxy.example.com:3128"
- Public
Access List<string>Cidrs - Indicates which CIDR blocks can access the Amazon EKS public API server endpoint.
- Public
Subnet List<string>Ids The set of public subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Private-only: Only set
- Role
Mappings List<RoleMapping> - Optional mappings from AWS IAM roles to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
- Service
Role Pulumi.Aws. Iam. Role - IAM Service Role for EKS to use to manage the cluster. This type is defined in the AWS Classic package.
- Skip
Default boolNode Group - If this toggle is set to true, the EKS cluster will be created without node group attached. Defaults to false, unless
fargate
input is provided. - Skip
Default boolSecurity Groups If this toggle is set to true, the EKS cluster will be created without the default node and cluster security groups. Defaults to false.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
- Storage
Classes string | Dictionary<string, StorageClass Args> An optional set of StorageClasses to enable for the cluster. If this is a single volume type rather than a map, a single StorageClass will be created for that volume type.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html- Subnet
Ids List<string> The set of all subnets, public and private, to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.If the list of subnets includes both public and private subnets, the worker nodes will only be attached to the private subnets, and the public subnets will be used for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.
Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Dictionary<string, string>
- Key-value mapping of tags that are automatically applied to all AWS resources directly under management with this cluster, which support tagging.
- Use
Default boolVpc Cni - Use the default VPC CNI instead of creating a custom one. Should not be used in conjunction with
vpcCniOptions
. - User
Mappings List<UserMapping> - Optional mappings from AWS IAM users to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
. - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- Vpc
Cni VpcOptions Cni Options - The configuration of the Amazon VPC CNI plugin for this instance. Defaults are described in the documentation for the VpcCniOptions type.
- Vpc
Id string - The VPC in which to create the cluster and its worker nodes. If unset, the cluster will be created in the default VPC.
- Access
Entries map[string]AccessEntry Args Access entries to add to the EKS cluster. They can be used to allow IAM principals to access the cluster. Access entries are only supported with authentication mode
API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html
- Authentication
Mode AuthenticationMode The authentication mode of the cluster. Valid values are
CONFIG_MAP
,API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html#set-cam
- Cluster
Security SecurityGroup Group The security group to use for the cluster API endpoint. If not provided, a new security group will be created with full internet egress and ingress from node groups.
Note: The security group resource should not contain any inline ingress or egress rules. This type is defined in the AWS Classic package.
- map[string]string
- The tags to apply to the cluster security group.
- map[string]string
- The tags to apply to the EKS cluster.
- Coredns
Addon CoreOptions Dns Addon Options Args - Options for managing the
coredns
addon. - Create
Oidc boolProvider Indicates whether an IAM OIDC Provider is created for the EKS cluster.
The OIDC provider is used in the cluster in combination with k8s Service Account annotations to provide IAM roles at the k8s Pod level.
See for more details:
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
- https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
- https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
- https://www.pulumi.com/registry/packages/aws/api-docs/eks/cluster/#enabling-iam-roles-for-service-accounts
- Creation
Role CreationProvider Role Provider Args The IAM Role Provider used to create & authenticate against the EKS cluster. This role is given
[system:masters]
permission in K8S, See: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.htmlNote: This option is only supported with Pulumi nodejs programs. Please use
ProviderCredentialOpts
as an alternative instead.- Default
Addons []stringTo Remove - List of addons to remove upon creation. Any addon listed will be "adopted" and then removed. This allows for the creation of a baremetal cluster where no addon is deployed and direct management of addons via Pulumi Kubernetes resources. Valid entries are kube-proxy, coredns and vpc-cni. Only works on first creation of a cluster.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Enable
Config boolMap Mutable Sets the 'enableConfigMapMutable' option on the cluster kubernetes provider.
Applies updates to the aws-auth ConfigMap in place over a replace operation if set to true. https://www.pulumi.com/registry/packages/kubernetes/api-docs/provider/#enableconfigmapmutable_nodejs
- Enabled
Cluster []stringLog Types - Enable EKS control plane logging. This sends logs to cloudwatch. Possible list of values are: ["api", "audit", "authenticator", "controllerManager", "scheduler"]. By default it is off.
- Encryption
Config stringKey Arn KMS Key ARN to use with the encryption configuration for the cluster.
Only available on Kubernetes 1.13+ clusters created after March 6, 2020. See for more details:
- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/
- Endpoint
Private boolAccess - Indicates whether or not the Amazon EKS private API server endpoint is enabled. Default is
false
. - Endpoint
Public boolAccess - Indicates whether or not the Amazon EKS public API server endpoint is enabled. Default is
true
. - Fargate
bool | Fargate
Profile Args - Add support for launching pods in Fargate. Defaults to launching pods in the
default
namespace. If specified, the default node group is skipped as thoughskipDefaultNodeGroup: true
had been passed. - Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andnodeAmiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Instance
Profile stringName - The default IAM InstanceProfile to use on the Worker NodeGroups, if one is not already set in the NodeGroup.
- Instance
Role Role This enables the simple case of only registering a single IAM instance role with the cluster, that is required to be shared by all node groups in their instance profiles.
Note: options
instanceRole
andinstanceRoles
are mutually exclusive. This type is defined in the AWS Classic package.- Instance
Roles Role This enables the advanced case of registering many IAM instance roles with the cluster for per node group IAM, instead of the simpler, shared case of
instanceRole
.Note: options
instanceRole
andinstanceRoles
are mutually exclusive.- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- Ip
Family string - The IP family used to assign Kubernetes pod and service addresses. Valid values are
ipv4
(default) andipv6
. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. - Kube
Proxy KubeAddon Options Proxy Addon Options Args - Options for managing the
kube-proxy
addon. - Kubernetes
Service stringIp Address Range The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. This setting only applies to IPv4 clusters. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created.
The block must meet the following requirements:
- Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0/16.
- Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.
- Between /24 and /12.
- Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Name string
The cluster's physical resource name.
If not specified, the default is to use auto-naming for the cluster's name, resulting in a physical name with the format
${name}-eksCluster-0123abcd
.See for more details: https://www.pulumi.com/docs/intro/concepts/programming-model/#autonaming
- Node
Ami stringId The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
nodeAmiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign the EKS worker nodes public IP addresses. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Group ClusterOptions Node Group Options Args - The common configuration settings for NodeGroups.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root boolVolume Encrypted - Encrypt the root block device of the nodes in the node group.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- map[string]string
The tags to apply to the default
nodeSecurityGroup
created by the cluster.Note: The
nodeSecurityGroupTags
option and the node group optionnodeSecurityGroup
are mutually exclusive.- Node
Subnet []stringIds - The subnets to use for worker nodes. Defaults to the value of subnetIds.
- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Private
Subnet []stringIds The set of private subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.Also consider setting
nodeAssociatePublicIpAddress: false
for fully private workers.- Private-only: Only set
- Provider
Credential KubeconfigOpts Options Args The AWS provider credential options to scope the cluster's kubeconfig authentication when using a non-default credential chain.
This is required for certain auth scenarios. For example:
- Creating and using a new AWS provider instance, or
- Setting the AWS_PROFILE environment variable, or
- Using a named profile configured on the AWS provider via:
pulumi config set aws:profile <profileName>
See for more details:
- https://www.pulumi.com/registry/packages/aws/api-docs/provider/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/#configuration
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- Proxy string
The HTTP(S) proxy to use within a proxied environment.
The proxy is used during cluster creation, and OIDC configuration.
This is an alternative option to setting the proxy environment variables: HTTP(S)_PROXY and/or http(s)_proxy.
This option is required iff the proxy environment variables are not set.
Format: ://: Auth Format: ://:@:
Ex:
- "http://proxy.example.com:3128"
- "https://proxy.example.com"
- "http://username:password@proxy.example.com:3128"
- Public
Access []stringCidrs - Indicates which CIDR blocks can access the Amazon EKS public API server endpoint.
- Public
Subnet []stringIds The set of public subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Private-only: Only set
- Role
Mappings []RoleMapping Args - Optional mappings from AWS IAM roles to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
- Service
Role Role - IAM Service Role for EKS to use to manage the cluster. This type is defined in the AWS Classic package.
- Skip
Default boolNode Group - If this toggle is set to true, the EKS cluster will be created without node group attached. Defaults to false, unless
fargate
input is provided. - Skip
Default boolSecurity Groups If this toggle is set to true, the EKS cluster will be created without the default node and cluster security groups. Defaults to false.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
- Storage
Classes string | map[string]StorageClass Args An optional set of StorageClasses to enable for the cluster. If this is a single volume type rather than a map, a single StorageClass will be created for that volume type.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html- Subnet
Ids []string The set of all subnets, public and private, to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.If the list of subnets includes both public and private subnets, the worker nodes will only be attached to the private subnets, and the public subnets will be used for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.
Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- map[string]string
- Key-value mapping of tags that are automatically applied to all AWS resources directly under management with this cluster, which support tagging.
- Use
Default boolVpc Cni - Use the default VPC CNI instead of creating a custom one. Should not be used in conjunction with
vpcCniOptions
. - User
Mappings []UserMapping Args - Optional mappings from AWS IAM users to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
. - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- Vpc
Cni VpcOptions Cni Options Args - The configuration of the Amazon VPC CNI plugin for this instance. Defaults are described in the documentation for the VpcCniOptions type.
- Vpc
Id string - The VPC in which to create the cluster and its worker nodes. If unset, the cluster will be created in the default VPC.
- access
Entries Map<String,AccessEntry Args> Access entries to add to the EKS cluster. They can be used to allow IAM principals to access the cluster. Access entries are only supported with authentication mode
API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html
- authentication
Mode AuthenticationMode The authentication mode of the cluster. Valid values are
CONFIG_MAP
,API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html#set-cam
- cluster
Security SecurityGroup Group The security group to use for the cluster API endpoint. If not provided, a new security group will be created with full internet egress and ingress from node groups.
Note: The security group resource should not contain any inline ingress or egress rules. This type is defined in the AWS Classic package.
- Map<String,String>
- The tags to apply to the cluster security group.
- Map<String,String>
- The tags to apply to the EKS cluster.
- coredns
Addon CoreOptions Dns Addon Options - Options for managing the
coredns
addon. - create
Oidc BooleanProvider Indicates whether an IAM OIDC Provider is created for the EKS cluster.
The OIDC provider is used in the cluster in combination with k8s Service Account annotations to provide IAM roles at the k8s Pod level.
See for more details:
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
- https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
- https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
- https://www.pulumi.com/registry/packages/aws/api-docs/eks/cluster/#enabling-iam-roles-for-service-accounts
- creation
Role CreationProvider Role Provider The IAM Role Provider used to create & authenticate against the EKS cluster. This role is given
[system:masters]
permission in K8S, See: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.htmlNote: This option is only supported with Pulumi nodejs programs. Please use
ProviderCredentialOpts
as an alternative instead.- default
Addons List<String>To Remove - List of addons to remove upon creation. Any addon listed will be "adopted" and then removed. This allows for the creation of a baremetal cluster where no addon is deployed and direct management of addons via Pulumi Kubernetes resources. Valid entries are kube-proxy, coredns and vpc-cni. Only works on first creation of a cluster.
- desired
Capacity Integer - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable
Config BooleanMap Mutable Sets the 'enableConfigMapMutable' option on the cluster kubernetes provider.
Applies updates to the aws-auth ConfigMap in place over a replace operation if set to true. https://www.pulumi.com/registry/packages/kubernetes/api-docs/provider/#enableconfigmapmutable_nodejs
- enabled
Cluster List<String>Log Types - Enable EKS control plane logging. This sends logs to cloudwatch. Possible list of values are: ["api", "audit", "authenticator", "controllerManager", "scheduler"]. By default it is off.
- encryption
Config StringKey Arn KMS Key ARN to use with the encryption configuration for the cluster.
Only available on Kubernetes 1.13+ clusters created after March 6, 2020. See for more details:
- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/
- endpoint
Private BooleanAccess - Indicates whether or not the Amazon EKS private API server endpoint is enabled. Default is
false
. - endpoint
Public BooleanAccess - Indicates whether or not the Amazon EKS public API server endpoint is enabled. Default is
true
. - fargate
Boolean | Fargate
Profile - Add support for launching pods in Fargate. Defaults to launching pods in the
default
namespace. If specified, the default node group is skipped as thoughskipDefaultNodeGroup: true
had been passed. - gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andnodeAmiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile StringName - The default IAM InstanceProfile to use on the Worker NodeGroups, if one is not already set in the NodeGroup.
- instance
Role Role This enables the simple case of only registering a single IAM instance role with the cluster, that is required to be shared by all node groups in their instance profiles.
Note: options
instanceRole
andinstanceRoles
are mutually exclusive. This type is defined in the AWS Classic package.- instance
Roles List<Role> This enables the advanced case of registering many IAM instance roles with the cluster for per node group IAM, instead of the simpler, shared case of
instanceRole
.Note: options
instanceRole
andinstanceRoles
are mutually exclusive.- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- ip
Family String - The IP family used to assign Kubernetes pod and service addresses. Valid values are
ipv4
(default) andipv6
. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. - kube
Proxy KubeAddon Options Proxy Addon Options - Options for managing the
kube-proxy
addon. - kubernetes
Service StringIp Address Range The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. This setting only applies to IPv4 clusters. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created.
The block must meet the following requirements:
- Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0/16.
- Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.
- Between /24 and /12.
- max
Size Integer - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Size Integer - The minimum number of worker nodes running in the cluster. Defaults to 1.
- name String
The cluster's physical resource name.
If not specified, the default is to use auto-naming for the cluster's name, resulting in a physical name with the format
${name}-eksCluster-0123abcd
.See for more details: https://www.pulumi.com/docs/intro/concepts/programming-model/#autonaming
- node
Ami StringId The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
nodeAmiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign the EKS worker nodes public IP addresses. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Group ClusterOptions Node Group Options - The common configuration settings for NodeGroups.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root BooleanVolume Encrypted - Encrypt the root block device of the nodes in the node group.
- node
Root IntegerVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Map<String,String>
The tags to apply to the default
nodeSecurityGroup
created by the cluster.Note: The
nodeSecurityGroupTags
option and the node group optionnodeSecurityGroup
are mutually exclusive.- node
Subnet List<String>Ids - The subnets to use for worker nodes. Defaults to the value of subnetIds.
- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - private
Subnet List<String>Ids The set of private subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.Also consider setting
nodeAssociatePublicIpAddress: false
for fully private workers.- Private-only: Only set
- provider
Credential KubeconfigOpts Options The AWS provider credential options to scope the cluster's kubeconfig authentication when using a non-default credential chain.
This is required for certain auth scenarios. For example:
- Creating and using a new AWS provider instance, or
- Setting the AWS_PROFILE environment variable, or
- Using a named profile configured on the AWS provider via:
pulumi config set aws:profile <profileName>
See for more details:
- https://www.pulumi.com/registry/packages/aws/api-docs/provider/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/#configuration
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- proxy String
The HTTP(S) proxy to use within a proxied environment.
The proxy is used during cluster creation, and OIDC configuration.
This is an alternative option to setting the proxy environment variables: HTTP(S)_PROXY and/or http(s)_proxy.
This option is required iff the proxy environment variables are not set.
Format: ://: Auth Format: ://:@:
Ex:
- "http://proxy.example.com:3128"
- "https://proxy.example.com"
- "http://username:password@proxy.example.com:3128"
- public
Access List<String>Cidrs - Indicates which CIDR blocks can access the Amazon EKS public API server endpoint.
- public
Subnet List<String>Ids The set of public subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Private-only: Only set
- role
Mappings List<RoleMapping> - Optional mappings from AWS IAM roles to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
- service
Role Role - IAM Service Role for EKS to use to manage the cluster. This type is defined in the AWS Classic package.
- skip
Default BooleanNode Group - If this toggle is set to true, the EKS cluster will be created without node group attached. Defaults to false, unless
fargate
input is provided. - skip
Default BooleanSecurity Groups If this toggle is set to true, the EKS cluster will be created without the default node and cluster security groups. Defaults to false.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
- storage
Classes String | Map<String,StorageClass Args> An optional set of StorageClasses to enable for the cluster. If this is a single volume type rather than a map, a single StorageClass will be created for that volume type.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html- subnet
Ids List<String> The set of all subnets, public and private, to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.If the list of subnets includes both public and private subnets, the worker nodes will only be attached to the private subnets, and the public subnets will be used for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.
Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Map<String,String>
- Key-value mapping of tags that are automatically applied to all AWS resources directly under management with this cluster, which support tagging.
- use
Default BooleanVpc Cni - Use the default VPC CNI instead of creating a custom one. Should not be used in conjunction with
vpcCniOptions
. - user
Mappings List<UserMapping> - Optional mappings from AWS IAM users to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
. - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- vpc
Cni VpcOptions Cni Options - The configuration of the Amazon VPC CNI plugin for this instance. Defaults are described in the documentation for the VpcCniOptions type.
- vpc
Id String - The VPC in which to create the cluster and its worker nodes. If unset, the cluster will be created in the default VPC.
- access
Entries {[key: string]: AccessEntry Args} Access entries to add to the EKS cluster. They can be used to allow IAM principals to access the cluster. Access entries are only supported with authentication mode
API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html
- authentication
Mode AuthenticationMode The authentication mode of the cluster. Valid values are
CONFIG_MAP
,API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html#set-cam
- cluster
Security pulumiGroup Awsec2Security Group The security group to use for the cluster API endpoint. If not provided, a new security group will be created with full internet egress and ingress from node groups.
Note: The security group resource should not contain any inline ingress or egress rules. This type is defined in the AWS Classic package.
- {[key: string]: string}
- The tags to apply to the cluster security group.
- {[key: string]: string}
- The tags to apply to the EKS cluster.
- coredns
Addon CoreOptions Dns Addon Options - Options for managing the
coredns
addon. - create
Oidc booleanProvider Indicates whether an IAM OIDC Provider is created for the EKS cluster.
The OIDC provider is used in the cluster in combination with k8s Service Account annotations to provide IAM roles at the k8s Pod level.
See for more details:
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
- https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
- https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
- https://www.pulumi.com/registry/packages/aws/api-docs/eks/cluster/#enabling-iam-roles-for-service-accounts
- creation
Role CreationProvider Role Provider The IAM Role Provider used to create & authenticate against the EKS cluster. This role is given
[system:masters]
permission in K8S, See: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.htmlNote: This option is only supported with Pulumi nodejs programs. Please use
ProviderCredentialOpts
as an alternative instead.- default
Addons string[]To Remove - List of addons to remove upon creation. Any addon listed will be "adopted" and then removed. This allows for the creation of a baremetal cluster where no addon is deployed and direct management of addons via Pulumi Kubernetes resources. Valid entries are kube-proxy, coredns and vpc-cni. Only works on first creation of a cluster.
- desired
Capacity number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable
Config booleanMap Mutable Sets the 'enableConfigMapMutable' option on the cluster kubernetes provider.
Applies updates to the aws-auth ConfigMap in place over a replace operation if set to true. https://www.pulumi.com/registry/packages/kubernetes/api-docs/provider/#enableconfigmapmutable_nodejs
- enabled
Cluster string[]Log Types - Enable EKS control plane logging. This sends logs to cloudwatch. Possible list of values are: ["api", "audit", "authenticator", "controllerManager", "scheduler"]. By default it is off.
- encryption
Config stringKey Arn KMS Key ARN to use with the encryption configuration for the cluster.
Only available on Kubernetes 1.13+ clusters created after March 6, 2020. See for more details:
- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/
- endpoint
Private booleanAccess - Indicates whether or not the Amazon EKS private API server endpoint is enabled. Default is
false
. - endpoint
Public booleanAccess - Indicates whether or not the Amazon EKS public API server endpoint is enabled. Default is
true
. - fargate
boolean | Fargate
Profile - Add support for launching pods in Fargate. Defaults to launching pods in the
default
namespace. If specified, the default node group is skipped as thoughskipDefaultNodeGroup: true
had been passed. - gpu boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andnodeAmiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile stringName - The default IAM InstanceProfile to use on the Worker NodeGroups, if one is not already set in the NodeGroup.
- instance
Role pulumiAwsiam Role This enables the simple case of only registering a single IAM instance role with the cluster, that is required to be shared by all node groups in their instance profiles.
Note: options
instanceRole
andinstanceRoles
are mutually exclusive. This type is defined in the AWS Classic package.- instance
Roles pulumiAwsiam Role[] This enables the advanced case of registering many IAM instance roles with the cluster for per node group IAM, instead of the simpler, shared case of
instanceRole
.Note: options
instanceRole
andinstanceRoles
are mutually exclusive.- instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- ip
Family string - The IP family used to assign Kubernetes pod and service addresses. Valid values are
ipv4
(default) andipv6
. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. - kube
Proxy KubeAddon Options Proxy Addon Options - Options for managing the
kube-proxy
addon. - kubernetes
Service stringIp Address Range The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. This setting only applies to IPv4 clusters. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created.
The block must meet the following requirements:
- Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0/16.
- Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.
- Between /24 and /12.
- max
Size number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Size number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- name string
The cluster's physical resource name.
If not specified, the default is to use auto-naming for the cluster's name, resulting in a physical name with the format
${name}-eksCluster-0123abcd
.See for more details: https://www.pulumi.com/docs/intro/concepts/programming-model/#autonaming
- node
Ami stringId The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
nodeAmiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- node
Associate booleanPublic Ip Address - Whether or not to auto-assign the EKS worker nodes public IP addresses. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Group ClusterOptions Node Group Options - The common configuration settings for NodeGroups.
- node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root booleanVolume Encrypted - Encrypt the root block device of the nodes in the node group.
- node
Root numberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- {[key: string]: string}
The tags to apply to the default
nodeSecurityGroup
created by the cluster.Note: The
nodeSecurityGroupTags
option and the node group optionnodeSecurityGroup
are mutually exclusive.- node
Subnet string[]Ids - The subnets to use for worker nodes. Defaults to the value of subnetIds.
- node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - private
Subnet string[]Ids The set of private subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.Also consider setting
nodeAssociatePublicIpAddress: false
for fully private workers.- Private-only: Only set
- provider
Credential KubeconfigOpts Options The AWS provider credential options to scope the cluster's kubeconfig authentication when using a non-default credential chain.
This is required for certain auth scenarios. For example:
- Creating and using a new AWS provider instance, or
- Setting the AWS_PROFILE environment variable, or
- Using a named profile configured on the AWS provider via:
pulumi config set aws:profile <profileName>
See for more details:
- https://www.pulumi.com/registry/packages/aws/api-docs/provider/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/#configuration
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- proxy string
The HTTP(S) proxy to use within a proxied environment.
The proxy is used during cluster creation, and OIDC configuration.
This is an alternative option to setting the proxy environment variables: HTTP(S)_PROXY and/or http(s)_proxy.
This option is required iff the proxy environment variables are not set.
Format: ://: Auth Format: ://:@:
Ex:
- "http://proxy.example.com:3128"
- "https://proxy.example.com"
- "http://username:password@proxy.example.com:3128"
- public
Access string[]Cidrs - Indicates which CIDR blocks can access the Amazon EKS public API server endpoint.
- public
Subnet string[]Ids The set of public subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Private-only: Only set
- role
Mappings RoleMapping[] - Optional mappings from AWS IAM roles to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
- service
Role pulumiAwsiam Role - IAM Service Role for EKS to use to manage the cluster. This type is defined in the AWS Classic package.
- skip
Default booleanNode Group - If this toggle is set to true, the EKS cluster will be created without node group attached. Defaults to false, unless
fargate
input is provided. - skip
Default booleanSecurity Groups If this toggle is set to true, the EKS cluster will be created without the default node and cluster security groups. Defaults to false.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
- storage
Classes string | {[key: string]: StorageClass Args} An optional set of StorageClasses to enable for the cluster. If this is a single volume type rather than a map, a single StorageClass will be created for that volume type.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html- subnet
Ids string[] The set of all subnets, public and private, to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.If the list of subnets includes both public and private subnets, the worker nodes will only be attached to the private subnets, and the public subnets will be used for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.
Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- {[key: string]: string}
- Key-value mapping of tags that are automatically applied to all AWS resources directly under management with this cluster, which support tagging.
- use
Default booleanVpc Cni - Use the default VPC CNI instead of creating a custom one. Should not be used in conjunction with
vpcCniOptions
. - user
Mappings UserMapping[] - Optional mappings from AWS IAM users to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
. - version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- vpc
Cni VpcOptions Cni Options - The configuration of the Amazon VPC CNI plugin for this instance. Defaults are described in the documentation for the VpcCniOptions type.
- vpc
Id string - The VPC in which to create the cluster and its worker nodes. If unset, the cluster will be created in the default VPC.
- access_
entries Mapping[str, AccessEntry Args] Access entries to add to the EKS cluster. They can be used to allow IAM principals to access the cluster. Access entries are only supported with authentication mode
API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html
- authentication_
mode AuthenticationMode The authentication mode of the cluster. Valid values are
CONFIG_MAP
,API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html#set-cam
- cluster_
security_ pulumi_group aws.ec2. Security Group The security group to use for the cluster API endpoint. If not provided, a new security group will be created with full internet egress and ingress from node groups.
Note: The security group resource should not contain any inline ingress or egress rules. This type is defined in the AWS Classic package.
- Mapping[str, str]
- The tags to apply to the cluster security group.
- Mapping[str, str]
- The tags to apply to the EKS cluster.
- coredns_
addon_ Coreoptions Dns Addon Options Args - Options for managing the
coredns
addon. - create_
oidc_ boolprovider Indicates whether an IAM OIDC Provider is created for the EKS cluster.
The OIDC provider is used in the cluster in combination with k8s Service Account annotations to provide IAM roles at the k8s Pod level.
See for more details:
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
- https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
- https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
- https://www.pulumi.com/registry/packages/aws/api-docs/eks/cluster/#enabling-iam-roles-for-service-accounts
- creation_
role_ Creationprovider Role Provider Args The IAM Role Provider used to create & authenticate against the EKS cluster. This role is given
[system:masters]
permission in K8S, See: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.htmlNote: This option is only supported with Pulumi nodejs programs. Please use
ProviderCredentialOpts
as an alternative instead.- default_
addons_ Sequence[str]to_ remove - List of addons to remove upon creation. Any addon listed will be "adopted" and then removed. This allows for the creation of a baremetal cluster where no addon is deployed and direct management of addons via Pulumi Kubernetes resources. Valid entries are kube-proxy, coredns and vpc-cni. Only works on first creation of a cluster.
- desired_
capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable_
config_ boolmap_ mutable Sets the 'enableConfigMapMutable' option on the cluster kubernetes provider.
Applies updates to the aws-auth ConfigMap in place over a replace operation if set to true. https://www.pulumi.com/registry/packages/kubernetes/api-docs/provider/#enableconfigmapmutable_nodejs
- enabled_
cluster_ Sequence[str]log_ types - Enable EKS control plane logging. This sends logs to cloudwatch. Possible list of values are: ["api", "audit", "authenticator", "controllerManager", "scheduler"]. By default it is off.
- encryption_
config_ strkey_ arn KMS Key ARN to use with the encryption configuration for the cluster.
Only available on Kubernetes 1.13+ clusters created after March 6, 2020. See for more details:
- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/
- endpoint_
private_ boolaccess - Indicates whether or not the Amazon EKS private API server endpoint is enabled. Default is
false
. - endpoint_
public_ boolaccess - Indicates whether or not the Amazon EKS public API server endpoint is enabled. Default is
true
. - fargate
bool | Fargate
Profile Args - Add support for launching pods in Fargate. Defaults to launching pods in the
default
namespace. If specified, the default node group is skipped as thoughskipDefaultNodeGroup: true
had been passed. - gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andnodeAmiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance_
profile_ strname - The default IAM InstanceProfile to use on the Worker NodeGroups, if one is not already set in the NodeGroup.
- instance_
role pulumi_aws.iam. Role This enables the simple case of only registering a single IAM instance role with the cluster, that is required to be shared by all node groups in their instance profiles.
Note: options
instanceRole
andinstanceRoles
are mutually exclusive. This type is defined in the AWS Classic package.- instance_
roles Sequence[pulumi_aws.iam. Role] This enables the advanced case of registering many IAM instance roles with the cluster for per node group IAM, instead of the simpler, shared case of
instanceRole
.Note: options
instanceRole
andinstanceRoles
are mutually exclusive.- instance_
type str - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- ip_
family str - The IP family used to assign Kubernetes pod and service addresses. Valid values are
ipv4
(default) andipv6
. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. - kube_
proxy_ Kubeaddon_ options Proxy Addon Options Args - Options for managing the
kube-proxy
addon. - kubernetes_
service_ strip_ address_ range The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. This setting only applies to IPv4 clusters. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created.
The block must meet the following requirements:
- Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0/16.
- Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.
- Between /24 and /12.
- max_
size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min_
size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- name str
The cluster's physical resource name.
If not specified, the default is to use auto-naming for the cluster's name, resulting in a physical name with the format
${name}-eksCluster-0123abcd
.See for more details: https://www.pulumi.com/docs/intro/concepts/programming-model/#autonaming
- node_
ami_ strid The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
nodeAmiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- node_
associate_ boolpublic_ ip_ address - Whether or not to auto-assign the EKS worker nodes public IP addresses. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node_
group_ Clusteroptions Node Group Options Args - The common configuration settings for NodeGroups.
- node_
public_ strkey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node_
root_ boolvolume_ encrypted - Encrypt the root block device of the nodes in the node group.
- node_
root_ intvolume_ size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Mapping[str, str]
The tags to apply to the default
nodeSecurityGroup
created by the cluster.Note: The
nodeSecurityGroupTags
option and the node group optionnodeSecurityGroup
are mutually exclusive.- node_
subnet_ Sequence[str]ids - The subnets to use for worker nodes. Defaults to the value of subnetIds.
- node_
user_ strdata - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - private_
subnet_ Sequence[str]ids The set of private subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.Also consider setting
nodeAssociatePublicIpAddress: false
for fully private workers.- Private-only: Only set
- provider_
credential_ Kubeconfigopts Options Args The AWS provider credential options to scope the cluster's kubeconfig authentication when using a non-default credential chain.
This is required for certain auth scenarios. For example:
- Creating and using a new AWS provider instance, or
- Setting the AWS_PROFILE environment variable, or
- Using a named profile configured on the AWS provider via:
pulumi config set aws:profile <profileName>
See for more details:
- https://www.pulumi.com/registry/packages/aws/api-docs/provider/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/#configuration
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- proxy str
The HTTP(S) proxy to use within a proxied environment.
The proxy is used during cluster creation, and OIDC configuration.
This is an alternative option to setting the proxy environment variables: HTTP(S)_PROXY and/or http(s)_proxy.
This option is required iff the proxy environment variables are not set.
Format: ://: Auth Format: ://:@:
Ex:
- "http://proxy.example.com:3128"
- "https://proxy.example.com"
- "http://username:password@proxy.example.com:3128"
- public_
access_ Sequence[str]cidrs - Indicates which CIDR blocks can access the Amazon EKS public API server endpoint.
- public_
subnet_ Sequence[str]ids The set of public subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Private-only: Only set
- role_
mappings Sequence[RoleMapping Args] - Optional mappings from AWS IAM roles to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
- service_
role pulumi_aws.iam. Role - IAM Service Role for EKS to use to manage the cluster. This type is defined in the AWS Classic package.
- skip_
default_ boolnode_ group - If this toggle is set to true, the EKS cluster will be created without node group attached. Defaults to false, unless
fargate
input is provided. - skip_
default_ boolsecurity_ groups If this toggle is set to true, the EKS cluster will be created without the default node and cluster security groups. Defaults to false.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
- storage_
classes str | Mapping[str, StorageClass Args] An optional set of StorageClasses to enable for the cluster. If this is a single volume type rather than a map, a single StorageClass will be created for that volume type.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html- subnet_
ids Sequence[str] The set of all subnets, public and private, to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.If the list of subnets includes both public and private subnets, the worker nodes will only be attached to the private subnets, and the public subnets will be used for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.
Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Mapping[str, str]
- Key-value mapping of tags that are automatically applied to all AWS resources directly under management with this cluster, which support tagging.
- use_
default_ boolvpc_ cni - Use the default VPC CNI instead of creating a custom one. Should not be used in conjunction with
vpcCniOptions
. - user_
mappings Sequence[UserMapping Args] - Optional mappings from AWS IAM users to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
. - version str
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- vpc_
cni_ Vpcoptions Cni Options Args - The configuration of the Amazon VPC CNI plugin for this instance. Defaults are described in the documentation for the VpcCniOptions type.
- vpc_
id str - The VPC in which to create the cluster and its worker nodes. If unset, the cluster will be created in the default VPC.
- access
Entries Map<Property Map> Access entries to add to the EKS cluster. They can be used to allow IAM principals to access the cluster. Access entries are only supported with authentication mode
API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html
- authentication
Mode "CONFIG_MAP" | "API" | "API_AND_CONFIG_MAP" The authentication mode of the cluster. Valid values are
CONFIG_MAP
,API
orAPI_AND_CONFIG_MAP
.See for more details: https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html#set-cam
- cluster
Security aws:ec2:SecurityGroup Group The security group to use for the cluster API endpoint. If not provided, a new security group will be created with full internet egress and ingress from node groups.
Note: The security group resource should not contain any inline ingress or egress rules. This type is defined in the AWS Classic package.
- Map<String>
- The tags to apply to the cluster security group.
- Map<String>
- The tags to apply to the EKS cluster.
- coredns
Addon Property MapOptions - Options for managing the
coredns
addon. - create
Oidc BooleanProvider Indicates whether an IAM OIDC Provider is created for the EKS cluster.
The OIDC provider is used in the cluster in combination with k8s Service Account annotations to provide IAM roles at the k8s Pod level.
See for more details:
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
- https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
- https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
- https://www.pulumi.com/registry/packages/aws/api-docs/eks/cluster/#enabling-iam-roles-for-service-accounts
- creation
Role Property MapProvider The IAM Role Provider used to create & authenticate against the EKS cluster. This role is given
[system:masters]
permission in K8S, See: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.htmlNote: This option is only supported with Pulumi nodejs programs. Please use
ProviderCredentialOpts
as an alternative instead.- default
Addons List<String>To Remove - List of addons to remove upon creation. Any addon listed will be "adopted" and then removed. This allows for the creation of a baremetal cluster where no addon is deployed and direct management of addons via Pulumi Kubernetes resources. Valid entries are kube-proxy, coredns and vpc-cni. Only works on first creation of a cluster.
- desired
Capacity Number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable
Config BooleanMap Mutable Sets the 'enableConfigMapMutable' option on the cluster kubernetes provider.
Applies updates to the aws-auth ConfigMap in place over a replace operation if set to true. https://www.pulumi.com/registry/packages/kubernetes/api-docs/provider/#enableconfigmapmutable_nodejs
- enabled
Cluster List<String>Log Types - Enable EKS control plane logging. This sends logs to cloudwatch. Possible list of values are: ["api", "audit", "authenticator", "controllerManager", "scheduler"]. By default it is off.
- encryption
Config StringKey Arn KMS Key ARN to use with the encryption configuration for the cluster.
Only available on Kubernetes 1.13+ clusters created after March 6, 2020. See for more details:
- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/
- endpoint
Private BooleanAccess - Indicates whether or not the Amazon EKS private API server endpoint is enabled. Default is
false
. - endpoint
Public BooleanAccess - Indicates whether or not the Amazon EKS public API server endpoint is enabled. Default is
true
. - fargate Boolean | Property Map
- Add support for launching pods in Fargate. Defaults to launching pods in the
default
namespace. If specified, the default node group is skipped as thoughskipDefaultNodeGroup: true
had been passed. - gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andnodeAmiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile StringName - The default IAM InstanceProfile to use on the Worker NodeGroups, if one is not already set in the NodeGroup.
- instance
Role aws:iam:Role This enables the simple case of only registering a single IAM instance role with the cluster, that is required to be shared by all node groups in their instance profiles.
Note: options
instanceRole
andinstanceRoles
are mutually exclusive. This type is defined in the AWS Classic package.- instance
Roles List<aws:iam:Role> This enables the advanced case of registering many IAM instance roles with the cluster for per node group IAM, instead of the simpler, shared case of
instanceRole
.Note: options
instanceRole
andinstanceRoles
are mutually exclusive.- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- ip
Family String - The IP family used to assign Kubernetes pod and service addresses. Valid values are
ipv4
(default) andipv6
. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created. - kube
Proxy Property MapAddon Options - Options for managing the
kube-proxy
addon. - kubernetes
Service StringIp Address Range The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. This setting only applies to IPv4 clusters. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created.
The block must meet the following requirements:
- Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0/16.
- Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.
- Between /24 and /12.
- max
Size Number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Size Number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- name String
The cluster's physical resource name.
If not specified, the default is to use auto-naming for the cluster's name, resulting in a physical name with the format
${name}-eksCluster-0123abcd
.See for more details: https://www.pulumi.com/docs/intro/concepts/programming-model/#autonaming
- node
Ami StringId The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
nodeAmiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign the EKS worker nodes public IP addresses. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Group Property MapOptions - The common configuration settings for NodeGroups.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root BooleanVolume Encrypted - Encrypt the root block device of the nodes in the node group.
- node
Root NumberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Map<String>
The tags to apply to the default
nodeSecurityGroup
created by the cluster.Note: The
nodeSecurityGroupTags
option and the node group optionnodeSecurityGroup
are mutually exclusive.- node
Subnet List<String>Ids - The subnets to use for worker nodes. Defaults to the value of subnetIds.
- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - private
Subnet List<String>Ids The set of private subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.Also consider setting
nodeAssociatePublicIpAddress: false
for fully private workers.- Private-only: Only set
- provider
Credential Property MapOpts The AWS provider credential options to scope the cluster's kubeconfig authentication when using a non-default credential chain.
This is required for certain auth scenarios. For example:
- Creating and using a new AWS provider instance, or
- Setting the AWS_PROFILE environment variable, or
- Using a named profile configured on the AWS provider via:
pulumi config set aws:profile <profileName>
See for more details:
- https://www.pulumi.com/registry/packages/aws/api-docs/provider/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/
- https://www.pulumi.com/docs/intro/cloud-providers/aws/#configuration
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- proxy String
The HTTP(S) proxy to use within a proxied environment.
The proxy is used during cluster creation, and OIDC configuration.
This is an alternative option to setting the proxy environment variables: HTTP(S)_PROXY and/or http(s)_proxy.
This option is required iff the proxy environment variables are not set.
Format: ://: Auth Format: ://:@:
Ex:
- "http://proxy.example.com:3128"
- "https://proxy.example.com"
- "http://username:password@proxy.example.com:3128"
- public
Access List<String>Cidrs - Indicates which CIDR blocks can access the Amazon EKS public API server endpoint.
- public
Subnet List<String>Ids The set of public subnets to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.Worker network architecture options:
- Private-only: Only set
privateSubnetIds
.- Default workers to run in a private subnet. In this setting, Kubernetes cannot create public, internet-facing load balancers for your pods.
- Public-only: Only set
publicSubnetIds
.- Default workers to run in a public subnet.
- Mixed (recommended): Set both
privateSubnetIds
andpublicSubnetIds
.- Default all worker nodes to run in private subnets, and use the public subnets for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Private-only: Only set
- role
Mappings List<Property Map> - Optional mappings from AWS IAM roles to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
- service
Role aws:iam:Role - IAM Service Role for EKS to use to manage the cluster. This type is defined in the AWS Classic package.
- skip
Default BooleanNode Group - If this toggle is set to true, the EKS cluster will be created without node group attached. Defaults to false, unless
fargate
input is provided. - skip
Default BooleanSecurity Groups If this toggle is set to true, the EKS cluster will be created without the default node and cluster security groups. Defaults to false.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
- storage
Classes String | Map<Property Map> An optional set of StorageClasses to enable for the cluster. If this is a single volume type rather than a map, a single StorageClass will be created for that volume type.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html- subnet
Ids List<String> The set of all subnets, public and private, to use for the worker node groups on the EKS cluster. These subnets are automatically tagged by EKS for Kubernetes purposes.
If
vpcId
is not set, the cluster will use the AWS account's default VPC subnets.If the list of subnets includes both public and private subnets, the worker nodes will only be attached to the private subnets, and the public subnets will be used for internet-facing load balancers.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html.
Note: The use of
subnetIds
, along withpublicSubnetIds
and/orprivateSubnetIds
is mutually exclusive. The use ofpublicSubnetIds
andprivateSubnetIds
is encouraged.- Map<String>
- Key-value mapping of tags that are automatically applied to all AWS resources directly under management with this cluster, which support tagging.
- use
Default BooleanVpc Cni - Use the default VPC CNI instead of creating a custom one. Should not be used in conjunction with
vpcCniOptions
. - user
Mappings List<Property Map> - Optional mappings from AWS IAM users to Kubernetes users and groups. Only supported with authentication mode
CONFIG_MAP
orAPI_AND_CONFIG_MAP
. - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- vpc
Cni Property MapOptions - The configuration of the Amazon VPC CNI plugin for this instance. Defaults are described in the documentation for the VpcCniOptions type.
- vpc
Id String - The VPC in which to create the cluster and its worker nodes. If unset, the cluster will be created in the default VPC.
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
- Aws
Provider Pulumi.Aws. Provider - The AWS resource provider. This type is defined in the pulumi package.
- Cluster
Ingress stringRule Id - The ID of the security group rule that gives node group access to the cluster API server. Defaults to an empty string if
skipDefaultSecurityGroups
is set to true. - Cluster
Security stringGroup Id - The cluster security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - Core
Core
Data - The EKS cluster and its dependencies.
- Default
Node stringGroup Asg Name - The name of the default node group's AutoScaling Group. Defaults to an empty string if
skipDefaultNodeGroup
is set to true. - Eks
Cluster Pulumi.Aws. Eks. Cluster - The EKS cluster. This type is defined in the AWS Classic package.
- Fargate
Profile stringId - The ID of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- Fargate
Profile stringStatus - The status of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- Kubeconfig object
- A kubeconfig that can be used to connect to the EKS cluster.
- Kubeconfig
Json string - A kubeconfig that can be used to connect to the EKS cluster as a JSON string.
- Node
Security stringGroup Id - The node security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - Oidc
Issuer string The OIDC Issuer of the EKS cluster (OIDC Provider URL without leading
https://
).This value can be used to associate kubernetes service accounts with IAM roles. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html.
- Oidc
Provider stringArn - The ARN of the IAM OpenID Connect Provider for the EKS cluster. Defaults to an empty string if no OIDC provider is configured.
- Oidc
Provider stringUrl - Issuer URL for the OpenID Connect identity provider of the EKS cluster.
- Default
Node NodeGroup Group Data - The default Node Group configuration, or undefined if
skipDefaultNodeGroup
was specified. - Eks
Cluster Pulumi.Ingress Rule Aws. Ec2. Security Group Rule - The ingress rule that gives node group access to cluster API server. This type is defined in the AWS Classic package.
- Node
Security Pulumi.Group Aws. Ec2. Security Group - The security group for the cluster's nodes. This type is defined in the AWS Classic package.
- Aws
Provider Provider - The AWS resource provider. This type is defined in the pulumi package.
- Cluster
Ingress stringRule Id - The ID of the security group rule that gives node group access to the cluster API server. Defaults to an empty string if
skipDefaultSecurityGroups
is set to true. - Cluster
Security stringGroup Id - The cluster security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - Core
Core
Data - The EKS cluster and its dependencies.
- Default
Node stringGroup Asg Name - The name of the default node group's AutoScaling Group. Defaults to an empty string if
skipDefaultNodeGroup
is set to true. - Eks
Cluster Cluster - The EKS cluster. This type is defined in the AWS Classic package.
- Fargate
Profile stringId - The ID of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- Fargate
Profile stringStatus - The status of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- Kubeconfig interface{}
- A kubeconfig that can be used to connect to the EKS cluster.
- Kubeconfig
Json string - A kubeconfig that can be used to connect to the EKS cluster as a JSON string.
- Node
Security stringGroup Id - The node security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - Oidc
Issuer string The OIDC Issuer of the EKS cluster (OIDC Provider URL without leading
https://
).This value can be used to associate kubernetes service accounts with IAM roles. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html.
- Oidc
Provider stringArn - The ARN of the IAM OpenID Connect Provider for the EKS cluster. Defaults to an empty string if no OIDC provider is configured.
- Oidc
Provider stringUrl - Issuer URL for the OpenID Connect identity provider of the EKS cluster.
- Default
Node NodeGroup Group Data - The default Node Group configuration, or undefined if
skipDefaultNodeGroup
was specified. - Eks
Cluster SecurityIngress Rule Group Rule - The ingress rule that gives node group access to cluster API server. This type is defined in the AWS Classic package.
- Node
Security SecurityGroup Group - The security group for the cluster's nodes. This type is defined in the AWS Classic package.
- aws
Provider Provider - The AWS resource provider. This type is defined in the pulumi package.
- cluster
Ingress StringRule Id - The ID of the security group rule that gives node group access to the cluster API server. Defaults to an empty string if
skipDefaultSecurityGroups
is set to true. - cluster
Security StringGroup Id - The cluster security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - core
Core
Data - The EKS cluster and its dependencies.
- default
Node StringGroup Asg Name - The name of the default node group's AutoScaling Group. Defaults to an empty string if
skipDefaultNodeGroup
is set to true. - eks
Cluster Cluster - The EKS cluster. This type is defined in the AWS Classic package.
- fargate
Profile StringId - The ID of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- fargate
Profile StringStatus - The status of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- kubeconfig Object
- A kubeconfig that can be used to connect to the EKS cluster.
- kubeconfig
Json String - A kubeconfig that can be used to connect to the EKS cluster as a JSON string.
- node
Security StringGroup Id - The node security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - oidc
Issuer String The OIDC Issuer of the EKS cluster (OIDC Provider URL without leading
https://
).This value can be used to associate kubernetes service accounts with IAM roles. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html.
- oidc
Provider StringArn - The ARN of the IAM OpenID Connect Provider for the EKS cluster. Defaults to an empty string if no OIDC provider is configured.
- oidc
Provider StringUrl - Issuer URL for the OpenID Connect identity provider of the EKS cluster.
- default
Node NodeGroup Group Data - The default Node Group configuration, or undefined if
skipDefaultNodeGroup
was specified. - eks
Cluster SecurityIngress Rule Group Rule - The ingress rule that gives node group access to cluster API server. This type is defined in the AWS Classic package.
- node
Security SecurityGroup Group - The security group for the cluster's nodes. This type is defined in the AWS Classic package.
- aws
Provider pulumiAws Provider - The AWS resource provider. This type is defined in the pulumi package.
- cluster
Ingress stringRule Id - The ID of the security group rule that gives node group access to the cluster API server. Defaults to an empty string if
skipDefaultSecurityGroups
is set to true. - cluster
Security stringGroup Id - The cluster security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - core
Core
Data - The EKS cluster and its dependencies.
- default
Node stringGroup Asg Name - The name of the default node group's AutoScaling Group. Defaults to an empty string if
skipDefaultNodeGroup
is set to true. - eks
Cluster pulumiAwseks Cluster - The EKS cluster. This type is defined in the AWS Classic package.
- fargate
Profile stringId - The ID of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- fargate
Profile stringStatus - The status of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- kubeconfig any
- A kubeconfig that can be used to connect to the EKS cluster.
- kubeconfig
Json string - A kubeconfig that can be used to connect to the EKS cluster as a JSON string.
- node
Security stringGroup Id - The node security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - oidc
Issuer string The OIDC Issuer of the EKS cluster (OIDC Provider URL without leading
https://
).This value can be used to associate kubernetes service accounts with IAM roles. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html.
- oidc
Provider stringArn - The ARN of the IAM OpenID Connect Provider for the EKS cluster. Defaults to an empty string if no OIDC provider is configured.
- oidc
Provider stringUrl - Issuer URL for the OpenID Connect identity provider of the EKS cluster.
- default
Node NodeGroup Group Data - The default Node Group configuration, or undefined if
skipDefaultNodeGroup
was specified. - eks
Cluster pulumiIngress Rule Awsec2Security Group Rule - The ingress rule that gives node group access to cluster API server. This type is defined in the AWS Classic package.
- node
Security pulumiGroup Awsec2Security Group - The security group for the cluster's nodes. This type is defined in the AWS Classic package.
- aws_
provider pulumi_aws. Provider - The AWS resource provider. This type is defined in the pulumi package.
- cluster_
ingress_ strrule_ id - The ID of the security group rule that gives node group access to the cluster API server. Defaults to an empty string if
skipDefaultSecurityGroups
is set to true. - cluster_
security_ strgroup_ id - The cluster security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - core
Core
Data - The EKS cluster and its dependencies.
- default_
node_ strgroup_ asg_ name - The name of the default node group's AutoScaling Group. Defaults to an empty string if
skipDefaultNodeGroup
is set to true. - eks_
cluster pulumi_aws.eks. Cluster - The EKS cluster. This type is defined in the AWS Classic package.
- fargate_
profile_ strid - The ID of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- fargate_
profile_ strstatus - The status of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- kubeconfig Any
- A kubeconfig that can be used to connect to the EKS cluster.
- kubeconfig_
json str - A kubeconfig that can be used to connect to the EKS cluster as a JSON string.
- node_
security_ strgroup_ id - The node security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - oidc_
issuer str The OIDC Issuer of the EKS cluster (OIDC Provider URL without leading
https://
).This value can be used to associate kubernetes service accounts with IAM roles. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html.
- oidc_
provider_ strarn - The ARN of the IAM OpenID Connect Provider for the EKS cluster. Defaults to an empty string if no OIDC provider is configured.
- oidc_
provider_ strurl - Issuer URL for the OpenID Connect identity provider of the EKS cluster.
- default_
node_ Nodegroup Group Data - The default Node Group configuration, or undefined if
skipDefaultNodeGroup
was specified. - eks_
cluster_ pulumi_ingress_ rule aws.ec2. Security Group Rule - The ingress rule that gives node group access to cluster API server. This type is defined in the AWS Classic package.
- node_
security_ pulumi_group aws.ec2. Security Group - The security group for the cluster's nodes. This type is defined in the AWS Classic package.
- aws
Provider pulumi:providers:aws - The AWS resource provider. This type is defined in the pulumi package.
- cluster
Ingress StringRule Id - The ID of the security group rule that gives node group access to the cluster API server. Defaults to an empty string if
skipDefaultSecurityGroups
is set to true. - cluster
Security StringGroup Id - The cluster security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - core Property Map
- The EKS cluster and its dependencies.
- default
Node StringGroup Asg Name - The name of the default node group's AutoScaling Group. Defaults to an empty string if
skipDefaultNodeGroup
is set to true. - eks
Cluster aws:eks:Cluster - The EKS cluster. This type is defined in the AWS Classic package.
- fargate
Profile StringId - The ID of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- fargate
Profile StringStatus - The status of the Fargate Profile. Defaults to an empty string if no Fargate profile is configured.
- kubeconfig Any
- A kubeconfig that can be used to connect to the EKS cluster.
- kubeconfig
Json String - A kubeconfig that can be used to connect to the EKS cluster as a JSON string.
- node
Security StringGroup Id - The node security group ID of the EKS cluster. Returns the EKS created security group if
skipDefaultSecurityGroups
is set to true. - oidc
Issuer String The OIDC Issuer of the EKS cluster (OIDC Provider URL without leading
https://
).This value can be used to associate kubernetes service accounts with IAM roles. For more information, see https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html.
- oidc
Provider StringArn - The ARN of the IAM OpenID Connect Provider for the EKS cluster. Defaults to an empty string if no OIDC provider is configured.
- oidc
Provider StringUrl - Issuer URL for the OpenID Connect identity provider of the EKS cluster.
- default
Node Property MapGroup - The default Node Group configuration, or undefined if
skipDefaultNodeGroup
was specified. - eks
Cluster aws:ec2:SecurityIngress Rule Group Rule - The ingress rule that gives node group access to cluster API server. This type is defined in the AWS Classic package.
- node
Security aws:ec2:SecurityGroup Group - The security group for the cluster's nodes. This type is defined in the AWS Classic package.
Cluster Resource Methods
GetKubeconfig Method
Generate a kubeconfig for cluster authentication that does not use the default AWS credential provider chain, and instead is scoped to the supported options in KubeconfigOptions
.
The kubeconfig generated is automatically stringified for ease of use with the pulumi/kubernetes provider.
See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html
- https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
Using GetKubeconfig
getKubeconfig(args?: Cluster.GetKubeconfigArgs): Output<Cluster.GetKubeconfigResult>
def get_kubeconfig(self,
profile_name: Optional[pulumi.Input[str]] = None,
role_arn: Optional[pulumi.Input[str]] = None) -> Output[str]
func (r *Cluster) GetKubeconfig(ctx *Context, args *ClusterGetKubeconfigArgs) (pulumi.StringOutput, error)
public Output<string> GetKubeconfig(Cluster.GetKubeconfigArgs? args)
The following arguments are supported:
- Profile
Name string AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- Role
Arn string Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- Profile
Name string AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- Role
Arn string Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile
Name String AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role
Arn String Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile
Name string AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role
Arn string Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile_
name str AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role_
arn str Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile
Name String AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role
Arn String Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
GetKubeconfig Result
- Result string
- The kubeconfig for the cluster.
- Result string
- The kubeconfig for the cluster.
- result String
- The kubeconfig for the cluster.
- result string
- The kubeconfig for the cluster.
- result str
- The kubeconfig for the cluster.
- result String
- The kubeconfig for the cluster.
Supporting Types
AccessEntry, AccessEntryArgs
- Principal
Arn string - The IAM Principal ARN which requires Authentication access to the EKS cluster.
- Access
Policies Dictionary<string, AccessPolicy Association> - The access policies to associate to the access entry.
- Kubernetes
Groups List<string> - A list of groups within Kubernetes to which the IAM principal is mapped to.
- Dictionary<string, string>
- The tags to apply to the AccessEntry.
- Type
Pulumi.
Eks. Access Entry Type - The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS. Defaults to STANDARD which provides the standard workflow. EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX types disallow users to input a username or kubernetesGroup, and prevent associating access policies.
- Username string
- Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
- Principal
Arn string - The IAM Principal ARN which requires Authentication access to the EKS cluster.
- Access
Policies map[string]AccessPolicy Association - The access policies to associate to the access entry.
- Kubernetes
Groups []string - A list of groups within Kubernetes to which the IAM principal is mapped to.
- map[string]string
- The tags to apply to the AccessEntry.
- Type
Access
Entry Type - The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS. Defaults to STANDARD which provides the standard workflow. EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX types disallow users to input a username or kubernetesGroup, and prevent associating access policies.
- Username string
- Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
- principal
Arn String - The IAM Principal ARN which requires Authentication access to the EKS cluster.
- access
Policies Map<String,AccessPolicy Association> - The access policies to associate to the access entry.
- kubernetes
Groups List<String> - A list of groups within Kubernetes to which the IAM principal is mapped to.
- Map<String,String>
- The tags to apply to the AccessEntry.
- type
Access
Entry Type - The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS. Defaults to STANDARD which provides the standard workflow. EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX types disallow users to input a username or kubernetesGroup, and prevent associating access policies.
- username String
- Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
- principal
Arn string - The IAM Principal ARN which requires Authentication access to the EKS cluster.
- access
Policies {[key: string]: AccessPolicy Association} - The access policies to associate to the access entry.
- kubernetes
Groups string[] - A list of groups within Kubernetes to which the IAM principal is mapped to.
- {[key: string]: string}
- The tags to apply to the AccessEntry.
- type
Access
Entry Type - The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS. Defaults to STANDARD which provides the standard workflow. EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX types disallow users to input a username or kubernetesGroup, and prevent associating access policies.
- username string
- Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
- principal_
arn str - The IAM Principal ARN which requires Authentication access to the EKS cluster.
- access_
policies Mapping[str, AccessPolicy Association] - The access policies to associate to the access entry.
- kubernetes_
groups Sequence[str] - A list of groups within Kubernetes to which the IAM principal is mapped to.
- Mapping[str, str]
- The tags to apply to the AccessEntry.
- type
Access
Entry Type - The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS. Defaults to STANDARD which provides the standard workflow. EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX types disallow users to input a username or kubernetesGroup, and prevent associating access policies.
- username str
- Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
- principal
Arn String - The IAM Principal ARN which requires Authentication access to the EKS cluster.
- access
Policies Map<Property Map> - The access policies to associate to the access entry.
- kubernetes
Groups List<String> - A list of groups within Kubernetes to which the IAM principal is mapped to.
- Map<String>
- The tags to apply to the AccessEntry.
- type "STANDARD" | "FARGATE_LINUX" | "EC2_LINUX" | "EC2_WINDOWS"
- The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS. Defaults to STANDARD which provides the standard workflow. EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX types disallow users to input a username or kubernetesGroup, and prevent associating access policies.
- username String
- Defaults to the principalArn if the principal is a user, else defaults to assume-role/session-name.
AccessEntryType, AccessEntryTypeArgs
- Standard
- STANDARDStandard Access Entry Workflow. Allows users to input a username and kubernetesGroup, and to associate access policies.
- Fargate
Linux - FARGATE_LINUXFor IAM roles used with AWS Fargate profiles.
- EC2Linux
- EC2_LINUXFor IAM roles associated with self-managed Linux node groups. Allows the nodes to join the cluster.
- EC2Windows
- EC2_WINDOWSFor IAM roles associated with self-managed Windows node groups. Allows the nodes to join the cluster.
- Access
Entry Type Standard - STANDARDStandard Access Entry Workflow. Allows users to input a username and kubernetesGroup, and to associate access policies.
- Access
Entry Type Fargate Linux - FARGATE_LINUXFor IAM roles used with AWS Fargate profiles.
- Access
Entry Type EC2Linux - EC2_LINUXFor IAM roles associated with self-managed Linux node groups. Allows the nodes to join the cluster.
- Access
Entry Type EC2Windows - EC2_WINDOWSFor IAM roles associated with self-managed Windows node groups. Allows the nodes to join the cluster.
- Standard
- STANDARDStandard Access Entry Workflow. Allows users to input a username and kubernetesGroup, and to associate access policies.
- Fargate
Linux - FARGATE_LINUXFor IAM roles used with AWS Fargate profiles.
- EC2Linux
- EC2_LINUXFor IAM roles associated with self-managed Linux node groups. Allows the nodes to join the cluster.
- EC2Windows
- EC2_WINDOWSFor IAM roles associated with self-managed Windows node groups. Allows the nodes to join the cluster.
- Standard
- STANDARDStandard Access Entry Workflow. Allows users to input a username and kubernetesGroup, and to associate access policies.
- Fargate
Linux - FARGATE_LINUXFor IAM roles used with AWS Fargate profiles.
- EC2Linux
- EC2_LINUXFor IAM roles associated with self-managed Linux node groups. Allows the nodes to join the cluster.
- EC2Windows
- EC2_WINDOWSFor IAM roles associated with self-managed Windows node groups. Allows the nodes to join the cluster.
- STANDARD
- STANDARDStandard Access Entry Workflow. Allows users to input a username and kubernetesGroup, and to associate access policies.
- FARGATE_LINUX
- FARGATE_LINUXFor IAM roles used with AWS Fargate profiles.
- EC2_LINUX
- EC2_LINUXFor IAM roles associated with self-managed Linux node groups. Allows the nodes to join the cluster.
- EC2_WINDOWS
- EC2_WINDOWSFor IAM roles associated with self-managed Windows node groups. Allows the nodes to join the cluster.
- "STANDARD"
- STANDARDStandard Access Entry Workflow. Allows users to input a username and kubernetesGroup, and to associate access policies.
- "FARGATE_LINUX"
- FARGATE_LINUXFor IAM roles used with AWS Fargate profiles.
- "EC2_LINUX"
- EC2_LINUXFor IAM roles associated with self-managed Linux node groups. Allows the nodes to join the cluster.
- "EC2_WINDOWS"
- EC2_WINDOWSFor IAM roles associated with self-managed Windows node groups. Allows the nodes to join the cluster.
AccessPolicyAssociation, AccessPolicyAssociationArgs
- Access
Scope Pulumi.Aws. Eks. Inputs. Access Policy Association Access Scope - The scope of the access policy association. This controls whether the access policy is scoped to the cluster or to a particular namespace. This type is defined in the AWS Classic package.
- Policy
Arn string - The ARN of the access policy to associate with the principal
- Access
Scope AccessPolicy Association Access Scope - The scope of the access policy association. This controls whether the access policy is scoped to the cluster or to a particular namespace. This type is defined in the AWS Classic package.
- Policy
Arn string - The ARN of the access policy to associate with the principal
- access
Scope AccessPolicy Association Access Scope - The scope of the access policy association. This controls whether the access policy is scoped to the cluster or to a particular namespace. This type is defined in the AWS Classic package.
- policy
Arn String - The ARN of the access policy to associate with the principal
- access
Scope pulumiAwstypesinputeks Access Policy Association Access Scope - The scope of the access policy association. This controls whether the access policy is scoped to the cluster or to a particular namespace. This type is defined in the AWS Classic package.
- policy
Arn string - The ARN of the access policy to associate with the principal
- access_
scope pulumi_aws.eks. Access Policy Association Access Scope Args - The scope of the access policy association. This controls whether the access policy is scoped to the cluster or to a particular namespace. This type is defined in the AWS Classic package.
- policy_
arn str - The ARN of the access policy to associate with the principal
- access
Scope Property Map - The scope of the access policy association. This controls whether the access policy is scoped to the cluster or to a particular namespace. This type is defined in the AWS Classic package.
- policy
Arn String - The ARN of the access policy to associate with the principal
AuthenticationMode, AuthenticationModeArgs
- Config
Map - CONFIG_MAPOnly aws-auth ConfigMap will be used for authenticating to the Kubernetes API.
- Api
- APIOnly Access Entries will be used for authenticating to the Kubernetes API.
- Api
And Config Map - API_AND_CONFIG_MAPBoth aws-auth ConfigMap and Access Entries can be used for authenticating to the Kubernetes API.
- Authentication
Mode Config Map - CONFIG_MAPOnly aws-auth ConfigMap will be used for authenticating to the Kubernetes API.
- Authentication
Mode Api - APIOnly Access Entries will be used for authenticating to the Kubernetes API.
- Authentication
Mode Api And Config Map - API_AND_CONFIG_MAPBoth aws-auth ConfigMap and Access Entries can be used for authenticating to the Kubernetes API.
- Config
Map - CONFIG_MAPOnly aws-auth ConfigMap will be used for authenticating to the Kubernetes API.
- Api
- APIOnly Access Entries will be used for authenticating to the Kubernetes API.
- Api
And Config Map - API_AND_CONFIG_MAPBoth aws-auth ConfigMap and Access Entries can be used for authenticating to the Kubernetes API.
- Config
Map - CONFIG_MAPOnly aws-auth ConfigMap will be used for authenticating to the Kubernetes API.
- Api
- APIOnly Access Entries will be used for authenticating to the Kubernetes API.
- Api
And Config Map - API_AND_CONFIG_MAPBoth aws-auth ConfigMap and Access Entries can be used for authenticating to the Kubernetes API.
- CONFIG_MAP
- CONFIG_MAPOnly aws-auth ConfigMap will be used for authenticating to the Kubernetes API.
- API
- APIOnly Access Entries will be used for authenticating to the Kubernetes API.
- API_AND_CONFIG_MAP
- API_AND_CONFIG_MAPBoth aws-auth ConfigMap and Access Entries can be used for authenticating to the Kubernetes API.
- "CONFIG_MAP"
- CONFIG_MAPOnly aws-auth ConfigMap will be used for authenticating to the Kubernetes API.
- "API"
- APIOnly Access Entries will be used for authenticating to the Kubernetes API.
- "API_AND_CONFIG_MAP"
- API_AND_CONFIG_MAPBoth aws-auth ConfigMap and Access Entries can be used for authenticating to the Kubernetes API.
ClusterNodeGroupOptions, ClusterNodeGroupOptionsArgs
- Ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Dictionary<string, string>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Bottlerocket
Settings Dictionary<string, object> The configuration settings for Bottlerocket OS. The settings will get merged with the base settings the provider uses to configure Bottlerocket.
This includes:
- settings.kubernetes.api-server
- settings.kubernetes.cluster-certificate
- settings.kubernetes.cluster-name
- settings.kubernetes.cluster-dns-ip
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
- Dictionary<string, string>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Cluster
Ingress Pulumi.Rule Aws. Ec2. Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Cluster
Ingress stringRule Id - The ID of the ingress rule that gives node group access.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Enable
Detailed boolMonitoring Enables/disables detailed monitoring of the EC2 instances.
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals. When enabled, you can also get aggregated data across groups of similar instances.
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage. For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
- Encrypt
Root boolBlock Device - Encrypt the root block device of the nodes in the node group.
- Extra
Node List<Pulumi.Security Groups Aws. Ec2. Security Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Ignore
Scaling boolChanges Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
See EKS best practices for more details.
- Instance
Profile Pulumi.Aws. Iam. Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- Key
Name string - Name of the key pair to use for SSH access to worker nodes.
- Kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - Labels Dictionary<string, string>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - List<Pulumi.
Aws. Ec2. Inputs. Launch Template Tag Specification> - The tag specifications to apply to the launch template.
- Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Refresh intPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root boolVolume Delete On Termination - Whether the root block device should be deleted on termination of the instance. Defaults to true.
- Node
Root boolVolume Encrypted - Whether to encrypt a cluster node's root volume. Defaults to false.
- Node
Root intVolume Iops - The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Node
Root intVolume Throughput - Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
- Node
Root stringVolume Type - Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
- Node
Security Pulumi.Group Aws. Ec2. Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- Node
Security stringGroup Id The ID of the security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroupId
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive.- Node
Subnet List<string>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- Nodeadm
Extra List<NodeadmOptions Options> Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way. The base settings the provider sets are:
- cluster.name
- cluster.apiServerEndpoint
- cluster.certificateAuthority
- cluster.cidr
Note: This is only applicable when using AL2023. See for more details:
- https://awslabs.github.io/amazon-eks-ami/nodeadm/
- https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/
- Operating
System Pulumi.Eks. Operating System The type of OS to use for the node group. Will be used to determine the right EKS optimized AMI to use based on the instance types and gpu configuration. Valid values are
RECOMMENDED
,AL2
,AL2023
andBottlerocket
.Defaults to the current recommended OS.
- Spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- Taints Dictionary<string, Taint>
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- Ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- map[string]string
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Bottlerocket
Settings map[string]interface{} The configuration settings for Bottlerocket OS. The settings will get merged with the base settings the provider uses to configure Bottlerocket.
This includes:
- settings.kubernetes.api-server
- settings.kubernetes.cluster-certificate
- settings.kubernetes.cluster-name
- settings.kubernetes.cluster-dns-ip
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
- map[string]string
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Cluster
Ingress SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Cluster
Ingress stringRule Id - The ID of the ingress rule that gives node group access.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Enable
Detailed boolMonitoring Enables/disables detailed monitoring of the EC2 instances.
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals. When enabled, you can also get aggregated data across groups of similar instances.
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage. For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
- Encrypt
Root boolBlock Device - Encrypt the root block device of the nodes in the node group.
- Extra
Node SecuritySecurity Groups Group Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Ignore
Scaling boolChanges Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
See EKS best practices for more details.
- Instance
Profile InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- Key
Name string - Name of the key pair to use for SSH access to worker nodes.
- Kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - Labels map[string]string
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - Launch
Template Tag Specification - The tag specifications to apply to the launch template.
- Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Refresh intPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root boolVolume Delete On Termination - Whether the root block device should be deleted on termination of the instance. Defaults to true.
- Node
Root boolVolume Encrypted - Whether to encrypt a cluster node's root volume. Defaults to false.
- Node
Root intVolume Iops - The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Node
Root intVolume Throughput - Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
- Node
Root stringVolume Type - Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
- Node
Security SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- Node
Security stringGroup Id The ID of the security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroupId
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive.- Node
Subnet []stringIds The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- Nodeadm
Extra []NodeadmOptions Options Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way. The base settings the provider sets are:
- cluster.name
- cluster.apiServerEndpoint
- cluster.certificateAuthority
- cluster.cidr
Note: This is only applicable when using AL2023. See for more details:
- https://awslabs.github.io/amazon-eks-ami/nodeadm/
- https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/
- Operating
System OperatingSystem The type of OS to use for the node group. Will be used to determine the right EKS optimized AMI to use based on the instance types and gpu configuration. Valid values are
RECOMMENDED
,AL2
,AL2023
andBottlerocket
.Defaults to the current recommended OS.
- Spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- Taints map[string]Taint
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami
Id String The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type String The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Map<String,String>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra StringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - bottlerocket
Settings Map<String,Object> The configuration settings for Bottlerocket OS. The settings will get merged with the base settings the provider uses to configure Bottlerocket.
This includes:
- settings.kubernetes.api-server
- settings.kubernetes.cluster-certificate
- settings.kubernetes.cluster-name
- settings.kubernetes.cluster-dns-ip
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
- Map<String,String>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- cluster
Ingress StringRule Id - The ID of the ingress rule that gives node group access.
- desired
Capacity Integer - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable
Detailed BooleanMonitoring Enables/disables detailed monitoring of the EC2 instances.
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals. When enabled, you can also get aggregated data across groups of similar instances.
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage. For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
- encrypt
Root BooleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node List<SecuritySecurity Groups Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- ignore
Scaling BooleanChanges Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
See EKS best practices for more details.
- instance
Profile InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- key
Name String - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra StringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Map<String,String>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - List<Launch
Template Tag Specification> - The tag specifications to apply to the launch template.
- max
Size Integer - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Refresh IntegerPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min
Size Integer - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root BooleanVolume Delete On Termination - Whether the root block device should be deleted on termination of the instance. Defaults to true.
- node
Root BooleanVolume Encrypted - Whether to encrypt a cluster node's root volume. Defaults to false.
- node
Root IntegerVolume Iops - The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
- node
Root IntegerVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Root IntegerVolume Throughput - Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
- node
Root StringVolume Type - Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
- node
Security SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Security StringGroup Id The ID of the security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroupId
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive.- node
Subnet List<String>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User StringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- nodeadm
Extra List<NodeadmOptions Options> Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way. The base settings the provider sets are:
- cluster.name
- cluster.apiServerEndpoint
- cluster.certificateAuthority
- cluster.cidr
Note: This is only applicable when using AL2023. See for more details:
- https://awslabs.github.io/amazon-eks-ami/nodeadm/
- https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/
- operating
System OperatingSystem The type of OS to use for the node group. Will be used to determine the right EKS optimized AMI to use based on the instance types and gpu configuration. Valid values are
RECOMMENDED
,AL2
,AL2023
andBottlerocket
.Defaults to the current recommended OS.
- spot
Price String - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints Map<String,Taint>
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- {[key: string]: string}
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - bottlerocket
Settings {[key: string]: any} The configuration settings for Bottlerocket OS. The settings will get merged with the base settings the provider uses to configure Bottlerocket.
This includes:
- settings.kubernetes.api-server
- settings.kubernetes.cluster-certificate
- settings.kubernetes.cluster-name
- settings.kubernetes.cluster-dns-ip
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
- {[key: string]: string}
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress pulumiRule Awsec2Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- cluster
Ingress stringRule Id - The ID of the ingress rule that gives node group access.
- desired
Capacity number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable
Detailed booleanMonitoring Enables/disables detailed monitoring of the EC2 instances.
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals. When enabled, you can also get aggregated data across groups of similar instances.
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage. For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
- encrypt
Root booleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node pulumiSecurity Groups Awsec2Security Group[] Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- ignore
Scaling booleanChanges Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
See EKS best practices for more details.
- instance
Profile pulumiAwsiam Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- key
Name string - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels {[key: string]: string}
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - pulumi
Awstypesinputec2Launch Template Tag Specification[] - The tag specifications to apply to the launch template.
- max
Size number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Refresh numberPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min
Size number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate booleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root booleanVolume Delete On Termination - Whether the root block device should be deleted on termination of the instance. Defaults to true.
- node
Root booleanVolume Encrypted - Whether to encrypt a cluster node's root volume. Defaults to false.
- node
Root numberVolume Iops - The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
- node
Root numberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Root numberVolume Throughput - Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
- node
Root stringVolume Type - Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
- node
Security pulumiGroup Awsec2Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Security stringGroup Id The ID of the security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroupId
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive.- node
Subnet string[]Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- nodeadm
Extra NodeadmOptions Options[] Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way. The base settings the provider sets are:
- cluster.name
- cluster.apiServerEndpoint
- cluster.certificateAuthority
- cluster.cidr
Note: This is only applicable when using AL2023. See for more details:
- https://awslabs.github.io/amazon-eks-ami/nodeadm/
- https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/
- operating
System OperatingSystem The type of OS to use for the node group. Will be used to determine the right EKS optimized AMI to use based on the instance types and gpu configuration. Valid values are
RECOMMENDED
,AL2
,AL2023
andBottlerocket
.Defaults to the current recommended OS.
- spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints {[key: string]: Taint}
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami_
id str The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami_
type str The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Mapping[str, str]
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap_
extra_ strargs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - bottlerocket_
settings Mapping[str, Any] The configuration settings for Bottlerocket OS. The settings will get merged with the base settings the provider uses to configure Bottlerocket.
This includes:
- settings.kubernetes.api-server
- settings.kubernetes.cluster-certificate
- settings.kubernetes.cluster-name
- settings.kubernetes.cluster-dns-ip
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
- Mapping[str, str]
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster_
ingress_ pulumi_rule aws.ec2. Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- cluster_
ingress_ strrule_ id - The ID of the ingress rule that gives node group access.
- desired_
capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable_
detailed_ boolmonitoring Enables/disables detailed monitoring of the EC2 instances.
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals. When enabled, you can also get aggregated data across groups of similar instances.
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage. For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
- encrypt_
root_ boolblock_ device - Encrypt the root block device of the nodes in the node group.
- extra_
node_ Sequence[pulumi_security_ groups aws.ec2. Security Group] Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- ignore_
scaling_ boolchanges Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
See EKS best practices for more details.
- instance_
profile pulumi_aws.iam. Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance_
type str - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- key_
name str - Name of the key pair to use for SSH access to worker nodes.
- kubelet_
extra_ strargs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Mapping[str, str]
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - launch_
template_ Sequence[pulumi_tag_ specifications aws.ec2. Launch Template Tag Specification Args] - The tag specifications to apply to the launch template.
- max_
size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min_
refresh_ intpercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min_
size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node_
associate_ boolpublic_ ip_ address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node_
public_ strkey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node_
root_ boolvolume_ delete_ on_ termination - Whether the root block device should be deleted on termination of the instance. Defaults to true.
- node_
root_ boolvolume_ encrypted - Whether to encrypt a cluster node's root volume. Defaults to false.
- node_
root_ intvolume_ iops - The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
- node_
root_ intvolume_ size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node_
root_ intvolume_ throughput - Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
- node_
root_ strvolume_ type - Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
- node_
security_ pulumi_group aws.ec2. Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node_
security_ strgroup_ id The ID of the security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroupId
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive.- node_
subnet_ Sequence[str]ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node_
user_ strdata - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node_
user_ strdata_ override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- nodeadm_
extra_ Sequence[Nodeadmoptions Options] Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way. The base settings the provider sets are:
- cluster.name
- cluster.apiServerEndpoint
- cluster.certificateAuthority
- cluster.cidr
Note: This is only applicable when using AL2023. See for more details:
- https://awslabs.github.io/amazon-eks-ami/nodeadm/
- https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/
- operating_
system OperatingSystem The type of OS to use for the node group. Will be used to determine the right EKS optimized AMI to use based on the instance types and gpu configuration. Valid values are
RECOMMENDED
,AL2
,AL2023
andBottlerocket
.Defaults to the current recommended OS.
- spot_
price str - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints Mapping[str, Taint]
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version str
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami
Id String The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type String The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Map<String>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra StringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - bottlerocket
Settings Map<Any> The configuration settings for Bottlerocket OS. The settings will get merged with the base settings the provider uses to configure Bottlerocket.
This includes:
- settings.kubernetes.api-server
- settings.kubernetes.cluster-certificate
- settings.kubernetes.cluster-name
- settings.kubernetes.cluster-dns-ip
For an overview of the available settings, see https://bottlerocket.dev/en/os/1.20.x/api/settings/.
- Map<String>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress aws:ec2:SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- cluster
Ingress StringRule Id - The ID of the ingress rule that gives node group access.
- desired
Capacity Number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- enable
Detailed BooleanMonitoring Enables/disables detailed monitoring of the EC2 instances.
With detailed monitoring, all metrics, including status check metrics, are available in 1-minute intervals. When enabled, you can also get aggregated data across groups of similar instances.
Note: You are charged per metric that is sent to CloudWatch. You are not charged for data storage. For more information, see "Paid tier" and "Example 1 - EC2 Detailed Monitoring" here https://aws.amazon.com/cloudwatch/pricing/.
- encrypt
Root BooleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node List<aws:ec2:SecuritySecurity Groups Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- ignore
Scaling BooleanChanges Whether to ignore changes to the desired size of the Auto Scaling Group. This is useful when using Cluster Autoscaler.
See EKS best practices for more details.
- instance
Profile aws:iam:InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t3.medium".
- key
Name String - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra StringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Map<String>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - List<Property Map>
- The tag specifications to apply to the launch template.
- max
Size Number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Refresh NumberPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min
Size Number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root BooleanVolume Delete On Termination - Whether the root block device should be deleted on termination of the instance. Defaults to true.
- node
Root BooleanVolume Encrypted - Whether to encrypt a cluster node's root volume. Defaults to false.
- node
Root NumberVolume Iops - The amount of provisioned IOPS. This is only valid with a volumeType of 'io1'.
- node
Root NumberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Root NumberVolume Throughput - Provisioned throughput performance in integer MiB/s for a cluster node's root volume. This is only valid with a volumeType of 'gp3'.
- node
Root StringVolume Type - Configured EBS type for a cluster node's root volume. Default is 'gp2'. Supported values are 'standard', 'gp2', 'gp3', 'st1', 'sc1', 'io1'.
- node
Security aws:ec2:SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Security StringGroup Id The ID of the security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroupId
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive.- node
Subnet List<String>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User StringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- nodeadm
Extra List<Property Map>Options Extra nodeadm configuration sections to be added to the nodeadm user data. This can be shell scripts, nodeadm NodeConfig or any other user data compatible script. When configuring additional nodeadm NodeConfig sections, they'll be merged with the base settings the provider sets. You can overwrite base settings or provide additional settings this way. The base settings the provider sets are:
- cluster.name
- cluster.apiServerEndpoint
- cluster.certificateAuthority
- cluster.cidr
Note: This is only applicable when using AL2023. See for more details:
- https://awslabs.github.io/amazon-eks-ami/nodeadm/
- https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/
- operating
System "AL2" | "AL2023" | "Bottlerocket" | "AL2023" The type of OS to use for the node group. Will be used to determine the right EKS optimized AMI to use based on the instance types and gpu configuration. Valid values are
RECOMMENDED
,AL2
,AL2023
andBottlerocket
.Defaults to the current recommended OS.
- spot
Price String - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints Map<Property Map>
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
CoreData, CoreDataArgs
- Cluster
Pulumi.
Aws. Eks. Cluster - This type is defined in the AWS Classic package.
- Cluster
Iam Pulumi.Role Aws. Iam. Role - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- Endpoint string
- The EKS cluster's Kubernetes API server endpoint.
- Instance
Roles List<Pulumi.Aws. Iam. Role> - The IAM instance roles for the cluster's nodes.
- Node
Group ClusterOptions Node Group Options - The cluster's node group options.
- Provider
Pulumi.
Kubernetes. Provider - This type is defined in the pulumi package.
- Subnet
Ids List<string> - List of subnet IDs for the EKS cluster.
- Vpc
Id string - ID of the cluster's VPC.
- Access
Entries List<AccessEntry> - The access entries added to the cluster.
- Aws
Provider Pulumi.Aws. Provider - This type is defined in the pulumi package.
- Cluster
Security Pulumi.Group Aws. Ec2. Security Group - This type is defined in the AWS Classic package.
- Eks
Node Pulumi.Access Kubernetes. Core. V1. Config Map - This type is defined in the Kubernetes package.
- Encryption
Config Pulumi.Aws. Eks. Inputs. Cluster Encryption Config - This type is defined in the AWS Classic package.
- Fargate
Profile Pulumi.Aws. Eks. Fargate Profile - The Fargate profile used to manage which pods run on Fargate. This type is defined in the AWS Classic package.
- Kubeconfig object
- The kubeconfig file for the cluster.
- Dictionary<string, string>
- Tags attached to the security groups associated with the cluster's worker nodes.
- Oidc
Provider Pulumi.Aws. Iam. Open Id Connect Provider - This type is defined in the AWS Classic package.
- Private
Subnet List<string>Ids - List of subnet IDs for the private subnets.
- Public
Subnet List<string>Ids - List of subnet IDs for the public subnets.
- Storage
Classes Dictionary<string, Pulumi.Kubernetes. Storage. V1. Storage Class> - The storage class used for persistent storage by the cluster.
- Dictionary<string, string>
- A map of tags assigned to the EKS cluster.
- Vpc
Cni Pulumi.Eks. Vpc Cni Addon - The VPC CNI for the cluster.
- Cluster Cluster
- This type is defined in the AWS Classic package.
- Cluster
Iam RoleRole - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- Endpoint string
- The EKS cluster's Kubernetes API server endpoint.
- Instance
Roles Role - The IAM instance roles for the cluster's nodes.
- Node
Group ClusterOptions Node Group Options - The cluster's node group options.
- Provider Provider
- This type is defined in the pulumi package.
- Subnet
Ids []string - List of subnet IDs for the EKS cluster.
- Vpc
Id string - ID of the cluster's VPC.
- Access
Entries []AccessEntry - The access entries added to the cluster.
- Aws
Provider Provider - This type is defined in the pulumi package.
- Cluster
Security SecurityGroup Group - This type is defined in the AWS Classic package.
- Eks
Node ConfigAccess Map - This type is defined in the Kubernetes package.
- Encryption
Config ClusterEncryption Config - This type is defined in the AWS Classic package.
- Fargate
Profile FargateProfile - The Fargate profile used to manage which pods run on Fargate. This type is defined in the AWS Classic package.
- Kubeconfig interface{}
- The kubeconfig file for the cluster.
- map[string]string
- Tags attached to the security groups associated with the cluster's worker nodes.
- Oidc
Provider OpenId Connect Provider - This type is defined in the AWS Classic package.
- Private
Subnet []stringIds - List of subnet IDs for the private subnets.
- Public
Subnet []stringIds - List of subnet IDs for the public subnets.
- Storage
Classes StorageClass - The storage class used for persistent storage by the cluster.
- map[string]string
- A map of tags assigned to the EKS cluster.
- Vpc
Cni VpcCni Addon - The VPC CNI for the cluster.
- cluster Cluster
- This type is defined in the AWS Classic package.
- cluster
Iam RoleRole - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- endpoint String
- The EKS cluster's Kubernetes API server endpoint.
- instance
Roles List<Role> - The IAM instance roles for the cluster's nodes.
- node
Group ClusterOptions Node Group Options - The cluster's node group options.
- provider Provider
- This type is defined in the pulumi package.
- subnet
Ids List<String> - List of subnet IDs for the EKS cluster.
- vpc
Id String - ID of the cluster's VPC.
- access
Entries List<AccessEntry> - The access entries added to the cluster.
- aws
Provider Provider - This type is defined in the pulumi package.
- cluster
Security SecurityGroup Group - This type is defined in the AWS Classic package.
- eks
Node ConfigAccess Map - This type is defined in the Kubernetes package.
- encryption
Config ClusterEncryption Config - This type is defined in the AWS Classic package.
- fargate
Profile FargateProfile - The Fargate profile used to manage which pods run on Fargate. This type is defined in the AWS Classic package.
- kubeconfig Object
- The kubeconfig file for the cluster.
- Map<String,String>
- Tags attached to the security groups associated with the cluster's worker nodes.
- oidc
Provider OpenId Connect Provider - This type is defined in the AWS Classic package.
- private
Subnet List<String>Ids - List of subnet IDs for the private subnets.
- public
Subnet List<String>Ids - List of subnet IDs for the public subnets.
- storage
Classes Map<String,StorageClass> - The storage class used for persistent storage by the cluster.
- Map<String,String>
- A map of tags assigned to the EKS cluster.
- vpc
Cni VpcCni Addon - The VPC CNI for the cluster.
- cluster
pulumi
Awseks Cluster - This type is defined in the AWS Classic package.
- cluster
Iam pulumiRole Awsiam Role - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- endpoint string
- The EKS cluster's Kubernetes API server endpoint.
- instance
Roles pulumiAwsiam Role[] - The IAM instance roles for the cluster's nodes.
- node
Group ClusterOptions Node Group Options - The cluster's node group options.
- provider
pulumi
Kubernetes Provider - This type is defined in the pulumi package.
- subnet
Ids string[] - List of subnet IDs for the EKS cluster.
- vpc
Id string - ID of the cluster's VPC.
- access
Entries AccessEntry[] - The access entries added to the cluster.
- aws
Provider pulumiAws Provider - This type is defined in the pulumi package.
- cluster
Security pulumiGroup Awsec2Security Group - This type is defined in the AWS Classic package.
- eks
Node pulumiAccess Kubernetescorev1Config Map - This type is defined in the Kubernetes package.
- encryption
Config pulumiAwstypesinputeks Cluster Encryption Config - This type is defined in the AWS Classic package.
- fargate
Profile pulumiAwseks Fargate Profile - The Fargate profile used to manage which pods run on Fargate. This type is defined in the AWS Classic package.
- kubeconfig any
- The kubeconfig file for the cluster.
- {[key: string]: string}
- Tags attached to the security groups associated with the cluster's worker nodes.
- oidc
Provider pulumiAwsiam Open Id Connect Provider - This type is defined in the AWS Classic package.
- private
Subnet string[]Ids - List of subnet IDs for the private subnets.
- public
Subnet string[]Ids - List of subnet IDs for the public subnets.
- storage
Classes {[key: string]: pulumiKubernetesstoragev1Storage Class} - The storage class used for persistent storage by the cluster.
- {[key: string]: string}
- A map of tags assigned to the EKS cluster.
- vpc
Cni VpcCni Addon - The VPC CNI for the cluster.
- cluster
pulumi_
aws.eks. Cluster - This type is defined in the AWS Classic package.
- cluster_
iam_ pulumi_role aws.iam. Role - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- endpoint str
- The EKS cluster's Kubernetes API server endpoint.
- instance_
roles Sequence[pulumi_aws.iam. Role] - The IAM instance roles for the cluster's nodes.
- node_
group_ Clusteroptions Node Group Options - The cluster's node group options.
- provider
pulumi_
kubernetes. Provider - This type is defined in the pulumi package.
- subnet_
ids Sequence[str] - List of subnet IDs for the EKS cluster.
- vpc_
id str - ID of the cluster's VPC.
- access_
entries Sequence[AccessEntry] - The access entries added to the cluster.
- aws_
provider pulumi_aws. Provider - This type is defined in the pulumi package.
- cluster_
security_ pulumi_group aws.ec2. Security Group - This type is defined in the AWS Classic package.
- eks_
node_ pulumi_access kubernetes.core.v1. Config Map - This type is defined in the Kubernetes package.
- encryption_
config pulumi_aws.eks. Cluster Encryption Config Args - This type is defined in the AWS Classic package.
- fargate_
profile pulumi_aws.eks. Fargate Profile - The Fargate profile used to manage which pods run on Fargate. This type is defined in the AWS Classic package.
- kubeconfig Any
- The kubeconfig file for the cluster.
- Mapping[str, str]
- Tags attached to the security groups associated with the cluster's worker nodes.
- oidc_
provider pulumi_aws.iam. Open Id Connect Provider - This type is defined in the AWS Classic package.
- private_
subnet_ Sequence[str]ids - List of subnet IDs for the private subnets.
- public_
subnet_ Sequence[str]ids - List of subnet IDs for the public subnets.
- storage_
classes Mapping[str, pulumi_kubernetes.storage.v1. Storage Class] - The storage class used for persistent storage by the cluster.
- Mapping[str, str]
- A map of tags assigned to the EKS cluster.
- vpc_
cni VpcCni Addon - The VPC CNI for the cluster.
- cluster aws:eks:Cluster
- This type is defined in the AWS Classic package.
- cluster
Iam aws:iam:RoleRole - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- endpoint String
- The EKS cluster's Kubernetes API server endpoint.
- instance
Roles List<aws:iam:Role> - The IAM instance roles for the cluster's nodes.
- node
Group Property MapOptions - The cluster's node group options.
- provider pulumi:providers:kubernetes
- This type is defined in the pulumi package.
- subnet
Ids List<String> - List of subnet IDs for the EKS cluster.
- vpc
Id String - ID of the cluster's VPC.
- access
Entries List<Property Map> - The access entries added to the cluster.
- aws
Provider pulumi:providers:aws - This type is defined in the pulumi package.
- cluster
Security aws:ec2:SecurityGroup Group - This type is defined in the AWS Classic package.
- eks
Node kubernetes:core/v1:ConfigAccess Map - This type is defined in the Kubernetes package.
- encryption
Config Property Map - This type is defined in the AWS Classic package.
- fargate
Profile aws:eks:FargateProfile - The Fargate profile used to manage which pods run on Fargate. This type is defined in the AWS Classic package.
- kubeconfig Any
- The kubeconfig file for the cluster.
- Map<String>
- Tags attached to the security groups associated with the cluster's worker nodes.
- oidc
Provider aws:iam:OpenId Connect Provider - This type is defined in the AWS Classic package.
- private
Subnet List<String>Ids - List of subnet IDs for the private subnets.
- public
Subnet List<String>Ids - List of subnet IDs for the public subnets.
- storage
Classes Map<kubernetes:storage.k8s.io/v1:StorageClass> - The storage class used for persistent storage by the cluster.
- Map<String>
- A map of tags assigned to the EKS cluster.
- vpc
Cni eks:VpcCni Addon - The VPC CNI for the cluster.
CoreDnsAddonOptions, CoreDnsAddonOptionsArgs
- Configuration
Values Dictionary<string, object> - Custom configuration values for the coredns addon. This object must match the schema derived from describe-addon-configuration.
- Enabled bool
Whether or not to create the
coredns
Addon in the clusterThe managed addon can only be enabled if the cluster is a Fargate cluster or if the cluster uses the default node group, otherwise the self-managed addon is used.
- Resolve
Conflicts Pulumi.On Create Eks. Resolve Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - Resolve
Conflicts Pulumi.On Update Eks. Resolve Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - Version string
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- Configuration
Values map[string]interface{} - Custom configuration values for the coredns addon. This object must match the schema derived from describe-addon-configuration.
- Enabled bool
Whether or not to create the
coredns
Addon in the clusterThe managed addon can only be enabled if the cluster is a Fargate cluster or if the cluster uses the default node group, otherwise the self-managed addon is used.
- Resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - Resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - Version string
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values Map<String,Object> - Custom configuration values for the coredns addon. This object must match the schema derived from describe-addon-configuration.
- enabled Boolean
Whether or not to create the
coredns
Addon in the clusterThe managed addon can only be enabled if the cluster is a Fargate cluster or if the cluster uses the default node group, otherwise the self-managed addon is used.
- resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version String
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values {[key: string]: any} - Custom configuration values for the coredns addon. This object must match the schema derived from describe-addon-configuration.
- enabled boolean
Whether or not to create the
coredns
Addon in the clusterThe managed addon can only be enabled if the cluster is a Fargate cluster or if the cluster uses the default node group, otherwise the self-managed addon is used.
- resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version string
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration_
values Mapping[str, Any] - Custom configuration values for the coredns addon. This object must match the schema derived from describe-addon-configuration.
- enabled bool
Whether or not to create the
coredns
Addon in the clusterThe managed addon can only be enabled if the cluster is a Fargate cluster or if the cluster uses the default node group, otherwise the self-managed addon is used.
- resolve_
conflicts_ Resolveon_ create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve_
conflicts_ Resolveon_ update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version str
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values Map<Any> - Custom configuration values for the coredns addon. This object must match the schema derived from describe-addon-configuration.
- enabled Boolean
Whether or not to create the
coredns
Addon in the clusterThe managed addon can only be enabled if the cluster is a Fargate cluster or if the cluster uses the default node group, otherwise the self-managed addon is used.
- resolve
Conflicts "NONE" | "OVERWRITE"On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts "NONE" | "OVERWRITE" | "PRESERVE"On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version String
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
CreationRoleProvider, CreationRoleProviderArgs
- Provider
Pulumi.
Aws. Provider - This type is defined in the pulumi package.
- Role
Pulumi.
Aws. Iam. Role - This type is defined in the AWS Classic package.
- Provider Provider
- This type is defined in the pulumi package.
- Role Role
- This type is defined in the AWS Classic package.
- provider Provider
- This type is defined in the pulumi package.
- role Role
- This type is defined in the AWS Classic package.
- provider
pulumi
Aws Provider - This type is defined in the pulumi package.
- role
pulumi
Awsiam Role - This type is defined in the AWS Classic package.
- provider
pulumi_
aws. Provider - This type is defined in the pulumi package.
- role
pulumi_
aws.iam. Role - This type is defined in the AWS Classic package.
- provider pulumi:providers:aws
- This type is defined in the pulumi package.
- role aws:iam:Role
- This type is defined in the AWS Classic package.
FargateProfile, FargateProfileArgs
- Pod
Execution stringRole Arn - Specify a custom role to use for executing pods in Fargate. Defaults to creating a new role with the
arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy
policy attached. - Selectors
List<Pulumi.
Aws. Eks. Inputs. Fargate Profile Selector> - Specify the namespace and label selectors to use for launching pods into Fargate.
- Subnet
Ids List<string> - Specify the subnets in which to execute Fargate tasks for pods. Defaults to the private subnets associated with the cluster.
- Pod
Execution stringRole Arn - Specify a custom role to use for executing pods in Fargate. Defaults to creating a new role with the
arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy
policy attached. - Selectors
Fargate
Profile Selector - Specify the namespace and label selectors to use for launching pods into Fargate.
- Subnet
Ids []string - Specify the subnets in which to execute Fargate tasks for pods. Defaults to the private subnets associated with the cluster.
- pod
Execution StringRole Arn - Specify a custom role to use for executing pods in Fargate. Defaults to creating a new role with the
arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy
policy attached. - selectors
List<Fargate
Profile Selector> - Specify the namespace and label selectors to use for launching pods into Fargate.
- subnet
Ids List<String> - Specify the subnets in which to execute Fargate tasks for pods. Defaults to the private subnets associated with the cluster.
- pod
Execution stringRole Arn - Specify a custom role to use for executing pods in Fargate. Defaults to creating a new role with the
arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy
policy attached. - selectors
pulumi
Awstypesinputeks Fargate Profile Selector[] - Specify the namespace and label selectors to use for launching pods into Fargate.
- subnet
Ids string[] - Specify the subnets in which to execute Fargate tasks for pods. Defaults to the private subnets associated with the cluster.
- pod_
execution_ strrole_ arn - Specify a custom role to use for executing pods in Fargate. Defaults to creating a new role with the
arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy
policy attached. - selectors
Sequence[pulumi_
aws.eks. Fargate Profile Selector Args] - Specify the namespace and label selectors to use for launching pods into Fargate.
- subnet_
ids Sequence[str] - Specify the subnets in which to execute Fargate tasks for pods. Defaults to the private subnets associated with the cluster.
- pod
Execution StringRole Arn - Specify a custom role to use for executing pods in Fargate. Defaults to creating a new role with the
arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy
policy attached. - selectors List<Property Map>
- Specify the namespace and label selectors to use for launching pods into Fargate.
- subnet
Ids List<String> - Specify the subnets in which to execute Fargate tasks for pods. Defaults to the private subnets associated with the cluster.
KubeProxyAddonOptions, KubeProxyAddonOptionsArgs
- Configuration
Values Dictionary<string, object> - Custom configuration values for the kube-proxy addon. This object must match the schema derived from describe-addon-configuration.
- Enabled bool
- Whether or not to create the
kube-proxy
Addon in the cluster - Resolve
Conflicts Pulumi.On Create Eks. Resolve Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - Resolve
Conflicts Pulumi.On Update Eks. Resolve Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - Version string
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- Configuration
Values map[string]interface{} - Custom configuration values for the kube-proxy addon. This object must match the schema derived from describe-addon-configuration.
- Enabled bool
- Whether or not to create the
kube-proxy
Addon in the cluster - Resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - Resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - Version string
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values Map<String,Object> - Custom configuration values for the kube-proxy addon. This object must match the schema derived from describe-addon-configuration.
- enabled Boolean
- Whether or not to create the
kube-proxy
Addon in the cluster - resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version String
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values {[key: string]: any} - Custom configuration values for the kube-proxy addon. This object must match the schema derived from describe-addon-configuration.
- enabled boolean
- Whether or not to create the
kube-proxy
Addon in the cluster - resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version string
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration_
values Mapping[str, Any] - Custom configuration values for the kube-proxy addon. This object must match the schema derived from describe-addon-configuration.
- enabled bool
- Whether or not to create the
kube-proxy
Addon in the cluster - resolve_
conflicts_ Resolveon_ create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve_
conflicts_ Resolveon_ update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version str
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values Map<Any> - Custom configuration values for the kube-proxy addon. This object must match the schema derived from describe-addon-configuration.
- enabled Boolean
- Whether or not to create the
kube-proxy
Addon in the cluster - resolve
Conflicts "NONE" | "OVERWRITE"On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts "NONE" | "OVERWRITE" | "PRESERVE"On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - version String
- The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
KubeconfigOptions, KubeconfigOptionsArgs
- Profile
Name string AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- Role
Arn string Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- Profile
Name string AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- Role
Arn string Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile
Name String AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role
Arn String Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile
Name string AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role
Arn string Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile_
name str AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role_
arn str Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
- profile
Name String AWS credential profile name to always use instead of the default AWS credential provider chain.
The profile is passed to kubeconfig as an authentication environment setting.
- role
Arn String Role ARN to assume instead of the default AWS credential provider chain.
The role is passed to kubeconfig as an authentication exec argument.
NodeGroupData, NodeGroupDataArgs
- Auto
Scaling Pulumi.Group Aws. Auto Scaling. Group - The AutoScalingGroup for the node group. This type is defined in the AWS Classic package.
- Extra
Node List<Pulumi.Security Groups Aws. Ec2. Security Group> - The additional security groups for the node group that captures user-specific rules.
- Node
Security Pulumi.Group Aws. Ec2. Security Group - The security group for the node group to communicate with the cluster. This type is defined in the AWS Classic package.
- Auto
Scaling GroupGroup - The AutoScalingGroup for the node group. This type is defined in the AWS Classic package.
- Extra
Node SecuritySecurity Groups Group - The additional security groups for the node group that captures user-specific rules.
- Node
Security SecurityGroup Group - The security group for the node group to communicate with the cluster. This type is defined in the AWS Classic package.
- auto
Scaling GroupGroup - The AutoScalingGroup for the node group. This type is defined in the AWS Classic package.
- extra
Node List<SecuritySecurity Groups Group> - The additional security groups for the node group that captures user-specific rules.
- node
Security SecurityGroup Group - The security group for the node group to communicate with the cluster. This type is defined in the AWS Classic package.
- auto
Scaling pulumiGroup Awsautoscaling Group - The AutoScalingGroup for the node group. This type is defined in the AWS Classic package.
- extra
Node pulumiSecurity Groups Awsec2Security Group[] - The additional security groups for the node group that captures user-specific rules.
- node
Security pulumiGroup Awsec2Security Group - The security group for the node group to communicate with the cluster. This type is defined in the AWS Classic package.
- auto_
scaling_ pulumi_group aws.autoscaling. Group - The AutoScalingGroup for the node group. This type is defined in the AWS Classic package.
- extra_
node_ Sequence[pulumi_security_ groups aws.ec2. Security Group] - The additional security groups for the node group that captures user-specific rules.
- node_
security_ pulumi_group aws.ec2. Security Group - The security group for the node group to communicate with the cluster. This type is defined in the AWS Classic package.
- auto
Scaling aws:autoscaling:GroupGroup - The AutoScalingGroup for the node group. This type is defined in the AWS Classic package.
- extra
Node List<aws:ec2:SecuritySecurity Groups Group> - The additional security groups for the node group that captures user-specific rules.
- node
Security aws:ec2:SecurityGroup Group - The security group for the node group to communicate with the cluster. This type is defined in the AWS Classic package.
NodeadmOptions, NodeadmOptionsArgs
- Content string
- The ARN of the access policy to associate with the principal
- Content
Type string - The MIME type of the content. Examples are
text/x-shellscript; charset="us-ascii"
for shell scripts, andapplication/node.eks.aws
nodeadm configuration.
- Content string
- The ARN of the access policy to associate with the principal
- Content
Type string - The MIME type of the content. Examples are
text/x-shellscript; charset="us-ascii"
for shell scripts, andapplication/node.eks.aws
nodeadm configuration.
- content String
- The ARN of the access policy to associate with the principal
- content
Type String - The MIME type of the content. Examples are
text/x-shellscript; charset="us-ascii"
for shell scripts, andapplication/node.eks.aws
nodeadm configuration.
- content string
- The ARN of the access policy to associate with the principal
- content
Type string - The MIME type of the content. Examples are
text/x-shellscript; charset="us-ascii"
for shell scripts, andapplication/node.eks.aws
nodeadm configuration.
- content str
- The ARN of the access policy to associate with the principal
- content_
type str - The MIME type of the content. Examples are
text/x-shellscript; charset="us-ascii"
for shell scripts, andapplication/node.eks.aws
nodeadm configuration.
- content String
- The ARN of the access policy to associate with the principal
- content
Type String - The MIME type of the content. Examples are
text/x-shellscript; charset="us-ascii"
for shell scripts, andapplication/node.eks.aws
nodeadm configuration.
OperatingSystem, OperatingSystemArgs
- AL2
- AL2EKS optimized OS based on Amazon Linux 2 (AL2).
- AL2023
- AL2023EKS optimized OS based on Amazon Linux 2023 (AL2023). See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- Bottlerocket
- BottlerocketEKS optimized Container OS based on Bottlerocket. See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami-bottlerocket.html
- RECOMMENDED
- AL2023
The recommended EKS optimized OS. Currently Amazon Linux 2023 (AL2023). This will be kept up to date with AWS' recommendations for EKS optimized operating systems.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- Operating
System AL2 - AL2EKS optimized OS based on Amazon Linux 2 (AL2).
- Operating
System AL2023 - AL2023EKS optimized OS based on Amazon Linux 2023 (AL2023). See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- Operating
System Bottlerocket - BottlerocketEKS optimized Container OS based on Bottlerocket. See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami-bottlerocket.html
- Operating
System RECOMMENDED - AL2023
The recommended EKS optimized OS. Currently Amazon Linux 2023 (AL2023). This will be kept up to date with AWS' recommendations for EKS optimized operating systems.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- AL2
- AL2EKS optimized OS based on Amazon Linux 2 (AL2).
- AL2023
- AL2023EKS optimized OS based on Amazon Linux 2023 (AL2023). See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- Bottlerocket
- BottlerocketEKS optimized Container OS based on Bottlerocket. See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami-bottlerocket.html
- RECOMMENDED
- AL2023
The recommended EKS optimized OS. Currently Amazon Linux 2023 (AL2023). This will be kept up to date with AWS' recommendations for EKS optimized operating systems.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- AL2
- AL2EKS optimized OS based on Amazon Linux 2 (AL2).
- AL2023
- AL2023EKS optimized OS based on Amazon Linux 2023 (AL2023). See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- Bottlerocket
- BottlerocketEKS optimized Container OS based on Bottlerocket. See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami-bottlerocket.html
- RECOMMENDED
- AL2023
The recommended EKS optimized OS. Currently Amazon Linux 2023 (AL2023). This will be kept up to date with AWS' recommendations for EKS optimized operating systems.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- AL2
- AL2EKS optimized OS based on Amazon Linux 2 (AL2).
- AL2023
- AL2023EKS optimized OS based on Amazon Linux 2023 (AL2023). See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- BOTTLEROCKET
- BottlerocketEKS optimized Container OS based on Bottlerocket. See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami-bottlerocket.html
- RECOMMENDED
- AL2023
The recommended EKS optimized OS. Currently Amazon Linux 2023 (AL2023). This will be kept up to date with AWS' recommendations for EKS optimized operating systems.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- "AL2"
- AL2EKS optimized OS based on Amazon Linux 2 (AL2).
- "AL2023"
- AL2023EKS optimized OS based on Amazon Linux 2023 (AL2023). See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- "Bottlerocket"
- BottlerocketEKS optimized Container OS based on Bottlerocket. See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami-bottlerocket.html
- "AL2023"
- AL2023
The recommended EKS optimized OS. Currently Amazon Linux 2023 (AL2023). This will be kept up to date with AWS' recommendations for EKS optimized operating systems.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
ResolveConflictsOnCreate, ResolveConflictsOnCreateArgs
- None
- NONEIf the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
- Overwrite
- OVERWRITEIf the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
- Resolve
Conflicts On Create None - NONEIf the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
- Resolve
Conflicts On Create Overwrite - OVERWRITEIf the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
- None
- NONEIf the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
- Overwrite
- OVERWRITEIf the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
- None
- NONEIf the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
- Overwrite
- OVERWRITEIf the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
- NONE
- NONEIf the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
- OVERWRITE
- OVERWRITEIf the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
- "NONE"
- NONEIf the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
- "OVERWRITE"
- OVERWRITEIf the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
ResolveConflictsOnUpdate, ResolveConflictsOnUpdateArgs
- None
- NONEAmazon EKS doesn't change the value. The update might fail.
- Overwrite
- OVERWRITEAmazon EKS overwrites the changed value back to the Amazon EKS default value.
- Preserve
- PRESERVEAmazon EKS preserves the value. If you choose this option, we recommend that you test any field and value changes on a non-production cluster before updating the add-on on your production cluster.
- Resolve
Conflicts On Update None - NONEAmazon EKS doesn't change the value. The update might fail.
- Resolve
Conflicts On Update Overwrite - OVERWRITEAmazon EKS overwrites the changed value back to the Amazon EKS default value.
- Resolve
Conflicts On Update Preserve - PRESERVEAmazon EKS preserves the value. If you choose this option, we recommend that you test any field and value changes on a non-production cluster before updating the add-on on your production cluster.
- None
- NONEAmazon EKS doesn't change the value. The update might fail.
- Overwrite
- OVERWRITEAmazon EKS overwrites the changed value back to the Amazon EKS default value.
- Preserve
- PRESERVEAmazon EKS preserves the value. If you choose this option, we recommend that you test any field and value changes on a non-production cluster before updating the add-on on your production cluster.
- None
- NONEAmazon EKS doesn't change the value. The update might fail.
- Overwrite
- OVERWRITEAmazon EKS overwrites the changed value back to the Amazon EKS default value.
- Preserve
- PRESERVEAmazon EKS preserves the value. If you choose this option, we recommend that you test any field and value changes on a non-production cluster before updating the add-on on your production cluster.
- NONE
- NONEAmazon EKS doesn't change the value. The update might fail.
- OVERWRITE
- OVERWRITEAmazon EKS overwrites the changed value back to the Amazon EKS default value.
- PRESERVE
- PRESERVEAmazon EKS preserves the value. If you choose this option, we recommend that you test any field and value changes on a non-production cluster before updating the add-on on your production cluster.
- "NONE"
- NONEAmazon EKS doesn't change the value. The update might fail.
- "OVERWRITE"
- OVERWRITEAmazon EKS overwrites the changed value back to the Amazon EKS default value.
- "PRESERVE"
- PRESERVEAmazon EKS preserves the value. If you choose this option, we recommend that you test any field and value changes on a non-production cluster before updating the add-on on your production cluster.
RoleMapping, RoleMappingArgs
StorageClass, StorageClassArgs
- Type string
- The EBS volume type.
- Allow
Volume boolExpansion - AllowVolumeExpansion shows whether the storage class allow volume expand.
- Default bool
True if this storage class should be a default storage class for the cluster.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.htmlPlease note that at most one storage class can be marked as default. If two or more of them are marked as default, a PersistentVolumeClaim without
storageClassName
explicitly specified cannot be created. See: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass- Encrypted bool
- Denotes whether the EBS volume should be encrypted.
- Iops
Per intGb - I/O operations per second per GiB for "io1" volumes. The AWS volume plugin multiplies this with the size of a requested volume to compute IOPS of the volume and caps the result at 20,000 IOPS.
- Kms
Key stringId - The full Amazon Resource Name of the key to use when encrypting the volume. If none is supplied but encrypted is true, a key is generated by AWS.
- Metadata
Pulumi.
Kubernetes. Types. Inputs. Meta. V1. Object Meta - Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata This type is defined in the Kubernetes package.
- Mount
Options List<string> - Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
- Reclaim
Policy string - Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
- Volume
Binding stringMode - VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
- Zones List<string>
- The AWS zone or zones for the EBS volume. If zones is not specified, volumes are generally round-robin-ed across all active zones where Kubernetes cluster has a node. zone and zones parameters must not be used at the same time.
- Type string
- The EBS volume type.
- Allow
Volume boolExpansion - AllowVolumeExpansion shows whether the storage class allow volume expand.
- Default bool
True if this storage class should be a default storage class for the cluster.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.htmlPlease note that at most one storage class can be marked as default. If two or more of them are marked as default, a PersistentVolumeClaim without
storageClassName
explicitly specified cannot be created. See: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass- Encrypted bool
- Denotes whether the EBS volume should be encrypted.
- Iops
Per intGb - I/O operations per second per GiB for "io1" volumes. The AWS volume plugin multiplies this with the size of a requested volume to compute IOPS of the volume and caps the result at 20,000 IOPS.
- Kms
Key stringId - The full Amazon Resource Name of the key to use when encrypting the volume. If none is supplied but encrypted is true, a key is generated by AWS.
- Metadata
Object
Meta - Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata This type is defined in the Kubernetes package.
- Mount
Options []string - Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
- Reclaim
Policy string - Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
- Volume
Binding stringMode - VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
- Zones []string
- The AWS zone or zones for the EBS volume. If zones is not specified, volumes are generally round-robin-ed across all active zones where Kubernetes cluster has a node. zone and zones parameters must not be used at the same time.
- type String
- The EBS volume type.
- allow
Volume BooleanExpansion - AllowVolumeExpansion shows whether the storage class allow volume expand.
- default_ Boolean
True if this storage class should be a default storage class for the cluster.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.htmlPlease note that at most one storage class can be marked as default. If two or more of them are marked as default, a PersistentVolumeClaim without
storageClassName
explicitly specified cannot be created. See: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass- encrypted Boolean
- Denotes whether the EBS volume should be encrypted.
- iops
Per IntegerGb - I/O operations per second per GiB for "io1" volumes. The AWS volume plugin multiplies this with the size of a requested volume to compute IOPS of the volume and caps the result at 20,000 IOPS.
- kms
Key StringId - The full Amazon Resource Name of the key to use when encrypting the volume. If none is supplied but encrypted is true, a key is generated by AWS.
- metadata
Object
Meta - Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata This type is defined in the Kubernetes package.
- mount
Options List<String> - Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
- reclaim
Policy String - Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
- volume
Binding StringMode - VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
- zones List<String>
- The AWS zone or zones for the EBS volume. If zones is not specified, volumes are generally round-robin-ed across all active zones where Kubernetes cluster has a node. zone and zones parameters must not be used at the same time.
- type string
- The EBS volume type.
- allow
Volume booleanExpansion - AllowVolumeExpansion shows whether the storage class allow volume expand.
- default boolean
True if this storage class should be a default storage class for the cluster.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.htmlPlease note that at most one storage class can be marked as default. If two or more of them are marked as default, a PersistentVolumeClaim without
storageClassName
explicitly specified cannot be created. See: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass- encrypted boolean
- Denotes whether the EBS volume should be encrypted.
- iops
Per numberGb - I/O operations per second per GiB for "io1" volumes. The AWS volume plugin multiplies this with the size of a requested volume to compute IOPS of the volume and caps the result at 20,000 IOPS.
- kms
Key stringId - The full Amazon Resource Name of the key to use when encrypting the volume. If none is supplied but encrypted is true, a key is generated by AWS.
- metadata
pulumi
Kubernetestypesinputmetav1Object Meta - Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata This type is defined in the Kubernetes package.
- mount
Options string[] - Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
- reclaim
Policy string - Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
- volume
Binding stringMode - VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
- zones string[]
- The AWS zone or zones for the EBS volume. If zones is not specified, volumes are generally round-robin-ed across all active zones where Kubernetes cluster has a node. zone and zones parameters must not be used at the same time.
- type str
- The EBS volume type.
- allow_
volume_ boolexpansion - AllowVolumeExpansion shows whether the storage class allow volume expand.
- default bool
True if this storage class should be a default storage class for the cluster.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.htmlPlease note that at most one storage class can be marked as default. If two or more of them are marked as default, a PersistentVolumeClaim without
storageClassName
explicitly specified cannot be created. See: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass- encrypted bool
- Denotes whether the EBS volume should be encrypted.
- iops_
per_ intgb - I/O operations per second per GiB for "io1" volumes. The AWS volume plugin multiplies this with the size of a requested volume to compute IOPS of the volume and caps the result at 20,000 IOPS.
- kms_
key_ strid - The full Amazon Resource Name of the key to use when encrypting the volume. If none is supplied but encrypted is true, a key is generated by AWS.
- metadata
pulumi_
kubernetes.meta.v1. Object Meta Args - Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata This type is defined in the Kubernetes package.
- mount_
options Sequence[str] - Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
- reclaim_
policy str - Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
- volume_
binding_ strmode - VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
- zones Sequence[str]
- The AWS zone or zones for the EBS volume. If zones is not specified, volumes are generally round-robin-ed across all active zones where Kubernetes cluster has a node. zone and zones parameters must not be used at the same time.
- type String
- The EBS volume type.
- allow
Volume BooleanExpansion - AllowVolumeExpansion shows whether the storage class allow volume expand.
- default Boolean
True if this storage class should be a default storage class for the cluster.
Note: As of Kubernetes v1.11+ on EKS, a default
gp2
storage class will always be created automatically for the cluster by the EKS service. See https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.htmlPlease note that at most one storage class can be marked as default. If two or more of them are marked as default, a PersistentVolumeClaim without
storageClassName
explicitly specified cannot be created. See: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/#changing-the-default-storageclass- encrypted Boolean
- Denotes whether the EBS volume should be encrypted.
- iops
Per NumberGb - I/O operations per second per GiB for "io1" volumes. The AWS volume plugin multiplies this with the size of a requested volume to compute IOPS of the volume and caps the result at 20,000 IOPS.
- kms
Key StringId - The full Amazon Resource Name of the key to use when encrypting the volume. If none is supplied but encrypted is true, a key is generated by AWS.
- metadata Property Map
- Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata This type is defined in the Kubernetes package.
- mount
Options List<String> - Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
- reclaim
Policy String - Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.
- volume
Binding StringMode - VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature.
- zones List<String>
- The AWS zone or zones for the EBS volume. If zones is not specified, volumes are generally round-robin-ed across all active zones where Kubernetes cluster has a node. zone and zones parameters must not be used at the same time.
Taint, TaintArgs
UserMapping, UserMappingArgs
VpcCniOptions, VpcCniOptionsArgs
- Addon
Version string - The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
- Cni
Configure boolRpfilter - Specifies whether ipamd should configure rp filter for primary interface. Default is
false
. - Cni
Custom boolNetwork Cfg - Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is
false
- Cni
External boolSnat - Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is
false
- Configuration
Values Dictionary<string, object> - Custom configuration values for the vpc-cni addon. This object must match the schema derived from describe-addon-configuration.
- Custom
Network boolConfig Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's
resourcesVpcConfig
.Defaults to false.
- Disable
Tcp boolEarly Demux - Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
- Enable
Network boolPolicy Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
See for more information: Kubernetes Network Policies.
- Enable
Pod boolEni - Specifies whether to allow IPAMD to add the
vpc.amazonaws.com/has-trunk-attached
label to the node if the instance has capacity to attach an additional ENI. Default isfalse
. If using liveness and readiness probes, you will also need to disable TCP early demux. - Enable
Prefix boolDelegation - IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
- Eni
Config stringLabel Def Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
Defaults to the official AWS CNI image in ECR.
- Eni
Mtu int Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
Defaults to 9001.
- External
Snat bool Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
Defaults to false.
- Log
File string Specifies the file path used for logs.
Defaults to "stdout" to emit Pod logs for
kubectl logs
.- Log
Level string Specifies the log level used for logs.
Defaults to "DEBUG" Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
- Node
Port boolSupport Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
Defaults to true.
- Resolve
Conflicts Pulumi.On Create Eks. Resolve Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - Resolve
Conflicts Pulumi.On Update Eks. Resolve Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - Security
Context boolPrivileged - Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
- Service
Account stringRole Arn The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.
Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in the Amazon EKS User Guide.
- Veth
Prefix string Specifies the veth prefix used to generate the host-side veth device name for the CNI.
The prefix can be at most 4 characters long.
Defaults to "eni".
- Warm
Eni intTarget Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
Defaults to 1.
- Warm
Ip intTarget - Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
- Warm
Prefix intTarget - WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
- Addon
Version string - The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
- Cni
Configure boolRpfilter - Specifies whether ipamd should configure rp filter for primary interface. Default is
false
. - Cni
Custom boolNetwork Cfg - Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is
false
- Cni
External boolSnat - Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is
false
- Configuration
Values map[string]interface{} - Custom configuration values for the vpc-cni addon. This object must match the schema derived from describe-addon-configuration.
- Custom
Network boolConfig Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's
resourcesVpcConfig
.Defaults to false.
- Disable
Tcp boolEarly Demux - Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
- Enable
Network boolPolicy Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
See for more information: Kubernetes Network Policies.
- Enable
Pod boolEni - Specifies whether to allow IPAMD to add the
vpc.amazonaws.com/has-trunk-attached
label to the node if the instance has capacity to attach an additional ENI. Default isfalse
. If using liveness and readiness probes, you will also need to disable TCP early demux. - Enable
Prefix boolDelegation - IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
- Eni
Config stringLabel Def Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
Defaults to the official AWS CNI image in ECR.
- Eni
Mtu int Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
Defaults to 9001.
- External
Snat bool Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
Defaults to false.
- Log
File string Specifies the file path used for logs.
Defaults to "stdout" to emit Pod logs for
kubectl logs
.- Log
Level string Specifies the log level used for logs.
Defaults to "DEBUG" Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
- Node
Port boolSupport Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
Defaults to true.
- Resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - Resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - Security
Context boolPrivileged - Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
- Service
Account stringRole Arn The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.
Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in the Amazon EKS User Guide.
- Veth
Prefix string Specifies the veth prefix used to generate the host-side veth device name for the CNI.
The prefix can be at most 4 characters long.
Defaults to "eni".
- Warm
Eni intTarget Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
Defaults to 1.
- Warm
Ip intTarget - Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
- Warm
Prefix intTarget - WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
- addon
Version String - The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
- cni
Configure BooleanRpfilter - Specifies whether ipamd should configure rp filter for primary interface. Default is
false
. - cni
Custom BooleanNetwork Cfg - Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is
false
- cni
External BooleanSnat - Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is
false
- configuration
Values Map<String,Object> - Custom configuration values for the vpc-cni addon. This object must match the schema derived from describe-addon-configuration.
- custom
Network BooleanConfig Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's
resourcesVpcConfig
.Defaults to false.
- disable
Tcp BooleanEarly Demux - Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
- enable
Network BooleanPolicy Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
See for more information: Kubernetes Network Policies.
- enable
Pod BooleanEni - Specifies whether to allow IPAMD to add the
vpc.amazonaws.com/has-trunk-attached
label to the node if the instance has capacity to attach an additional ENI. Default isfalse
. If using liveness and readiness probes, you will also need to disable TCP early demux. - enable
Prefix BooleanDelegation - IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
- eni
Config StringLabel Def Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
Defaults to the official AWS CNI image in ECR.
- eni
Mtu Integer Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
Defaults to 9001.
- external
Snat Boolean Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
Defaults to false.
- log
File String Specifies the file path used for logs.
Defaults to "stdout" to emit Pod logs for
kubectl logs
.- log
Level String Specifies the log level used for logs.
Defaults to "DEBUG" Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
- node
Port BooleanSupport Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
Defaults to true.
- resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - security
Context BooleanPrivileged - Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
- service
Account StringRole Arn The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.
Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in the Amazon EKS User Guide.
- veth
Prefix String Specifies the veth prefix used to generate the host-side veth device name for the CNI.
The prefix can be at most 4 characters long.
Defaults to "eni".
- warm
Eni IntegerTarget Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
Defaults to 1.
- warm
Ip IntegerTarget - Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
- warm
Prefix IntegerTarget - WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
- addon
Version string - The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
- cni
Configure booleanRpfilter - Specifies whether ipamd should configure rp filter for primary interface. Default is
false
. - cni
Custom booleanNetwork Cfg - Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is
false
- cni
External booleanSnat - Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is
false
- configuration
Values {[key: string]: any} - Custom configuration values for the vpc-cni addon. This object must match the schema derived from describe-addon-configuration.
- custom
Network booleanConfig Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's
resourcesVpcConfig
.Defaults to false.
- disable
Tcp booleanEarly Demux - Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
- enable
Network booleanPolicy Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
See for more information: Kubernetes Network Policies.
- enable
Pod booleanEni - Specifies whether to allow IPAMD to add the
vpc.amazonaws.com/has-trunk-attached
label to the node if the instance has capacity to attach an additional ENI. Default isfalse
. If using liveness and readiness probes, you will also need to disable TCP early demux. - enable
Prefix booleanDelegation - IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
- eni
Config stringLabel Def Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
Defaults to the official AWS CNI image in ECR.
- eni
Mtu number Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
Defaults to 9001.
- external
Snat boolean Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
Defaults to false.
- log
File string Specifies the file path used for logs.
Defaults to "stdout" to emit Pod logs for
kubectl logs
.- log
Level string Specifies the log level used for logs.
Defaults to "DEBUG" Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
- node
Port booleanSupport Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
Defaults to true.
- resolve
Conflicts ResolveOn Create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts ResolveOn Update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - security
Context booleanPrivileged - Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
- service
Account stringRole Arn The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.
Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in the Amazon EKS User Guide.
- veth
Prefix string Specifies the veth prefix used to generate the host-side veth device name for the CNI.
The prefix can be at most 4 characters long.
Defaults to "eni".
- warm
Eni numberTarget Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
Defaults to 1.
- warm
Ip numberTarget - Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
- warm
Prefix numberTarget - WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
- addon_
version str - The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
- cni_
configure_ boolrpfilter - Specifies whether ipamd should configure rp filter for primary interface. Default is
false
. - cni_
custom_ boolnetwork_ cfg - Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is
false
- cni_
external_ boolsnat - Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is
false
- configuration_
values Mapping[str, Any] - Custom configuration values for the vpc-cni addon. This object must match the schema derived from describe-addon-configuration.
- custom_
network_ boolconfig Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's
resourcesVpcConfig
.Defaults to false.
- disable_
tcp_ boolearly_ demux - Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
- enable_
network_ boolpolicy Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
See for more information: Kubernetes Network Policies.
- enable_
pod_ booleni - Specifies whether to allow IPAMD to add the
vpc.amazonaws.com/has-trunk-attached
label to the node if the instance has capacity to attach an additional ENI. Default isfalse
. If using liveness and readiness probes, you will also need to disable TCP early demux. - enable_
prefix_ booldelegation - IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
- eni_
config_ strlabel_ def Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
Defaults to the official AWS CNI image in ECR.
- eni_
mtu int Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
Defaults to 9001.
- external_
snat bool Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
Defaults to false.
- log_
file str Specifies the file path used for logs.
Defaults to "stdout" to emit Pod logs for
kubectl logs
.- log_
level str Specifies the log level used for logs.
Defaults to "DEBUG" Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
- node_
port_ boolsupport Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
Defaults to true.
- resolve_
conflicts_ Resolveon_ create Conflicts On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve_
conflicts_ Resolveon_ update Conflicts On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - security_
context_ boolprivileged - Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
- service_
account_ strrole_ arn The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.
Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in the Amazon EKS User Guide.
- veth_
prefix str Specifies the veth prefix used to generate the host-side veth device name for the CNI.
The prefix can be at most 4 characters long.
Defaults to "eni".
- warm_
eni_ inttarget Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
Defaults to 1.
- warm_
ip_ inttarget - Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
- warm_
prefix_ inttarget - WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
- addon
Version String - The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
- cni
Configure BooleanRpfilter - Specifies whether ipamd should configure rp filter for primary interface. Default is
false
. - cni
Custom BooleanNetwork Cfg - Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is
false
- cni
External BooleanSnat - Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is
false
- configuration
Values Map<Any> - Custom configuration values for the vpc-cni addon. This object must match the schema derived from describe-addon-configuration.
- custom
Network BooleanConfig Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's
resourcesVpcConfig
.Defaults to false.
- disable
Tcp BooleanEarly Demux - Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
- enable
Network BooleanPolicy Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
See for more information: Kubernetes Network Policies.
- enable
Pod BooleanEni - Specifies whether to allow IPAMD to add the
vpc.amazonaws.com/has-trunk-attached
label to the node if the instance has capacity to attach an additional ENI. Default isfalse
. If using liveness and readiness probes, you will also need to disable TCP early demux. - enable
Prefix BooleanDelegation - IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
- eni
Config StringLabel Def Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
Defaults to the official AWS CNI image in ECR.
- eni
Mtu Number Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
Defaults to 9001.
- external
Snat Boolean Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
Defaults to false.
- log
File String Specifies the file path used for logs.
Defaults to "stdout" to emit Pod logs for
kubectl logs
.- log
Level String Specifies the log level used for logs.
Defaults to "DEBUG" Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
- node
Port BooleanSupport Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
Defaults to true.
- resolve
Conflicts "NONE" | "OVERWRITE"On Create - How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are
NONE
andOVERWRITE
. For more details see the CreateAddon API Docs. - resolve
Conflicts "NONE" | "OVERWRITE" | "PRESERVE"On Update - How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are
NONE
,OVERWRITE
, andPRESERVE
. For more details see the UpdateAddon API Docs. - security
Context BooleanPrivileged - Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
- service
Account StringRole Arn The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.
Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in the Amazon EKS User Guide.
- veth
Prefix String Specifies the veth prefix used to generate the host-side veth device name for the CNI.
The prefix can be at most 4 characters long.
Defaults to "eni".
- warm
Eni NumberTarget Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
Defaults to 1.
- warm
Ip NumberTarget - Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
- warm
Prefix NumberTarget - WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
Package Details
- Repository
- Amazon EKS pulumi/pulumi-eks
- License
- Apache-2.0