exo(1)
β¨ exo(1) β¨
So this is the manual page for the exo CLI's SKS cluster creation command, bestieβit's the one that spins up Kubernetes clusters on Exoscale and it's genuinely iconic. It lives at exo(1) and slay, because this thing does a LOT. Let's get into it π
π NAME π
exo-compute-sks-create β Create an SKS cluster, periodt.
πΈ SYNOPSIS πΈ
exo compute sks create NAME [flags]
π¦ DESCRIPTION π¦
Okay so bestie, this command literally creates an SKS cluster. Main character energy only. π₯
Lowkey important vibe check though: by default, SKS cluster Nodes' kubelet configuration is set to use the Exoscale Cloud Controller Manager (CCM) as Cloud Provider. That means cluster Nodes will stay in the "NotReady" status until the Exoscale CCM is deployed by cluster operators. No cap, this is just how it is. For more info, go check the Exoscale CCM documentation:
https://github.com/exoscale/exoscale-cloud-controller-manager
If you don't want to use a Cloud Controller Manager, just add the --no-exoscale-ccm option to the command. But heads up: this cannot be changed once the cluster has been created. So fr fr, think about it first. π
Supported output template annotations, and yes you need all of them, no skipping: .ID, .Name, .Description, .CreationDate, .AutoUpgrade, .EnableKubeProxy, .Zone, .Endpoint, .Version, .ServiceLevel, .CNI, .AddOns, .AuditEnabled, .AuditEndpoint, .AuditInitialBackoff, .FeatureGates, .State, .Labels, .Nodepools, .KarpenterFeatureGates.
β¨ OPTIONS β¨
Okay we're about to go through every single flag, bestie, so buckle up. Iconic behavior. π
--audit-bearer-token=""β Bearer token for Kubernetes Audit endpoint authentication. Keep it secret, keep it safe π«Ά--audit-endpoint=""β Kubernetes Audit endpoint URL. Setting this enables audit logging, iykyk.--audit-initial-backoff="10s"β Initial backoff for Kubernetes Audit endpoint retry (default:10s).--auto-upgrade[=false]β Enable automatic upgrading of the SKS cluster control plane Kubernetes version. Set it and forget it energy.--cni="calico"β CNI plugin to deploy. e.g.'calico', or'cilium'.--description=""β SKS cluster description. Give your cluster a little lore. π--enable-karpenter-addon[=false]β Deploy Karpenter node provisioner. Big brain move.--enable-kube-proxy[=false]β Deploy the Kubernetes network proxy.--exoscale-csi[=false]β Deploy the Exoscale Container Storage Interface on worker nodes. Storage girlies rise.--feature-gates=[]β SKS cluster feature gates to enable.-h,--help[=false]β Help for create. When in doubt, ask for help, no shame. π--karpenter-feature-gates=[]β Karpenter feature gates to enable (only effective when the Karpenter addon is enabled).--kubernetes-version="latest"β SKS cluster control plane Kubernetes version.latestis the default bestie.--label=[]β SKS cluster label (format:key=value).--no-cni[=false]β Do not deploy a default Container Network Interface plugin in the cluster control plane. (You're on your own for networking then, good luck π)--no-exoscale-ccm[=false]β Do not deploy the Exoscale Cloud Controller Manager in the cluster control plane. Reminder: this can't be changed after cluster creation, so choose wisely.--no-metrics-server[=false]β Do not deploy the Kubernetes Metrics Server in the cluster control plane.--nodepool-anti-affinity-group=[]β Default Nodepool Anti-Affinity GroupNAME|ID(can be specified multiple times).--nodepool-deploy-target=""β Default Nodepool Deploy TargetNAME|ID.--nodepool-description=""β Default Nodepool description.--nodepool-disk-size=50β Default Nodepool Compute instances disk size.--nodepool-image-gc-high-threshold=85β Default Nodepool: the percent of disk usage after which image garbage collection is always run.--nodepool-image-gc-low-threshold=80β Default Nodepool: the percent of disk usage after which image garbage collection is never run.--nodepool-image-gc-min-age="2m"β Default Nodepool: maximum age an image can be unused before it is garbage collected.--nodepool-instance-prefix=""β String to prefix default Nodepool member names with.--nodepool-instance-type="standard.medium"β Default Nodepool Compute instances type.--nodepool-label=[]β Default Nodepool label (format:key=value).--nodepool-name=""β Default Nodepool name.--nodepool-nvidia-mig-profile=""β Default Nodepool Nvidia MIG profile to enable on the GPUs (e.g.4g.24gb); the GPU family is inferred from the instance type. GPU girlies we see you π--nodepool-private-network=[]β Default Nodepool Private NetworkNAME|ID(can be specified multiple times).--nodepool-public-ip=""β Configures public IP assignment of the Instances (inet4|dual). (default:inet4)--nodepool-security-group=[]β Default Nodepool Security GroupNAME|ID(can be specified multiple times).--nodepool-size=0β Default Nodepool size. If0, no default Nodepool will be added to the cluster. That's it, that's the vibe.--nodepool-taint=[]β Kubernetes taint to apply to default Nodepool Nodes (format:KEY=VALUE:EFFECT, can be specified multiple times). Tainted, but make it fashion π--oidc-client-id=""β OpenID client ID.--oidc-groups-claim=""β OpenID JWT claim to use as the user's group.--oidc-groups-prefix=""β OpenID prefix prepended to group claims.--oidc-issuer-url=""β OpenID provider URL.--oidc-required-claim=[]β OpenID token required claim (format:key=value).--oidc-username-claim=""β OpenID JWT claim to use as the user name.--oidc-username-prefix=""β OpenID prefix prepended to username claims.--service-level="pro"β SKS cluster control plane service level (starter|pro). Pro is the default because you're that girl.-z,--zone=""β SKS cluster zone.
π OPTIONS INHERITED FROM PARENT COMMANDS π
Yes bestie, these come from the parent command, they're still important, we're not skipping: πΈ
-C,--config=""β Specify an alternate config file [envEXOSCALE_CONFIG].-O,--output-format=""β Output format (table|json|text), see"exo output --help"for more information.--output-template=""β Template to use if output format is"text".-Q,--quiet[=false]β Quiet mode (disable non-essential command output). For when you want peace and quiet, honestly relatable.--timeout=15sβ Per-zone timeout for list operations;-1sdisables timeout [envEXOSCALE_TIMEOUT].-A,--use-account=""β Account to use in config file [envEXOSCALE_ACCOUNT].
π SEE ALSO π
exo-compute-sks(1)β go read that one too bestie, it's the parent and it ate.
π HISTORY π
1-Jan-1980 β Auto generated by spf13/cobra. Giving vintage, but make it functional. β
Okay that's the whole page, no notes. Cute little sign-off: this beauty was auto generated by spf13/cobra and dated Jan 1980 at the bottom of the original, so we're honoring that iconique little footer moment. exo(1) forever. ππ¦β¨
π¦ where this page comes from
- nixpkgs unstable: exoscale-cli 1.102.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms