Dry Run
The dry-run feature allows you to inspect and change the instances matched by the instance selector before proceeding to creating a nodegroup.
When eksctl create cluster
is called with the instance selector options and --dry-run
, eksctl will output a
ClusterConfig file containing a nodegroup representing the CLI options and the instance types set to the instances
matched by the instance selector resource criteria.
eksctl create cluster --name development --dry-run apiVersion: eksctl.io/v1alpha5 cloudWatch: clusterLogging: {} iam: vpcResourceControllerPolicy: true withOIDC: false kind: ClusterConfig managedNodeGroups: - amiFamily: AmazonLinux2 desiredCapacity: 2 disableIMDSv1: true disablePodIMDS: false iam: withAddonPolicies: albIngress: false appMesh: false appMeshPreview: false autoScaler: false certManager: false cloudWatch: false ebs: false efs: false externalDNS: false fsx: false imageBuilder: false xRay: false instanceSelector: {} instanceType: m5.large labels: alpha.eksctl.io/cluster-name: development alpha.eksctl.io/nodegroup-name: ng-4aba8a47 maxSize: 2 minSize: 2 name: ng-4aba8a47 privateNetworking: false securityGroups: withLocal: null withShared: null ssh: allow: false enableSsm: false publicKeyPath: "" tags: alpha.eksctl.io/nodegroup-name: ng-4aba8a47 alpha.eksctl.io/nodegroup-type: managed volumeIOPS: 3000 volumeSize: 80 volumeThroughput: 125 volumeType: gp3 metadata: name: development region: us-west-2 version: "1.24" privateCluster: enabled: false vpc: autoAllocateIPv6: false cidr: 192.168.0.0/16 clusterEndpoints: privateAccess: false publicAccess: true manageSharedNodeSecurityGroupRules: true nat: gateway: Single
The generated ClusterConfig can then be passed to eksctl create cluster
:
eksctl create cluster -f generated-cluster.yaml
When a ClusterConfig file is passed with --dry-run
, eksctl will output a ClusterConfig file containing the values set in the file.
One-off Options in eksctl
There are certain one-off options that cannot be represented in the ClusterConfig
file, e.g., --install-vpc-controllers
.
It is expected that:
eksctl create cluster --<options...> --dry-run > config.yaml
followed by:
eksctl create cluster -f config.yaml
would be equivalent to running the first command without --dry-run
.
eksctl therefore disallows passing options that cannot be represented in the config file when --dry-run
is passed.
Important
If you need to pass an AWS profile, set the AWS_PROFILE
environment variable, instead of passing the --profile
CLI option.