Kops toolbox instance selector

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.

  1. kops toolbox instance-selector INSTANCE_GROUP [flags]

Examples

  1. ## Create a spot instance group using a MixInstancesPolicy and Capacity-Optimized spot allocation strategy.
  2. ## --flexible defaults to a 1:2 vcpus to memory ratio and 4 vcpus.
  3. kops toolbox instance-selector my-spot-mig --usage-class spot --flexible
  4. ## Create an on-demand instance group with custom vcpu and memory range filters.
  5. kops toolbox instance-selector ondemand-ig --vcpus-min=2 --vcpus-max=4 --memory-min 2gb --memory-max 4gb

Options

  1. --allow-list string List of allowed instance types to select from w/ regex syntax (Example: m[3-5]\.*)
  2. --base-instance-type string Base instance type to retrieve similarly specified instance types
  3. --burst-support Burstable instance types
  4. --cluster-autoscaler Add auto-discovery tags for cluster-autoscaler to manage the instance-group (default true)
  5. --cpu-architecture string CPU architecture [amd64, arm64] (default "amd64")
  6. --deny-list string List of instance types which should be excluded w/ regex syntax (Example: m[1-2]\.*)
  7. --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.
  8. --ena-support Instance types where ENA is supported or required
  9. --flexible Retrieve a group of instance types spanning multiple generations based on opinionated defaults and user overridden resource filters
  10. --gpu-memory string GPUs' total memory (Example: 4gb) (sets --gpu-memory-min and -max to the same value)
  11. --gpu-memory-max string Maximum GPUs' total memory (Example: 4gb) If --gpu-memory-min is not specified, the lower bound will be 0
  12. --gpu-memory-min string Minimum GPUs' total memory (Example: 4gb) If --gpu-memory-max is not specified, the upper bound will be infinity
  13. --gpus int Number of GPUs (Example: 4) (sets --gpus-min and -max to the same value)
  14. --gpus-max int Maximum Number of GPUs (Example: 4) If --gpus-min is not specified, the lower bound will be 0
  15. --gpus-min int Minimum Number of GPUs (Example: 4) If --gpus-max is not specified, the upper bound will be infinity
  16. -h, --help help for instance-selector
  17. --ig-count int Number of instance groups to create with different vcpus-to-memory ratios, starting at 1:2 and doubling
  18. --max-results int Maximum number of instance types to return back (default 20)
  19. --memory string Amount of memory available (Example: 4gb) (sets --memory-min and -max to the same value)
  20. --memory-max string Maximum Amount of memory available (Example: 4gb) If --memory-min is not specified, the lower bound will be 0
  21. --memory-min string Minimum Amount of memory available (Example: 4gb) If --memory-max is not specified, the upper bound will be infinity
  22. --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)
  23. --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
  24. --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
  25. --node-count-max int Maximum number of nodes (default 10)
  26. --node-count-min int Minimum number of nodes (default 1)
  27. --node-security-groups strings Pre-created additional security groups for nodes
  28. --node-volume-size int Instance volume size (in GiB) for nodes
  29. -o, --output string Output format. One of json or yaml. Used with the --dry-run flag. (default "yaml")
  30. --placement-group-strategy string Placement group strategy: [cluster, partition, spread]
  31. --subnets strings Subnet(s) in which to create the instance group. One of Availability Zone like eu-west-1a or utility-eu-west-1a,
  32. --usage-class string Usage class: [spot, on-demand] (default "on-demand")
  33. --vcpus int Number of vcpus available to the instance type (sets --vcpus-min and -max to the same value)
  34. --vcpus-max int Maximum Number of vcpus available to the instance type If --vcpus-min is not specified, the lower bound will be 0
  35. --vcpus-min int Minimum Number of vcpus available to the instance type If --vcpus-max is not specified, the upper bound will be infinity
  36. --vcpus-to-memory-ratio string Ratio of vcpus to memory in MiB. (Example: 1:2)

Options inherited from parent commands

  1. --add_dir_header If true, adds the file directory to the header of the log messages
  2. --alsologtostderr log to standard error as well as files
  3. --config string yaml config file (default is $HOME/.kops.yaml)
  4. --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
  5. --log_dir string If non-empty, write log files in this directory
  6. --log_file string If non-empty, use this log file
  7. --log_file_max_size uint Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
  8. --logtostderr log to standard error instead of files (default true)
  9. --name string Name of cluster. Overrides KOPS_CLUSTER_NAME environment variable
  10. --one_output If true, only write logs to their native severity level (vs also writing to each lower severity level)
  11. --skip_headers If true, avoid header prefixes in the log messages
  12. --skip_log_headers If true, avoid headers when opening log files
  13. --state string Location of state storage (kops 'config' file). Overrides KOPS_STATE_STORE environment variable
  14. --stderrthreshold severity logs at or above this threshold go to stderr (default 2)
  15. -v, --v Level number for the log level verbosity
  16. --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging

SEE ALSO