Skip to content

Latest commit

 

History

History
439 lines (396 loc) · 15 KB

api-reference.md

File metadata and controls

439 lines (396 loc) · 15 KB

Packages:

maintenance.nvidia.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the maintenance.nvidia.com v1alpha1 API group

Resource Types:

DrainSpec

(Appears on:NodeMaintenanceSpec)

DrainSpec describes configuration for node drain during automatic upgrade

Field Description
force
bool

Force draining even if there are pods that do not declare a controller

podSelector
string

PodSelector specifies a label selector to filter pods on the node that need to be drained For more details on label selectors, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

timeoutSeconds
int32

TimeoutSecond specifies the length of time in seconds to wait before giving up drain, zero means infinite

deleteEmptyDir
bool

DeleteEmptyDir indicates if should continue even if there are pods using emptyDir (local data that will be deleted when the node is drained)

podEvictionFilters
[]PodEvictionFiterEntry

PodEvictionFilters specifies filters for pods that need to undergo eviction during drain. if specified. only pods that match PodEvictionFilters will be evicted during drain operation. if unspecified. all non-daemonset pods will be evicted. logical OR is performed between filter entires. logical AND is performed within different filters in a filter entry.

DrainStatus

(Appears on:NodeMaintenanceStatus)

DrainStatus represents the status of draining for the node

Field Description
totalPods
int32

TotalPods is the number of pods on the node at the time NodeMaintenance started draining

evictionPods
int32

EvictionPods is the total number of pods that need to be evicted at the time NodeMaintenance started draining

drainProgress
int32

DrainProgress represents the draining progress as percentage

waitForEviction
[]string

WaitForEviction is the list of namespaced named pods that need to be evicted

MaintenanceOperatorConfig

MaintenanceOperatorConfig is the Schema for the maintenanceoperatorconfigs API

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
MaintenanceOperatorConfigSpec


maxParallelOperations
k8s.io/apimachinery/pkg/util/intstr.IntOrString

MaxParallelOperations indicates the maximal number nodes that can undergo maintenance at a given time. 0 means no limit value can be an absolute number (ex: 5) or a percentage of total nodes in the cluster (ex: 10%). absolute number is calculated from percentage by rounding up. defaults to 1. The actual number of nodes that can undergo maintenance may be lower depending on the value of MaintenanceOperatorConfigSpec.MaxUnavailable.

maxUnavailable
k8s.io/apimachinery/pkg/util/intstr.IntOrString

MaxUnavailable is the maximum number of nodes that can become unavailable in the cluster. value can be an absolute number (ex: 5) or a percentage of total nodes in the cluster (ex: 10%). absolute number is calculated from percentage by rounding up. by default, unset. new nodes will not be processed if the number of unavailable node will exceed this value

logLevel
OperatorLogLevel

LogLevel is the operator logging level

maxNodeMaintenanceTimeSeconds
int32

MaxNodeMaintenanceTimeSeconds is the time from when a NodeMaintenance is marked as ready (phase: Ready) until the NodeMaintenance is considered stale and removed by the operator. should be less than idle time for any autoscaler that is running. default to 30m (1600 seconds)

MaintenanceOperatorConfigSpec

(Appears on:MaintenanceOperatorConfig)

MaintenanceOperatorConfigSpec defines the desired state of MaintenanceOperatorConfig

Field Description
maxParallelOperations
k8s.io/apimachinery/pkg/util/intstr.IntOrString

MaxParallelOperations indicates the maximal number nodes that can undergo maintenance at a given time. 0 means no limit value can be an absolute number (ex: 5) or a percentage of total nodes in the cluster (ex: 10%). absolute number is calculated from percentage by rounding up. defaults to 1. The actual number of nodes that can undergo maintenance may be lower depending on the value of MaintenanceOperatorConfigSpec.MaxUnavailable.

maxUnavailable
k8s.io/apimachinery/pkg/util/intstr.IntOrString

MaxUnavailable is the maximum number of nodes that can become unavailable in the cluster. value can be an absolute number (ex: 5) or a percentage of total nodes in the cluster (ex: 10%). absolute number is calculated from percentage by rounding up. by default, unset. new nodes will not be processed if the number of unavailable node will exceed this value

logLevel
OperatorLogLevel

LogLevel is the operator logging level

maxNodeMaintenanceTimeSeconds
int32

MaxNodeMaintenanceTimeSeconds is the time from when a NodeMaintenance is marked as ready (phase: Ready) until the NodeMaintenance is considered stale and removed by the operator. should be less than idle time for any autoscaler that is running. default to 30m (1600 seconds)

NodeMaintenance

NodeMaintenance is the Schema for the nodemaintenances API

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
NodeMaintenanceSpec


requestorID
string

RequestorID MUST follow domain name notation format (https://tools.ietf.org/html/rfc1035#section-2.3.1) It MUST be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between. caller SHOULD NOT create multiple objects with same requestorID and nodeName. This field identifies the requestor of the operation.

additionalRequestors
[]string

AdditionalRequestors is a set of additional requestor IDs which are using the same NodeMaintenance request. addition or removal of requiestor IDs to this list MUST be made with update operation (and retry on failure) which will replace the entire list.

nodeName
string

NodeName is The name of the node that maintenance operation will be performed on creation fails if node obj does not exist (webhook)

cordon
bool

Cordon if set, marks node as unschedulable during maintenance operation

waitForPodCompletion
WaitForPodCompletionSpec

WaitForPodCompletion specifies pods via selector to wait for completion before performing drain operation if not provided, will not wait for pods to complete

drainSpec
DrainSpec

DrainSpec specifies how a node will be drained. if not provided, no draining will be performed.

status
NodeMaintenanceStatus

NodeMaintenanceSpec

(Appears on:NodeMaintenance)

NodeMaintenanceSpec defines the desired state of NodeMaintenance

Field Description
requestorID
string

RequestorID MUST follow domain name notation format (https://tools.ietf.org/html/rfc1035#section-2.3.1) It MUST be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between. caller SHOULD NOT create multiple objects with same requestorID and nodeName. This field identifies the requestor of the operation.

additionalRequestors
[]string

AdditionalRequestors is a set of additional requestor IDs which are using the same NodeMaintenance request. addition or removal of requiestor IDs to this list MUST be made with update operation (and retry on failure) which will replace the entire list.

nodeName
string

NodeName is The name of the node that maintenance operation will be performed on creation fails if node obj does not exist (webhook)

cordon
bool

Cordon if set, marks node as unschedulable during maintenance operation

waitForPodCompletion
WaitForPodCompletionSpec

WaitForPodCompletion specifies pods via selector to wait for completion before performing drain operation if not provided, will not wait for pods to complete

drainSpec
DrainSpec

DrainSpec specifies how a node will be drained. if not provided, no draining will be performed.

NodeMaintenanceStatus

(Appears on:NodeMaintenance)

NodeMaintenanceStatus defines the observed state of NodeMaintenance

Field Description
conditions
[]Kubernetes meta/v1.Condition

Conditions represents observations of NodeMaintenance current state

waitForCompletion
[]string

WaitForCompletion is the list of namespaced named pods that we wait to complete

drain
DrainStatus

Drain represents the drain status of the node

OperatorLogLevel (string alias)

(Appears on:MaintenanceOperatorConfigSpec)

OperatorLogLevel is the operator log level. one of: [“debug”, “info”, “error”]

PodEvictionFiterEntry

(Appears on:DrainSpec)

PodEvictionFiterEntry defines filters for Pod evictions during drain operation

Field Description
byResourceNameRegex
string

ByResourceNameRegex filters pods by the name of the resources they consume using regex.

WaitForPodCompletionSpec

(Appears on:NodeMaintenanceSpec)

WaitForPodCompletionSpec describes the configuration for waiting on pods completion

Field Description
podSelector
string

PodSelector specifies a label selector for the pods to wait for completion For more details on label selectors, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

timeoutSeconds
int32

TimeoutSecond specifies the length of time in seconds to wait before giving up on pod termination, zero means infinite


Generated with gen-crd-api-reference-docs on git commit fb44536.