Difference between revisions of "Automated OpenStack orchestration with openQRM"
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
[[Category:OpenStack]] | [[Category:OpenStack]] | ||
[[Category:Orchestration]] | [[Category:Orchestration]] | ||
+ | This HowTo is about how to fully automate OpenStack Cloud orchestration with openQRM. | ||
+ | |||
+ | '''Why do we integrate with e.g. Amazon EC2, Eucalyptus and OpenStack (and some more in the pipeline)?''' | ||
+ | |||
+ | Pure Cloud projects do normally only care about virtual machine deployment. | ||
+ | |||
+ | That means the "Cloud“ is actually something „within“ your datacentre so it needs management and administration in the same way as „regular“ IT. | ||
+ | |||
+ | Since openQRM works on a much lower level of your IT we see those other Cloud providers as "tools". Because of that, those tools needs a comprehensive management platform to automate them to 100%. Therefore in openQRM public and private Cloud provider are becoming just another resource type and we are happy to integrate with them. | ||
+ | |||
+ | === '''Requirements''' === | ||
+ | * Two physical Server - at least 1 GB of Memory | ||
+ | * at least 100 GB of Diskspace | ||
+ | * VT (Virtualization Technology) enabled in the Systems BIOS so that the openQRM Server and the OpenStack system can run Virtual Machines later | ||
+ | * A minimal Debian installation on a physical server | ||
+ | * openQRM to be installed | ||
+ | |||
+ | '''NOTE''' | ||
+ | |||
+ | * The OpenStack integration in openQRM is only available in the openQRM Enterprise Edition >= 5.1.3! | ||
+ | * If you do not already have openQRM fully installed, [[Install openQRM on Debian|follow this How-To]] to do so | ||
+ | * For the fully automatic OS and OpenStack Installation of the second system to be integrated into openQRM we assume you have followed the 'Fully automatic OpenStack installation on bare-metal with openQRM'. | ||
+ | * For this How-To, we also assume you are using the same openQRM server (updated to version 5.1.3) as for the How-To about 'Virtualisation with KVM and openQRM on Debian' and 'Automated Amazon EC2 Cloud deployments with openQRM on Debian'. That means with this How-To we are going to add functionality to an existing openQRM setup. This is to show that openQRM manages all different virtualisation and deployment types seamlessly. | ||
+ | |||
+ | === 1. Enable plugins === | ||
+ | For this How-To please enable and start the following plugins in the sequence below: | ||
+ | |||
+ | * dns plugin - ''type Networking'' | ||
+ | * dhcpd plugin - ''type Networking'' | ||
+ | * tftpd plugin - ''type Networking'' | ||
+ | * device-manager plugin - ''type Management'' | ||
+ | * nfs-storage - ''type Storage'' | ||
+ | * lvm-storage - ''type Storage'' | ||
+ | * nagios3 - ''type Monitoring'' | ||
+ | * puppet - ''type Deployment'' | ||
+ | * sshterm plugin - ''type Management'' | ||
+ | * local-server plugin - type Misc | ||
+ | * hybrid-cloud - ''type Deployment'' | ||
+ | |||
+ | Hint: You can use the filter in the plugin list to find plugins by their type easily! | ||
+ | |||
+ | Now please check the "local-server" plugins usage page how to easily integrate the second system (the OpenStack one) into openQRM. | ||
+ | [[File:Csm 02-openqrm-openstack-integration b0b628e743.png|none|thumb|390x390px|Local-server plugins page]] | ||
+ | Here's the commands used to integrate the OpenStack system into openQRM. | ||
+ | |||
+ | First copy the "openqrm-local-server" integration utility to the OpenStack controller via "scp". | ||
+ | |||
+ | Then login into the OpenStack controller and run the "openqrm-local-server" integration utility with the "integrate" action. | ||
+ | [[File:Csm 03-openqrm-openstack-integration 8250ccf6da.png|none|thumb|390x390px|Use the integration utility]] | ||
+ | |||
+ | === 2. Configure an OpenStack account === | ||
+ | Now go to: | ||
+ | |||
+ | '''''Plugins -> Deployment -> Hybrid Cloud -> Actions''''' | ||
+ | |||
+ | and click on the "Add a new account" button. | ||
+ | [[File:Csm 04-openqrm-openstack-integration 1c43fbc896.png|none|thumb|390x390px|Add a new account]] | ||
+ | Set the following parameter in the "add account" form: | ||
+ | |||
+ | * Account name: a name for this account entry | ||
+ | * Account type: select "OpenStack Cloud (libcloud)" | ||
+ | * Username: your OpenStack username | ||
+ | * Password: the password for the above username | ||
+ | * Tenant: the tenant you would like to use | ||
+ | * | ||
+ | * Auth port: the port number for the OpenStack API authentication service (normally: 8773) | ||
+ | * API Endpoint: the Url for the OpenStack API Endpoint (e.g. http://[openstack-controller-ip-address]:5000/v2.0/tokens/) | ||
+ | * (optional) Description | ||
+ | |||
+ | Clicking on submit checks the account parameters and creates the new openQRM hybrid-cloud account. | ||
+ | [[File:Csm 05-openqrm-openstack-integration 47d9dc3944.png|none|thumb|390x390px|Enter account credentials]] | ||
+ | |||
+ | === 3. Add an OpenStack image to openQRM === | ||
+ | After setting up the connection to the OpenStack controller via the hybrid-cloud account click on the "AMI" action to add a new image object to openQRM. | ||
+ | [[File:Csm 06-openqrm-openstack-integration d338ef262e.png|none|thumb|390x390px|Add a new image object]] | ||
+ | In the AMI list please click on the "C" character on the upper filter. | ||
+ | [[File:Csm 07-openqrm-openstack-integration af28460ea9.png|none|thumb|390x390px|Click on the "C" character]] | ||
+ | Here's the filtered AMI list with the default "cirros" image in the OpenStack controller. Please click on the "Add Image" to add this OpenStack image to openQRM's image repository. | ||
+ | [[File:Csm 08-openqrm-openstack-integration 87922747a3.png|none|thumb|390x390px|Click "Add Image"]] | ||
+ | Create and manage the OpenStack keypairs with the "keypair" action in the hybrid-cloud account. | ||
+ | [[File:Csm 09-openqrm-openstack-integration 9fffff2c18.png|none|thumb|390x390px|Keypairs for account]] | ||
+ | Here's the list of the OpenStack security groups available through the "groups" action in the hybrid-cloud account. | ||
+ | [[File:Csm 10-openqrm-openstack-integration fbf6e2ca85.png|none|thumb|390x390px|Security Groups]] | ||
+ | |||
+ | === 4. Creating a new instance on the OpenStack Cloud === | ||
+ | '''Creating a new instance in the OpenStack Cloud now is "as easy as a pie"!''' | ||
+ | |||
+ | We are now following openQRM's generic server wizard to create a new instance on the OpenStack Cloud. The instance is then fully controlled by the server life-cycle management of openQRM which provides the following added-values:<blockquote>''automated high availability'' | ||
+ | |||
+ | ''automated system and service monitoring'' | ||
+ | |||
+ | ''automated configuration management'' | ||
+ | |||
+ | ''automated application deployment'' | ||
+ | |||
+ | ''automated documentation'' | ||
+ | |||
+ | ''automated Cloud billing'' | ||
+ | |||
+ | ''etc.''</blockquote>Please go to | ||
+ | |||
+ | '''''Datacenter -> Components -> Server''''' | ||
+ | |||
+ | and click on "Add a new server" | ||
+ | [[File:Csm 11-openqrm-openstack-integration 7f3535d43c.png|none|thumb|390x390px|Add a new server]] | ||
+ | Provide name for the new server, and optionally, a description. | ||
+ | [[File:Csm 12-openqrm-openstack-integration 3613cc5c59.png|none|thumb|390x390px|Adding name and description]] | ||
+ | In the second step of the wizard click on "New resource". | ||
+ | [[File:Csm 13-openqrm-openstack-integration 5d9fc3830d.png|none|thumb|390x390px]] | ||
+ | Now please select "Cloud (localboot) Virtual Machine" as the instance type. | ||
+ | [[File:Csm 14-openqrm-openstack-integration a84f64cc05.png|none|thumb|390x390px|Click on "New Resource]] | ||
+ | The last action now forwards the the hybrid-cloud account overview. Please click on the "Instances" button. | ||
+ | [[File:Csm 15-openqrm-openstack-integration f9c711b1bf.png|none|thumb|390x390px|Click on 'Instances']] | ||
+ | In the instance overview please click on "add instance". | ||
+ | [[File:Csm 16-openqrm-openstack-integration 8e4f573623.png|none|thumb|390x390px|Instance overview]] | ||
+ | In the instance-create for please provide an instance name, select the cirros AMI image and configure the security group and keypair. Additionally you can set a URL to a custom script to pre-configure the instance. | ||
+ | [[File:Csm 17-openqrm-openstack-integration bf8bb267e3.png|none|thumb|390x390px|Input Instance parameters]] | ||
+ | Creating the new OpenStack instance automatically returns back into the wizard with the new created resource selected. Please click on submit. | ||
+ | [[File:Csm 18-openqrm-openstack-integration 706c121d1e.png|none|thumb|390x390px|Click on submit]] | ||
+ | In the following step please select the "cirros" AMI image and enable the "edit image" checkbox. | ||
+ | [[File:Csm 19-openqrm-openstack-integration 2bbbe9f805.png|none|thumb|390x390px|Select an image]] | ||
+ | In the Image-configuration step of the "add-server" wizard the login password to the instance can be set. Setting the password automatically pre-configures the "ssh" service on the instance to additionally work with login password instead of permitting only logins based on security keys. | ||
+ | [[File:Csm 20-openqrm-openstack-integration dbc16b2042.png|none|thumb|390x390px|Set login password]] | ||
+ | Here the final overview of the just created server in openQRM. Dependent on which plugins are enabled in your setup you can now pre-configure additional service and configuration items of this server. | ||
+ | [[File:Csm 21-openqrm-openstack-integration 33ca05a0c2.png|none|thumb|390x390px|Final Overview]] | ||
+ | Here the just created new server listed in the server overview. Please click on its "start" button. | ||
+ | [[File:Csm 22-openqrm-openstack-integration 0b2d2ddfa9.png|none|thumb|390x390px|New server list]] | ||
+ | ... and confirm the "start" action. | ||
+ | [[File:Csm 23-openqrm-openstack-integration b865713925.png|none|thumb|390x390px|Start]] | ||
+ | Now go to | ||
+ | |||
+ | '''''Plugins -> Deployment -> Hybrid Cloud -> Actions''''' | ||
+ | |||
+ | and click on the "Dashboard" button of the OpenStack hybrid-cloud account. | ||
+ | [[File:Csm 24-openqrm-openstack-integration 6d015fd1fa.png|none|thumb|390x390px|Click on "dashboard"]] | ||
+ | Here's the new created instance in the OpenStack dashboard. | ||
+ | [[File:Csm 25-openqrm-openstack-integration e40e610dff.png|none|thumb|390x390px|Openstack Dashboard]] | ||
+ | |||
+ | === '''Congratulations!''' === | ||
+ | You have completed this openQRM/OpenStack How-To. You can now fully automate your OpenStack deployments with openQRM. | ||
+ | |||
+ | * |
Latest revision as of 13:02, 3 November 2020
This HowTo is about how to fully automate OpenStack Cloud orchestration with openQRM.
Why do we integrate with e.g. Amazon EC2, Eucalyptus and OpenStack (and some more in the pipeline)?
Pure Cloud projects do normally only care about virtual machine deployment.
That means the "Cloud“ is actually something „within“ your datacentre so it needs management and administration in the same way as „regular“ IT.
Since openQRM works on a much lower level of your IT we see those other Cloud providers as "tools". Because of that, those tools needs a comprehensive management platform to automate them to 100%. Therefore in openQRM public and private Cloud provider are becoming just another resource type and we are happy to integrate with them.
Requirements
- Two physical Server - at least 1 GB of Memory
- at least 100 GB of Diskspace
- VT (Virtualization Technology) enabled in the Systems BIOS so that the openQRM Server and the OpenStack system can run Virtual Machines later
- A minimal Debian installation on a physical server
- openQRM to be installed
NOTE
- The OpenStack integration in openQRM is only available in the openQRM Enterprise Edition >= 5.1.3!
- If you do not already have openQRM fully installed, follow this How-To to do so
- For the fully automatic OS and OpenStack Installation of the second system to be integrated into openQRM we assume you have followed the 'Fully automatic OpenStack installation on bare-metal with openQRM'.
- For this How-To, we also assume you are using the same openQRM server (updated to version 5.1.3) as for the How-To about 'Virtualisation with KVM and openQRM on Debian' and 'Automated Amazon EC2 Cloud deployments with openQRM on Debian'. That means with this How-To we are going to add functionality to an existing openQRM setup. This is to show that openQRM manages all different virtualisation and deployment types seamlessly.
1. Enable plugins
For this How-To please enable and start the following plugins in the sequence below:
- dns plugin - type Networking
- dhcpd plugin - type Networking
- tftpd plugin - type Networking
- device-manager plugin - type Management
- nfs-storage - type Storage
- lvm-storage - type Storage
- nagios3 - type Monitoring
- puppet - type Deployment
- sshterm plugin - type Management
- local-server plugin - type Misc
- hybrid-cloud - type Deployment
Hint: You can use the filter in the plugin list to find plugins by their type easily!
Now please check the "local-server" plugins usage page how to easily integrate the second system (the OpenStack one) into openQRM.
Here's the commands used to integrate the OpenStack system into openQRM.
First copy the "openqrm-local-server" integration utility to the OpenStack controller via "scp".
Then login into the OpenStack controller and run the "openqrm-local-server" integration utility with the "integrate" action.
2. Configure an OpenStack account
Now go to:
Plugins -> Deployment -> Hybrid Cloud -> Actions
and click on the "Add a new account" button.
Set the following parameter in the "add account" form:
- Account name: a name for this account entry
- Account type: select "OpenStack Cloud (libcloud)"
- Username: your OpenStack username
- Password: the password for the above username
- Tenant: the tenant you would like to use
- Auth port: the port number for the OpenStack API authentication service (normally: 8773)
- API Endpoint: the Url for the OpenStack API Endpoint (e.g. http://[openstack-controller-ip-address]:5000/v2.0/tokens/)
- (optional) Description
Clicking on submit checks the account parameters and creates the new openQRM hybrid-cloud account.
3. Add an OpenStack image to openQRM
After setting up the connection to the OpenStack controller via the hybrid-cloud account click on the "AMI" action to add a new image object to openQRM.
In the AMI list please click on the "C" character on the upper filter.
Here's the filtered AMI list with the default "cirros" image in the OpenStack controller. Please click on the "Add Image" to add this OpenStack image to openQRM's image repository.
Create and manage the OpenStack keypairs with the "keypair" action in the hybrid-cloud account.
Here's the list of the OpenStack security groups available through the "groups" action in the hybrid-cloud account.
4. Creating a new instance on the OpenStack Cloud
Creating a new instance in the OpenStack Cloud now is "as easy as a pie"!
We are now following openQRM's generic server wizard to create a new instance on the OpenStack Cloud. The instance is then fully controlled by the server life-cycle management of openQRM which provides the following added-values:
automated high availability
automated system and service monitoring
automated configuration management
automated application deployment
automated documentation
automated Cloud billing
etc.
Please go to
Datacenter -> Components -> Server
and click on "Add a new server"
Provide name for the new server, and optionally, a description.
In the second step of the wizard click on "New resource".
Now please select "Cloud (localboot) Virtual Machine" as the instance type.
The last action now forwards the the hybrid-cloud account overview. Please click on the "Instances" button.
In the instance overview please click on "add instance".
In the instance-create for please provide an instance name, select the cirros AMI image and configure the security group and keypair. Additionally you can set a URL to a custom script to pre-configure the instance.
Creating the new OpenStack instance automatically returns back into the wizard with the new created resource selected. Please click on submit.
In the following step please select the "cirros" AMI image and enable the "edit image" checkbox.
In the Image-configuration step of the "add-server" wizard the login password to the instance can be set. Setting the password automatically pre-configures the "ssh" service on the instance to additionally work with login password instead of permitting only logins based on security keys.
Here the final overview of the just created server in openQRM. Dependent on which plugins are enabled in your setup you can now pre-configure additional service and configuration items of this server.
Here the just created new server listed in the server overview. Please click on its "start" button.
... and confirm the "start" action.
Now go to
Plugins -> Deployment -> Hybrid Cloud -> Actions
and click on the "Dashboard" button of the OpenStack hybrid-cloud account.
Here's the new created instance in the OpenStack dashboard.
Congratulations!
You have completed this openQRM/OpenStack How-To. You can now fully automate your OpenStack deployments with openQRM.