Managing Compute Instances
Oracle Cloud Infrastructure lets you simplify management of your Compute instances using resources such as instance configurations and instance pools.
You can use instance configurations to define the settings to use when creating Compute instances as part of an instance pool, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration. You create an instance configuration from an existing Compute instance, see Creating an Instance Configuration. To delete an instance configuration, see Deleting an Instance Configuration. To modify an existing instance configuration, create a new instance configuration with the desired settings.
Use these API operations to work with instance configurations:
Instance pools give you the ability to provision and create multiple Compute instances based off of the same instance configuration, within the same region. They also enable integration with other services, such as the Load Balancing service and IAM service, making it easier to manage groups of instances. You can create an instance pool from the instance configuration details page or directly from the Instance Pools page, both methods require an existing instance configuration. For more information, see Creating an Instance Pool.
Once you have created an instance pool, you can update the size from the Console. To update additional settings, you need to use the CLI, API, or SDKs. If you need to update the instance configuration, create a new instance configuration and then update the instance pool to use the new instance configuration, for more information, see Updating an Instance Pool.
To delete an instance pool, see Deleting an Instance Pool.
When you delete an instance pool all of its resources will be permanently deleted, including associated instances, attached boot volumes, and block volumes.
Instance Pool Lifecycle States
The following list describes the different lifecycle states for instance pools.
Provisioning: When you create an instance pool, this is the first state the instance pool is in. Instances for the instance pool are being configured based on the specified instance configuration.
Starting: The instances are being launched. At this point, the only action you can take is to terminate the instance pool.
Running: The instances are created and running.
Stopping: The instances are in the process of being shut down.
Stopped: The instances are shut down.
Scaling: Once an instance pool has been created, if you update the instance pool size, it will go into this state while creating (for increases in size) or terminating (for decreases in size) instances. At this point, the only action you can take is to terminate the instance pool.
Terminating: The instances and associated resources are being terminated.
Terminated: The instance pool, all its instances and associated resources are terminated.
When working with instance configurations and instance pools, keep the following in mind:
You can't delete an instance configuration if it is associated with at least one instance pool.
You can use the same instance configuration for multiple instance pools, however an instance pool can only have one instance configuration associated with it.
If the instance pool has been in the scaling or provisioning state for an extended period of time it may be because the number of instances requested has exceeded your tenancy's service limits for that shape and availability domain. Check your tenancy's service limits for Compute. If you want to request a limit increase, you need to contact support. For more information, see Service Limits. If this occurs, you need to terminate the instance pool and re-create it.
If you modify the instance configuration for an instance pool, existing instances that are part of that pool will not change. Any new instances created after the instance configuration change will use the new instance configuration. New instances will not be created unless you have increased the size of the instance pool or terminate existing instances.
If you decrease the size of an instance pool, the oldest instances will be terminated first.
Use these API operations to manage instance pools: