spot-by-netapp/crossplane-provider-spot@v0.5.0
OceanAks
oceanaks.spot.upbound.io
OceanAks
spot-by-netapp/crossplane-provider-spot@v0.5.0oceanaks.spot.upbound.io

OceanAks is the Schema for the OceanAkss API. Provides a Spotinst Ocean resource using AKS.

Type

CRD

Group

oceanaks.spot.upbound.io

Version

v1alpha1

apiVersion: oceanaks.spot.upbound.io/v1alpha1

kind: OceanAks

API Documentation
apiVersion
string
kind
string
metadata
object
spec
object
object

OceanAksSpec defines the desired state of OceanAks

forProvider
requiredobject
requiredobject

No description provided.

aksRegion
string
array

The Ocean Kubernetes Autoscaler object.

array

Auto Scaling scale down operations.

array

Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.

array

Automatic headroom configuration.

isEnabled
boolean
array

Optionally set upper and lower bounds on the resource usage of the cluster.

array

An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.

filters
array
array

Filters for the VM sizes that can be launched from the virtual node group.

array

The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.

array

Vm sizes belonging to a series from the list will not be available for scaling

array

The filtered gpu types will belong to one of the gpu types from this list.

maxGpu
number
maxVcpu
number
minDisk
number
minGpu
number
minNics
number
minVcpu
number
series
array
array

Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.

vmTypes
array
array

The filtered vm types will belong to one of the vm types from this list.

array

Specify the custom headroom per VNG. Provide a list of headroom objects.

health
array
array

The Ocean AKS Health object.

labels
object
array

Custom Linux OS configuration.

sysctls
array
array

System Controls

maxCount
number
minCount
number
name
string
osSku
string
osType
string
array

The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).

array

An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.

array

An object used to specify times that the nodes in the cluster will be taken down.

isEnabled
boolean
array

The times that the shutdown hours will apply. Required if isEnabled is true.

tasks
array
array

A list of scheduling tasks to preform on the cluster at a specific cron time.

isEnabled
boolean
array

The parameters of the scheduling task. Each task type will have properties relevant only to it.

array

The parameters of the cluster roll scheduling task.

comment
string
respectPdb
boolean
vngIds
array
array

List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

taskType
string
tags
object
taints
array
array

Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.

effect
string
key
string
value
string
array

No description provided.

array

While used, you can control whether the group should perform a deployment after an update to the configuration.

comment
string
array

List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.

array

List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.

respectPdb
boolean
vngIds
array
array

List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

shouldRoll
boolean
array

The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).

object

THIS IS A BETA FIELD. It will be honored unless the Management Policies feature flag is disabled. InitProvider holds the same fields as ForProvider, with the exception of Identifier and other resource reference fields. The fields that are in InitProvider are merged into ForProvider when the resource is created. The same fields are also added to the terraform ignore_changes hook, to avoid updating them after creation. This is useful for fields that are required on creation, but we do not desire to update them after creation, for example because of an external controller is managing them, like an autoscaler.

aksRegion
string
array

The Ocean Kubernetes Autoscaler object.

array

Auto Scaling scale down operations.

array

Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.

array

Automatic headroom configuration.

isEnabled
boolean
array

Optionally set upper and lower bounds on the resource usage of the cluster.

array

An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.

filters
array
array

Filters for the VM sizes that can be launched from the virtual node group.

array

The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.

array

Vm sizes belonging to a series from the list will not be available for scaling

array

The filtered gpu types will belong to one of the gpu types from this list.

maxGpu
number
maxVcpu
number
minDisk
number
minGpu
number
minNics
number
minVcpu
number
series
array
array

Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.

vmTypes
array
array

The filtered vm types will belong to one of the vm types from this list.

array

Specify the custom headroom per VNG. Provide a list of headroom objects.

health
array
array

The Ocean AKS Health object.

labels
object
array

Custom Linux OS configuration.

sysctls
array
array

System Controls

maxCount
number
minCount
number
name
string
osSku
string
osType
string
array

The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).

array

An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.

array

An object used to specify times that the nodes in the cluster will be taken down.

isEnabled
boolean
array

The times that the shutdown hours will apply. Required if isEnabled is true.

tasks
array
array

A list of scheduling tasks to preform on the cluster at a specific cron time.

isEnabled
boolean
array

The parameters of the scheduling task. Each task type will have properties relevant only to it.

array

The parameters of the cluster roll scheduling task.

comment
string
respectPdb
boolean
vngIds
array
array

List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

taskType
string
tags
object
taints
array
array

Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.

effect
string
key
string
value
string
array

No description provided.

array

While used, you can control whether the group should perform a deployment after an update to the configuration.

comment
string
array

List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.

array

List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.

respectPdb
boolean
vngIds
array
array

List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

shouldRoll
boolean
array

The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).

array

THIS IS A BETA FIELD. It is on by default but can be opted out through a Crossplane feature flag. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md

object

ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.

name
requiredstring
policy
object
object

Policies for referencing.

resolve
string
object

PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.

configRef
object
object

SecretStoreConfigRef specifies which secret store config should be used for this ConnectionSecret.

name
requiredstring
policy
object
object

Policies for referencing.

resolve
string
metadata
object
object

Metadata is the metadata for connection secret.

labels
object
type
string
name
requiredstring
object

WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.

name
requiredstring
namespace
requiredstring
status
object
object

OceanAksStatus defines the observed state of OceanAks.

object

No description provided.

aksRegion
string
array

The Ocean Kubernetes Autoscaler object.

array

Auto Scaling scale down operations.

array

Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.

array

Automatic headroom configuration.

isEnabled
boolean
array

Optionally set upper and lower bounds on the resource usage of the cluster.

array

An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.

filters
array
array

Filters for the VM sizes that can be launched from the virtual node group.

array

The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.

array

Vm sizes belonging to a series from the list will not be available for scaling

array

The filtered gpu types will belong to one of the gpu types from this list.

maxGpu
number
maxVcpu
number
minDisk
number
minGpu
number
minNics
number
minVcpu
number
series
array
array

Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' . For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.

vmTypes
array
array

The filtered vm types will belong to one of the vm types from this list.

array

Specify the custom headroom per VNG. Provide a list of headroom objects.

health
array
array

The Ocean AKS Health object.

id
string
labels
object
array

Custom Linux OS configuration.

sysctls
array
array

System Controls

maxCount
number
minCount
number
name
string
osSku
string
osType
string
array

The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).

array

An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.

array

An object used to specify times that the nodes in the cluster will be taken down.

isEnabled
boolean
array

The times that the shutdown hours will apply. Required if isEnabled is true.

tasks
array
array

A list of scheduling tasks to preform on the cluster at a specific cron time.

isEnabled
boolean
array

The parameters of the scheduling task. Each task type will have properties relevant only to it.

array

The parameters of the cluster roll scheduling task.

comment
string
respectPdb
boolean
vngIds
array
array

List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

taskType
string
tags
object
taints
array
array

Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.

effect
string
key
string
value
string
array

No description provided.

array

While used, you can control whether the group should perform a deployment after an update to the configuration.

comment
string
array

List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.

array

List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.

respectPdb
boolean
vngIds
array
array

List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.

shouldRoll
boolean
array

The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).

array

Conditions of the resource.

lastTransitionTime
requiredstring
message
string
reason
requiredstring
status
requiredstring
type
requiredstring
Discover the building blocks for your internal cloud platform.
© 2024 Upbound, Inc.
Solutions