Este documento está dirigido a los propietarios de aplicaciones que ejecutan clústeres de Anthos en equipos físicos. En este documento, se muestra cómo editar máquinas virtuales (VM) que se ejecutan mediante el entorno de ejecución de VM de Anthos. Por ejemplo, puedes editar la asignación de recursos, como la CPU y la memoria, o cambiar la red a la que se conecta una VM.
Puedes modificar cualquier campo en la sección spec
de un recurso VirtualMachine
.
También puedes editar las etiquetas de una VM. No se pueden editar otros campos, como el nombre de la VM (metadata.name
). La VM debe estar en un estado Stopped
antes de editar el recurso.
Si tus ediciones en el recurso VirtualMachine
contienen errores cuando los guardas, los cambios se rechazan y ves una notificación. Corrige los errores e intenta guardar el recurso VirtualMachine
nuevamente. Si tu VM no se inicia después de realizar cambios, usa el comando kubectl describe gvm VM_NAME
para ver la información de solución de problemas y corregir los errores.
Antes de comenzar
Para completar este documento, necesitas acceso a los siguientes recursos:
- Una VM que se ejecuta en uno de los clústeres. Si es necesario, crea una VM en clústeres de Anthos en un equipo físico.
- La herramienta de cliente
virtctl
instalada como un complemento parakubectl
. Si es necesario, instala la herramienta cliente de virtctl.
Edita recursos de procesamiento
Si la carga de trabajo de procesamiento requiere un cambio, puedes actualizar la cantidad de CPU virtuales y de memoria que asignas a las VM. Para editar tus cargas de trabajo de procesamiento, completa los siguientes pasos:
Detén la VM que deseas editar:
kubectl virt stop VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que deseas detener.Usa
kubectl
para editar la VM:kubectl edit gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que deseas editar.En tu editor, actualiza los valores de los recursos de procesamiento que deseas cambiar.
Por ejemplo, en el siguiente manifiesto
VirtualMachine
de muestra, se muestra que el recurso de VM tiene2
CPU virtuales asignadas:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 2 ...
Si quieres actualizar la cantidad de CPU virtuales asignadas, cambia el valor en tu editor, como se muestra en el siguiente ejemplo:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... compute: cpu: vcpus: 4 ...
Guarda y cierra el manifiesto de la VM.
Inicia la VM que editaste:
kubectl virt start VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que editaste.Verifica el
STATUS
de tu VM:kubectl get gvm VM_NAME
Asegúrate de que la VM tenga el estado
Running
. Si tu VM solicita más recursos de procesamiento de los que el host puede proporcionar, tu VM no se puede iniciar. Si la VM no está en un estadoRunning
, verifica el manifiesto de recursosVirtualMachine
y la disponibilidad del recurso de procesamiento en el host.En el siguiente resultado de ejemplo, se muestra la VM en un estado
Running
:NAME STATUS AGE IP vm1 Running 1m 192.168.2.72
Consulta información detallada sobre una VM mediante
kubectl describe gvm
:kubectl describe gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que editaste.En el siguiente resultado de ejemplo, se muestra la información resumida de una VM, con un cambio en la cantidad de CPU virtuales aplicado de forma correcta:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Cpu: Vcpus: 4 ...
Para obtener más información, consulta cómo crear VM con configuraciones de procesamiento específicas de CPU virtual y memoria.
Edita los recursos del disco
Si los requisitos de almacenamiento cambian, puedes agregar discos virtuales a una VM o quitarlos. Para editar los discos conectados a tu VM, completa los siguientes pasos:
Detén la VM que deseas editar:
kubectl virt stop VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que deseas detener.Usa
kubectl
para editar la VM:kubectl edit gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que deseas editar.En tu editor, actualiza la sección
spec.disks
para conectar o desconectar discos.Por ejemplo, en el siguiente manifiesto
VirtualMachine
de muestra, solo hay un disco de arranque conectado a la VM:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv ...
Si deseas agregar un disco vacío existente, actualiza la configuración del disco en tu editor, como se muestra en el siguiente ejemplo:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... disks: - boot: true virtualMachineDiskName: vm1-boot-dv - virtualMachineDiskName: DISK_NAME ...
Reemplaza
DISK_NAME
por el nombre del disco que deseas conectar.Guarda y cierra el manifiesto de la VM.
Inicia la VM que editaste:
kubectl virt start VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que editaste.Verifica el
STATUS
de tu VM:kubectl get gvm VM_NAME
Asegúrate de que la VM tenga el estado
Running
. Si tu VM solicita unaStorageClass
o una asignación de disco que el host no puede proporcionar, no se puede iniciar tu VM. Si la VM no está en un estadoRunning
, verifica los manifiestos de recursosVirtualMachine
yVirtualMachineDisk
y la compatibilidad de almacenamiento del host.Consulta información detallada sobre una VM mediante
kubectl describe gvm
:kubectl describe gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que editaste.En el siguiente resultado de ejemplo, se muestra la información resumida de una VM, con un cambio en los discos conectados aplicado de forma correcta:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Disks: Name: vm1-boot-dv Name: data-disk-01 ...
Si deseas obtener más información, consulta cómo crear y administrar discos.
Edita recursos de red
A medida que tu infraestructura cambia, es posible que desees cambiar la configuración de red para una VM. Por ejemplo, es posible que desees conectar la VM a una red virtual diferente o asignar una dirección IP de forma manual. Para editar la configuración de red de una VM, completa los siguientes pasos:
Detén la VM que deseas editar:
kubectl virt stop VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que deseas detener.Usa
kubectl
para editar la VM:kubectl edit gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que deseas editar.En tu editor, actualiza los parámetros de configuración de red que deseas cambiar.
Por ejemplo, en el siguiente manifiesto de muestra
VirtualMachine
, la VM se conecta a una red llamadabackend-vlan100
y usa DHCP, ya que no se define ninguna dirección IP:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: backend-vlan100 default: true ...
Si deseas cambiar la red a la que se conecta la VM o asignar una dirección IP manual, actualiza la configuración de red en tu editor, como se muestra en el siguiente ejemplo:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: vm1 spec: ... interfaces: - name: eth0 networkName: NETWORK_NAME ipAddresses: - IP_ADDRESS default: true ...
Reemplaza
NETWORK_NAME
por el nombre de la red a la que deseas conectarte o agrega la secciónipAddresses
y especifica laIP_ADDRESS
que usará tu VM.Guarda y cierra el manifiesto de la VM.
Inicia la VM que editaste:
kubectl virt start VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que editaste.Verifica el
STATUS
de tu VM:kubectl get gvm VM_NAME
Asegúrate de que la VM tenga el estado
Running
. Si tu VM solicita una conexión de red que el host no puede proporcionar, tu VM no se puede iniciar. Si la VM no está en un estadoRunning
, verifica el manifiesto de recursosVirtualMachine
y la compatibilidad de red del host.Consulta información detallada sobre una VM mediante
kubectl describe gvm
:kubectl describe gvm VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que editaste.En el siguiente resultado de ejemplo, se muestra la información resumida de una VM, con un cambio en la configuración de la red y de dirección IP aplicado correctamente:
Name: vm1 Namespace: default Labels: <none> Annotations: <none> API Version: vm.cluster.gke.io/v1 Kind: VirtualMachine ... Spec: Compute: Interfaces: Name: eth0 Network Name: backend-vlan200 ... Status: ... Interfaces: Dns Config: Nameservers: 8.8.8.8 gateway4: 10.200.0.9 Ip Addresses: 10.200.0.22/24 Mac Address: 22:b4:e3:d2:ef:fb Name: eth0 Resource Name: vm1-eth0-f2468 ...
Para obtener más información, consulta cómo crear y administrar redes virtuales.
¿Qué sigue?
- Crea VM con configuraciones de procesamiento de memoria y CPU virtuales específicas en clústeres de Anthos en equipos físicos.
- Crea y administra discos en clústeres de Anthos alojados en equipos físicos.
Crea y administra redes virtuales en clústeres de Anthos en equipos físicos.