BootstrapOptions

class aws_cdk.aws_eks.BootstrapOptions(*, additional_args=None, aws_api_retry_attempts=None, dns_cluster_ip=None, docker_config_json=None, enable_docker_bridge=None, kubelet_extra_args=None, use_max_pods=None)

Bases: object

EKS node bootstrapping options.

Parameters:
  • additional_args (Optional[str]) – Additional command line arguments to pass to the /etc/eks/bootstrap.sh command. Default: - none

  • aws_api_retry_attempts (Union[int, float, None]) – Number of retry attempts for AWS API call (DescribeCluster). Default: 3

  • dns_cluster_ip (Optional[str]) – Overrides the IP address to use for DNS queries within the cluster. Default: - 10.100.0.10 or 172.20.0.10 based on the IP address of the primary interface.

  • docker_config_json (Optional[str]) – The contents of the /etc/docker/daemon.json file. Useful if you want a custom config differing from the default one in the EKS AMI. Default: - none

  • enable_docker_bridge (Optional[bool]) – Restores the docker default bridge network. Default: false

  • kubelet_extra_args (Optional[str]) – Extra arguments to add to the kubelet. Useful for adding labels or taints. For example, --node-labels foo=bar,goo=far. Default: - none

  • use_max_pods (Optional[bool]) – Sets --max-pods for the kubelet based on the capacity of the EC2 instance. Default: true

ExampleMetadata:

infused

Example:

# cluster: eks.Cluster

cluster.add_auto_scaling_group_capacity("spot",
    instance_type=ec2.InstanceType("t3.large"),
    min_capacity=2,
    bootstrap_options=eks.BootstrapOptions(
        kubelet_extra_args="--node-labels foo=bar,goo=far",
        aws_api_retry_attempts=5
    )
)

Attributes

additional_args

Additional command line arguments to pass to the /etc/eks/bootstrap.sh command.

Default:
  • none

See:

https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh

aws_api_retry_attempts

Number of retry attempts for AWS API call (DescribeCluster).

Default:

3

dns_cluster_ip

Overrides the IP address to use for DNS queries within the cluster.

Default:

  • 10.100.0.10 or 172.20.0.10 based on the IP

address of the primary interface.

docker_config_json

The contents of the /etc/docker/daemon.json file. Useful if you want a custom config differing from the default one in the EKS AMI.

Default:
  • none

enable_docker_bridge

Restores the docker default bridge network.

Default:

false

kubelet_extra_args

Extra arguments to add to the kubelet. Useful for adding labels or taints.

For example, --node-labels foo=bar,goo=far.

Default:
  • none

use_max_pods

Sets --max-pods for the kubelet based on the capacity of the EC2 instance.

Default:

true