## kops toolbox instance-selector Generate instance-group specs by providing resource specs such as vcpus and memory. ### Synopsis Generate AWS EC2 instance groups by providing resource specs, such as vcpus and memory, rather than instance types. ``` kops toolbox instance-selector INSTANCE_GROUP [flags] ``` ### Examples ``` ## Create a spot instance group using a MixInstancesPolicy and Capacity-Optimized spot allocation strategy. ## --flexible defaults to a 1:2 vcpus to memory ratio and 4 vcpus. kops toolbox instance-selector my-spot-mig --usage-class spot --flexible ## Create an on-demand instance group with custom vcpu and memory range filters. kops toolbox instance-selector ondemand-ig --vcpus-min=2 --vcpus-max=4 --memory-min 2gb --memory-max 4gb ``` ### Options ``` --allow-list string List of allowed instance types to select from w/ regex syntax (Example: m[3-5]\.*) --base-instance-type string Base instance type to retrieve similarly specified instance types --burst-support Burstable instance types --cluster-autoscaler Add auto-discovery tags for cluster-autoscaler to manage the instance-group (default true) --cpu-architecture string CPU architecture [amd64, arm64] (default "amd64") --deny-list string List of instance types which should be excluded w/ regex syntax (Example: m[1-2]\.*) --dry-run Only print the object that would be created, without creating it. This flag can be used to create a cluster YAML or JSON manifest. --ena-support Instance types where ENA is supported or required --flexible Retrieve a group of instance types spanning multiple generations based on opinionated defaults and user overridden resource filters --gpu-memory string GPUs' total memory (Example: 4gb) (sets --gpu-memory-min and -max to the same value) --gpu-memory-max string Maximum GPUs' total memory (Example: 4gb) If --gpu-memory-min is not specified, the lower bound will be 0 --gpu-memory-min string Minimum GPUs' total memory (Example: 4gb) If --gpu-memory-max is not specified, the upper bound will be infinity --gpus int Number of GPUs (Example: 4) (sets --gpus-min and -max to the same value) --gpus-max int Maximum Number of GPUs (Example: 4) If --gpus-min is not specified, the lower bound will be 0 --gpus-min int Minimum Number of GPUs (Example: 4) If --gpus-max is not specified, the upper bound will be infinity -h, --help help for instance-selector --ig-count int Number of instance groups to create with different vcpus-to-memory ratios, starting at 1:2 and doubling --max-results int Maximum number of instance types to return back (default 20) --memory string Amount of memory available (Example: 4gb) (sets --memory-min and -max to the same value) --memory-max string Maximum Amount of memory available (Example: 4gb) If --memory-min is not specified, the lower bound will be 0 --memory-min string Minimum Amount of memory available (Example: 4gb) If --memory-max is not specified, the upper bound will be infinity --network-interfaces int Number of network interfaces (ENIs) that can be attached to the instance (sets --network-interfaces-min and -max to the same value) --network-interfaces-max int Maximum Number of network interfaces (ENIs) that can be attached to the instance If --network-interfaces-min is not specified, the lower bound will be 0 --network-interfaces-min int Minimum Number of network interfaces (ENIs) that can be attached to the instance If --network-interfaces-max is not specified, the upper bound will be infinity --node-count-max int Maximum number of nodes (default 10) --node-count-min int Minimum number of nodes (default 1) --node-security-groups strings Pre-created additional security groups for nodes --node-volume-size int Instance volume size (in GiB) for nodes -o, --output string Output format. One of json or yaml. Used with the --dry-run flag. (default "yaml") --placement-group-strategy string Placement group strategy: [cluster, partition, spread] --subnets strings Subnet(s) in which to create the instance group. One of Availability Zone like eu-west-1a or utility-eu-west-1a, --usage-class string Usage class: [spot, on-demand] (default "on-demand") --vcpus int Number of vcpus available to the instance type (sets --vcpus-min and -max to the same value) --vcpus-max int Maximum Number of vcpus available to the instance type If --vcpus-min is not specified, the lower bound will be 0 --vcpus-min int Minimum Number of vcpus available to the instance type If --vcpus-max is not specified, the upper bound will be infinity --vcpus-to-memory-ratio string Ratio of vcpus to memory in MiB. (Example: 1:2) ``` ### Options inherited from parent commands ``` --config string yaml config file (default is $HOME/.kops.yaml) --name string Name of cluster. Overrides KOPS_CLUSTER_NAME environment variable --state string Location of state storage (kops 'config' file). Overrides KOPS_STATE_STORE environment variable -v, --v Level number for the log level verbosity ``` ### SEE ALSO * [kops toolbox](kops_toolbox.md) - Miscellaneous, experimental, or infrequently used commands.