The operations center enables the sharing of cloud configuration across the controllers in the operations center cluster.
The sharing model used for shared cloud configuration is similar to that of shared configuration propagation.
Unlike shared clouds or shared agents, shared cloud configuration replicates the configuration of the cloud provider to the specified controllers, so that each controller has separate control of the cloud, rather than leasing agents from the operations center server.
Shared cloud configuration can also be accomplished via Configuration as Code (CasC). |
Supported cloud providers
Amazon Elastic Compute Cloud (EC2) from the Amazon EC2 plugin is supported for shared cloud configuration, after installing the Operations Center Server EC2 Cloud plugin on the operations center.
The shared cloud configuration is licensed individually for each cloud type. |
Limitations
-
The plugin defining the configuration must be installed on the controllers to which the configuration will be propagated.
-
The plugin versions on the controller(s) and the operations center server must be compatible in terms of configuration data model.
Violations of the requirements above may have a serious impact on cloud provisioners on controllers. |
Shared configuration setup
Shared configurations should be created as Jenkins items, such as controllers, folders, and templates, using the New Item
action in the operations center. Items can be created either at the root of the instance or within a folder.
-
If you create it in the root of operations center, the cloud will be available to all controllers.
-
If you create a shared cloud configuration item in a folder, the cloud will be available only to controllers within the folder or within its sub-folders.
Step 1. Create a new configuration item
-
Select the New Item action in Jenkins root or a folder. In both cases, you will be presented with the standard new item screen.
-
Provide a configuration name.
-
Select the
Cloud Configuration
type that you wish to create. -
Select OK. A new configuration window will appear.
Step 2. Enter the required configuration for the selected cloud
Options are similar to the standard Jenkins cloud configuration options.
If a cloud provider requires configuration of native tools or libraries, then this location must be the same on all controllers that receive this configuration to operate correctly. |
Step 3. Apply changes
When the shared cloud configuration is complete, save or apply the configuration.
The cloud configuration will be pushed to all online controllers that have not opted out of receiving the shared configuration. If a controller is offline, the new configuration will be applied when the controller connects to the operations center.
Supported configurations
Below you can find configuration examples for the supported clouds.
As mentioned earlier, prior to configuring a shared cloud ensure that the plugin defining the launcher is installed on all the controllers within scope for using the shared cloud. |
Amazon Elastic Compute Cloud (EC2)
This shared cloud configuration allows you to share settings for Amazon EC2 cloud, which is part of the Amazon Web Services platform (AWS).
Please refer to the Amazon EC2 plugin Wiki page to find setup guidelines and information about supported configurations. This section describes the operations center specifics only.
The following applies to both CloudBees CI on modern cloud platforms and CloudBees CI on traditional platforms:
-
Instance caps are being managed individually for each controller, there is no global limitation for the entire operations center cluster.
-
If you use
Access Key ID
andSecret Access Key
to define EC2 credentials, these credentials will be shared across all CloudBees CI instances. EC2 must allow multiple logins from different locations if you have multiple controllers.
The following applies to CloudBees CI on traditional platforms only:
-
If all target CloudBees CI instances are running on EC2 instances, you can use
EC2 instance profile
to obtain credentials from the instance’s metadata. -
Currently, there is no option to set up different
Regions
for CloudBees CI instances in an AWS EC2 Shared Cloud Configuration. In such cases, use individual setups of EC2 Cloud on each controller.Figure 1. AWS EC2 shared cloud configuration setup
Test the configuration
-
If you select Test Connection in the configuration, the test will be launched on the operations center. Make sure that the AWS EC2 cloud is available to operations center.
-
If the instance is configured to obtain credentials from
EC2 instance profile
, operations center must be running on a properly configured Amazon Machine Image. -
You can also test the connection from one of the Jenkins controllers when the configuration gets synchronized. This is highly recommended if your AWS EC2 Shared Cloud Configuration uses
EC2 instance profile
to obtain credentials.