# exo compute sks generate-karpenter-manifests
### Description

This command generates the Karpenter manifests for an SKS cluster

It create the code for the Kubernetes resources "ExoscaleNodeClass" and/or
"NodePool" relevant to the given cluster.

Example usage:

    # Generate ExoscaleNodeClass and NodePool resources
    $ exo compute sks generate-karpenter-manifests my-cluster --zone de-fra-1
	---
	apiVersion: karpenter.exoscale.com/v1
	kind: ExoscaleNodeClass
	metadata:
	[...]
	---
	apiVersion: karpenter.sh/v1
	kind: NodePool
	metadata:
  	  name: standard
	[...]

	$ exo compute sks km my-cluster -n
	---
	apiVersion: karpenter.sh/v1
	kind: NodePool
	metadata:
  	  name: standard
	[...]

You can get only the NodePool or the ExoscaleNodeClass resource by using --nodepool (-n)
or --exoscale-nodeclass (-e) respectively.

When no flags are given, both is assumed. It's equivalent to "-en".

The output can be piped to a "kubectl apply -f -" command or written to a file for further
customization.

Notes:

* Refer to Karpenter documentation for more information on the resources NodeClasses [1]
and NodePools [2]

[1]: https://karpenter.sh/docs/concepts/nodeclasses/
[2]: https://karpenter.sh/docs/concepts/nodepools/


```
exo compute sks generate-karpenter-manifests CLUSTER-NAME|ID [flags]
```

### Options

| Option | Description |
|---------|------------|
|`--exoscale-nodeclass, -e` | generate ExoscaleNodeclass resource with important fields pre-filled |
|`--help, -h` | help for generate-karpenter-manifests |
|`--nodepool, -n` | generate a Nodepool manifest to define the scaling policies and constraints for the nodes created by Karpenter |
|`--zone, -z` | SKS cluster zone |


### Options inherited from parent commands

| Option | Description |
|---------|------------|
|`--config, -C` | Specify an alternate config file [env EXOSCALE_CONFIG] |
|`--output-format, -O` | Output format (table\|json\|text), see &#34;exo output --help&#34; for more information |
|`--output-template` | Template to use if output format is &#34;text&#34; |
|`--quiet, -Q` | Quiet mode (disable non-essential command output) |
|`--timeout` | Per-zone timeout for list operations; -1s disables timeout [env EXOSCALE_TIMEOUT] |
|`--use-account, -A` | Account to use in config file [env EXOSCALE_ACCOUNT] |


### Related Commands

* [sks]({{< ref "../sks">}})	 - Scalable Kubernetes Service management


