VirtualMachineInstanceMigration [virtualmachineinstancemigrations.kubevirt.io/v1]

描述
VirtualMachineInstanceMigration represents the object tracking a VMI's migration to another host in the cluster
类型
object
必填
spec

规格

属性类型描述
apiVersionstring

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kindstring

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadataObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

specobject
statusobject

VirtualMachineInstanceMigration reprents information pertaining to a VMI's migration.

.spec

类型
object
属性类型描述
addedNodeSelectorobject

AddedNodeSelector is an additional selector that can be used to complement a NodeSelector or NodeAffinity as set on the VM to restrict the set of allowed target nodes for a migration. In case of key collisions, values set on the VM objects are going to be preserved to ensure that addedNodeSelector can only restrict but not bypass constraints already set on the VM object.

prioritystring

Priority of the migration. This can be one of 'system-critical', 'user-triggered', 'system-maintenance'.

receiveobject

If receieve is specified, this VirtualMachineInstanceMigration will be considered the target

sendToobject

If sendTo is specified, this VirtualMachineInstanceMigration will be considered the source

vmiNamestring

The name of the VMI to perform the migration on. VMI must exist in the migration objects namespace

.spec.addedNodeSelector

描述
AddedNodeSelector is an additional selector that can be used to complement a NodeSelector or NodeAffinity as set on the VM to restrict the set of allowed target nodes for a migration. In case of key collisions, values set on the VM objects are going to be preserved to ensure that addedNodeSelector can only restrict but not bypass constraints already set on the VM object.
类型
object

.spec.receive

描述
If receieve is specified, this VirtualMachineInstanceMigration will be considered the target
类型
object
必填
migrationID
属性类型描述
migrationIDstring

A unique identifier to identify this migration.

.spec.sendTo

描述
If sendTo is specified, this VirtualMachineInstanceMigration will be considered the source
类型
object
必填
connectURLmigrationID
属性类型描述
connectURLstring

The synchronization controller URL to connect to.

migrationIDstring

A unique identifier to identify this migration.

.status

描述
VirtualMachineInstanceMigration reprents information pertaining to a VMI's migration.
类型
object
属性类型描述
conditionsarray
migrationStateobject

Represents the status of a live migration

phasestring

VirtualMachineInstanceMigrationPhase is a label for the condition of a VirtualMachineInstanceMigration at the current time.

phaseTransitionTimestampsarray

PhaseTransitionTimestamp is the timestamp of when the last phase change occurred

synchronizationAddressesarray

The synchronization addresses one can use to connect to the synchronization controller, includes the port, if multiple addresses are available, the first one is reported in the synchronizationAddress field.

.status.conditions

类型
array

.status.conditions[]

类型
object
必填
statustype
属性类型描述
lastProbeTimestring
lastTransitionTimestring
messagestring
reasonstring
statusstring
typestring

.status.migrationState

描述
Represents the status of a live migration
类型
object
属性类型描述
abortRequestedboolean

Indicates that the migration has been requested to abort

abortStatusstring

Indicates the final status of the live migration abortion

completedboolean

Indicates the migration completed

endTimestampstring

The time the migration action ended

failedboolean

Indicates that the migration failed

failureReasonstring

Contains the reason why the migration failed

migrationConfigurationobject

Migration configurations to apply

migrationNetworkTypestring

The type of migration network, either 'pod' or 'migration'

migrationPolicyNamestring

Name of the migration policy. If string is empty, no policy is matched

migrationUidstring

The VirtualMachineInstanceMigration object associated with this migration

modestring

Lets us know if the vmi is currently running pre or post copy migration

sourceNodestring

The source node that the VMI originated on

sourcePersistentStatePVCNamestring

If the VMI being migrated uses persistent features (backend-storage), its source PVC name is saved here

sourcePodstring
sourceStateobject

SourceState contains migration state managed by the source virt handler

startTimestampstring

The time the migration action began

targetAttachmentPodUIDstring

The UID of the target attachment pod for hotplug volumes

targetCPUSetarray

If the VMI requires dedicated CPUs, this field will hold the dedicated CPU set on the target node

targetDirectMigrationNodePortsobject

The list of ports opened for live migration on the destination node

targetNodestring

The target node that the VMI is moving to

targetNodeAddressstring

The address of the target node to use for the migration

targetNodeDomainDetectedboolean

The Target Node has seen the Domain Start Event

targetNodeDomainReadyTimestampstring

The timestamp at which the target node detects the domain is active

targetNodeTopologystring

If the VMI requires dedicated CPUs, this field will hold the numa topology on the target node

targetPersistentStatePVCNamestring

If the VMI being migrated uses persistent features (backend-storage), its target PVC name is saved here

targetPodstring

The target pod that the VMI is moving to

targetStateobject

TargetState contains migration state managed by the target virt handler

.status.migrationState.migrationConfiguration

描述
Migration configurations to apply
类型
object
属性类型描述
allowAutoConvergeboolean

AllowAutoConverge allows the platform to compromise performance/availability of VMIs to guarantee successful VMI live migrations. Defaults to false

allowPostCopyboolean

AllowPostCopy enables post-copy live migrations. Such migrations allow even the busiest VMIs to successfully live-migrate. However, events like a network failure can cause a VMI crash. If set to true, migrations will still start in pre-copy, but switch to post-copy when CompletionTimeoutPerGiB triggers. Defaults to false

allowWorkloadDisruptionboolean

AllowWorkloadDisruption indicates that the migration shouldn't be canceled after acceptableCompletionTime is exceeded. Instead, if permitted, migration will be switched to post-copy or the VMI will be paused to allow the migration to complete

bandwidthPerMigrationinteger|string

BandwidthPerMigration limits the amount of network bandwidth live migrations are allowed to use. The value is in quantity per second. Defaults to 0 (no limit)

completionTimeoutPerGiBinteger

CompletionTimeoutPerGiB is the maximum number of seconds per GiB a migration is allowed to take. If the timeout is reached, the migration will be either paused, switched to post-copy or cancelled depending on other settings. Defaults to 150

disableTLSboolean

When set to true, DisableTLS will disable the additional layer of live migration encryption provided by KubeVirt. This is usually a bad idea. Defaults to false

matchSELinuxLevelOnMigrationboolean

By default, the SELinux level of target virt-launcher pods is forced to the level of the source virt-launcher. When set to true, MatchSELinuxLevelOnMigration lets the CRI auto-assign a random level to the target. That will ensure the target virt-launcher doesn't share categories with another pod on the node. However, migrations will fail when using RWX volumes that don't automatically deal with SELinux levels.

networkstring

Network is the name of the CNI network to use for live migrations. By default, migrations go through the pod network.

nodeDrainTaintKeystring

NodeDrainTaintKey defines the taint key that indicates a node should be drained. Note: this option relies on the deprecated node taint feature. Default: kubevirt.io/drain

parallelMigrationsPerClusterinteger

ParallelMigrationsPerCluster is the total number of concurrent live migrations allowed cluster-wide. Defaults to 5

parallelOutboundMigrationsPerNodeinteger

ParallelOutboundMigrationsPerNode is the maximum number of concurrent outgoing live migrations allowed per node. Defaults to 2

progressTimeoutinteger

ProgressTimeout is the maximum number of seconds a live migration is allowed to make no progress. Hitting this timeout means a migration transferred 0 data for that many seconds. The migration is then considered stuck and therefore cancelled. Defaults to 150

unsafeMigrationOverrideboolean

UnsafeMigrationOverride allows live migrations to occur even if the compatibility check indicates the migration will be unsafe to the guest. Defaults to false

.status.migrationState.sourceState

描述
SourceState contains migration state managed by the source virt handler
类型
object
属性类型描述
domainNamestring

The name of the domain on the source libvirt domain

domainNamespacestring

Namespace used in the name of the source libvirt domain. Can be used to find and modify paths in the domain

migrationUIDstring

The Source VirtualMachineInstanceMigration object associated with this migration

nodestring

The source node that the VMI originated on

nodeSelectorsobject

Node selectors needed by the target to start the receiving pod.

persistentStatePVCNamestring

If the VMI being migrated uses persistent features (backend-storage), its source PVC name is saved here

podstring

The source pod that the VMI is originated on

selinuxContextstring

SELinuxContext is the actual SELinux context of the pod

syncAddressstring

The ip address/fqdn:port combination to use to synchronize the VMI with the target.

virtualMachineInstanceUIDstring

VirtualMachineInstanceUID is the UID of the target virtual machine instance

.status.migrationState.sourceState.nodeSelectors

描述
Node selectors needed by the target to start the receiving pod.
类型
object

.status.migrationState.targetCPUSet

描述
If the VMI requires dedicated CPUs, this field will hold the dedicated CPU set on the target node
类型
array

.status.migrationState.targetCPUSet[]

类型
integer

.status.migrationState.targetDirectMigrationNodePorts

描述
The list of ports opened for live migration on the destination node
类型
object

.status.migrationState.targetState

描述
TargetState contains migration state managed by the target virt handler
类型
object
属性类型描述
attachmentPodUIDstring

The UID of the target attachment pod for hotplug volumes

cpuSetarray

If the VMI requires dedicated CPUs, this field will hold the dedicated CPU set on the target node

directMigrationNodePortsobject

The list of ports opened for live migration on the destination node

domainDetectedboolean

The Target Node has seen the Domain Start Event

domainNamestring

The name of the domain on the source libvirt domain

domainNamespacestring

Namespace used in the name of the source libvirt domain. Can be used to find and modify paths in the domain

domainReadyTimestampstring

The timestamp at which the target node detects the domain is active

migrationUIDstring

The Source VirtualMachineInstanceMigration object associated with this migration

nodestring

The source node that the VMI originated on

nodeAddressstring

The address of the target node to use for the migration

nodeTopologystring

If the VMI requires dedicated CPUs, this field will hold the numa topology on the target node

persistentStatePVCNamestring

If the VMI being migrated uses persistent features (backend-storage), its source PVC name is saved here

podstring

The source pod that the VMI is originated on

selinuxContextstring

SELinuxContext is the actual SELinux context of the pod

syncAddressstring

The ip address/fqdn:port combination to use to synchronize the VMI with the target.

virtualMachineInstanceUIDstring

VirtualMachineInstanceUID is the UID of the target virtual machine instance

.status.migrationState.targetState.cpuSet

描述
If the VMI requires dedicated CPUs, this field will hold the dedicated CPU set on the target node
类型
array

.status.migrationState.targetState.cpuSet[]

类型
integer

.status.migrationState.targetState.directMigrationNodePorts

描述
The list of ports opened for live migration on the destination node
类型
object

.status.phaseTransitionTimestamps

描述
PhaseTransitionTimestamp is the timestamp of when the last phase change occurred
类型
array

.status.phaseTransitionTimestamps[]

描述
VirtualMachineInstanceMigrationPhaseTransitionTimestamp gives a timestamp in relation to when a phase is set on a vmi
类型
object
属性类型描述
phasestring

Phase is the status of the VirtualMachineInstanceMigrationPhase in kubernetes world. It is not the VirtualMachineInstanceMigrationPhase status, but partially correlates to it.

phaseTransitionTimestampstring

PhaseTransitionTimestamp is the timestamp of when the phase change occurred

.status.synchronizationAddresses

描述
The synchronization addresses one can use to connect to the synchronization controller, includes the port, if multiple addresses are available, the first one is reported in the synchronizationAddress field.
类型
array

.status.synchronizationAddresses[]

类型
string

API 端点

可用的 API 端点如下:

  • /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations
    • DELETE: delete collection of VirtualMachineInstanceMigration
    • GET: list objects of kind VirtualMachineInstanceMigration
    • POST: create a new VirtualMachineInstanceMigration
  • /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name}
    • DELETE: delete the specified VirtualMachineInstanceMigration
    • GET: read the specified VirtualMachineInstanceMigration
    • PATCH: partially update the specified VirtualMachineInstanceMigration
    • PUT: replace the specified VirtualMachineInstanceMigration
  • /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name}/status
    • GET: read status of the specified VirtualMachineInstanceMigration
    • PATCH: partially update status of the specified VirtualMachineInstanceMigration
    • PUT: replace status of the specified VirtualMachineInstanceMigration

/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations

HTTP 方法
DELETE
描述
delete collection of VirtualMachineInstanceMigration
HTTP 响应
HTTP 状态码响应体
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
list objects of kind VirtualMachineInstanceMigration
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigrationList schema
401 - UnauthorizedEmpty
HTTP 方法
POST
描述
create a new VirtualMachineInstanceMigration
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyVirtualMachineInstanceMigration schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigration schema
201 - CreatedVirtualMachineInstanceMigration schema
202 - AcceptedVirtualMachineInstanceMigration schema
401 - UnauthorizedEmpty

/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name}

HTTP 方法
DELETE
描述
delete the specified VirtualMachineInstanceMigration
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
HTTP 响应
HTTP 状态码响应体
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
read the specified VirtualMachineInstanceMigration
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigration schema
401 - UnauthorizedEmpty
HTTP 方法
PATCH
描述
partially update the specified VirtualMachineInstanceMigration
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigration schema
401 - UnauthorizedEmpty
HTTP 方法
PUT
描述
replace the specified VirtualMachineInstanceMigration
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyVirtualMachineInstanceMigration schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigration schema
201 - CreatedVirtualMachineInstanceMigration schema
401 - UnauthorizedEmpty

/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name}/status

HTTP 方法
GET
描述
read status of the specified VirtualMachineInstanceMigration
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigration schema
401 - UnauthorizedEmpty
HTTP 方法
PATCH
描述
partially update status of the specified VirtualMachineInstanceMigration
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigration schema
401 - UnauthorizedEmpty
HTTP 方法
PUT
描述
replace status of the specified VirtualMachineInstanceMigration
查询参数
参数类型描述
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
请求体参数
参数类型描述
bodyVirtualMachineInstanceMigration schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKVirtualMachineInstanceMigration schema
201 - CreatedVirtualMachineInstanceMigration schema
401 - UnauthorizedEmpty