CommonClusterOptions

class aws_cdk.aws_eks.CommonClusterOptions(*, cluster_name=None, output_cluster_name=None, output_config_command=None, role=None, security_group=None, version, vpc=None, vpc_subnets=None)

Bases: object

Options for configuring an EKS cluster.

Parameters
  • cluster_name (Optional[str]) – Name for the cluster. Default: - Automatically generated name

  • output_cluster_name (Optional[bool]) – Determines whether a CloudFormation output with the name of the cluster will be synthesized. Default: false

  • output_config_command (Optional[bool]) – Determines whether a CloudFormation output with the aws eks update-kubeconfig command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true

  • role (Optional[IRole]) – Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Default: - A role is automatically created for you

  • security_group (Optional[ISecurityGroup]) – Security Group to use for Control Plane ENIs. Default: - A security group is automatically created

  • version (KubernetesVersion) – The Kubernetes version to run in the cluster.

  • vpc (Optional[IVpc]) – The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through cluster.vpc.

  • vpc_subnets (Optional[Sequence[SubnetSelection]]) – Where to place EKS Control Plane ENIs. If you want to create public load balancers, this must include public subnets. For example, to only select private subnets, supply the following: vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE }] Default: - All public and private subnets

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_ec2 as ec2
import aws_cdk.aws_eks as eks
import aws_cdk.aws_iam as iam

# kubernetes_version is of type KubernetesVersion
# role is of type Role
# security_group is of type SecurityGroup
# subnet is of type Subnet
# subnet_filter is of type SubnetFilter
# vpc is of type Vpc

common_cluster_options = eks.CommonClusterOptions(
    version=kubernetes_version,

    # the properties below are optional
    cluster_name="clusterName",
    output_cluster_name=False,
    output_config_command=False,
    role=role,
    security_group=security_group,
    vpc=vpc,
    vpc_subnets=[ec2.SubnetSelection(
        availability_zones=["availabilityZones"],
        one_per_az=False,
        subnet_filters=[subnet_filter],
        subnet_group_name="subnetGroupName",
        subnet_name="subnetName",
        subnets=[subnet],
        subnet_type=ec2.SubnetType.ISOLATED
    )]
)

Attributes

cluster_name

Name for the cluster.

Default
  • Automatically generated name

Return type

Optional[str]

output_cluster_name

Determines whether a CloudFormation output with the name of the cluster will be synthesized.

Default

false

Return type

Optional[bool]

output_config_command

Determines whether a CloudFormation output with the aws eks update-kubeconfig command will be synthesized.

This command will include the cluster name and, if applicable, the ARN of the masters IAM role.

Default

true

Return type

Optional[bool]

role

Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

Default
  • A role is automatically created for you

Return type

Optional[IRole]

security_group

Security Group to use for Control Plane ENIs.

Default
  • A security group is automatically created

Return type

Optional[ISecurityGroup]

version

The Kubernetes version to run in the cluster.

Return type

KubernetesVersion

vpc

The VPC in which to create the Cluster.

Default
  • a VPC with default configuration will be created and can be accessed through cluster.vpc.

Return type

Optional[IVpc]

vpc_subnets

Where to place EKS Control Plane ENIs.

If you want to create public load balancers, this must include public subnets.

For example, to only select private subnets, supply the following:

vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE }]

Default
  • All public and private subnets

Return type

Optional[List[SubnetSelection]]