Restarting instances in a group one by one
You can restart group instances one by one based on the parameters specified in the deployment policy.
For example, if the deployment policy states that the maximum number of unavailable instances per group is 1
, then only one VM will be unavailable at any given time during successive restarts.
Warning
With the manual instance stopping strategy, Instance Groups will restart or recreate an instance if at least one of the following conditions is met:
- User stops the instance in Compute Cloud.
- Application or user stops the instance internally.
- Instance fails the application health check.
To restart group instances one by one:
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
-
View a description of the CLI command to restart an instance group:
yc compute instance-group rolling-restart --help
-
Get a list of folders in the default cloud:
yc resource-manager folder list
Result:
+----------------------+--------------------+------------------+--------+ | ID | NAME | LABELS | STATUS | +----------------------+--------------------+------------------+--------+ | b1gd129pp9ha******** | my-folder | | ACTIVE | | b1g66mft1vop******** | default | | ACTIVE | +----------------------+--------------------+------------------+--------+
-
Get a list of instance groups in the selected folder by specifying its name:
yc compute instance-group list \ --folder-name <folder_name>
Result:
+----------------------+-----------------------+--------+------+ | ID | NAME | STATUS | SIZE | +----------------------+-----------------------+--------+------+ | amc65sbgfqeq******** | first-instance-group | ACTIVE | 4 | +----------------------+-----------------------+--------+------+
-
Restart instances in the instance group:
yc compute instance-group rolling-restart --all \ --name <VM_group_name> \ --folder-name <folder_name>
Where:
--name
: VM group name.--folder-name
: Name of the folder the VM group belongs to.
Instance Groups will begin to restart all instances in the group one by one. The restarted instances will change their status to
Running
.Result:
done (2m43s) id: amc65sbgfqeq******** ... status: ACTIVE application_load_balancer_state: {}
To restart individual instances in a group, get a list of instances in this group:
yc compute instance-group list-instances \ --name <VM_group_name> \ --folder-name <folder_name>
Where:
--name
: VM group name.--folder-name
: Name of the folder the VM group belongs to.
Result:
+----------------------+---------------------------+----------------+--------------+------------------------+----------------+ | INSTANCE ID | NAME | EXTERNAL IP | INTERNAL IP | STATUS | STATUS MESSAGE | +----------------------+---------------------------+----------------+--------------+------------------------+----------------+ | epdl7gdvb69f******** | cl17k72ehu54********-amyk | 130.193.**.*** | 192.168.0.33 | RUNNING_ACTUAL [8m] | | | epdjtb04efcf******** | cl17k72ehu54********-oper | 84.201.***.*** | 192.168.0.17 | RUNNING_ACTUAL [6m] | | | epd3anghn4vb******** | cl17k72ehu54********-axec | 84.201.***.*** | 192.168.0.14 | RUNNING_ACTUAL [1m50s] | | | epdbt0c7o6d3******** | cl17k72ehu54********-ihez | 51.250.***.*** | 192.168.0.29 | RUNNING_ACTUAL [1m0s] | | +----------------------+---------------------------+----------------+--------------+------------------------+----------------+
Restart the instances you need:
yc compute instance-group rolling-restart \ --instance-ids <VM_IDs> \ --name <VM_group_name> \ --folder-name <folder_name>
Where:
--instance-ids
: Comma-separated list of IDs of instances to restart. For example, to restart the first and third instances from the above list, specify--instance-ids epdl7gdvb69f********,epd3anghn4vb********
.--name
: VM group name.--folder-name
: Name of the folder the VM group belongs to.
Instance Groups will begin to restart the specified instances in the group one by one. The restarted instances will change their status to
Running
.
For more information about the yc compute instance-group rolling-restart
command parameters, see the CLI reference.
Use the rollingRestart REST API method for the InstanceGroup resource or the InstanceGroupService/rollingRestart gRPC API call.