For Research and Education Networking
Openstack Cloud Webinar Series: Openstack Deployment
14.07.2021
Derrick Ssemanda <[email protected]>
Summary
UbuntuNet Alliance: Cloud
Deployment Considerations 1
About Openstack-ansible2
Openstack Ansible Deployment Plan3Environment set up4
Deployment and Testing5
Consideration - Documenting
UbuntuNet Alliance: Cloud
● Needed at every step of the way
● Helps in passing down information to
other workmates and auditor
● Helps in troubleshooting
● Provides reference for any previous errors
Other examples;● Sphinx● Markdown● Readthedocs
Consideration - Resource Planning
UbuntuNet Alliance: Cloud
● Most important● Need to organise who’s assigned what
● Prepare the location to place the servers● The accessories needed by the servers● Ensure as much redundancy as possible● Prioritize
● Select softwares you are comfortable with
● Also consider the community● Preferably use softwares with LTS● Free and opensource softwares
preferred
Preferably work with networks team to;● Provide the appropriate subnets and VLANS
for the cloud● Ensure network redundancy at all level● Provide relatively enough bandwidth to the
subnets
Consideration - Security Policies
UbuntuNet Alliance: Cloud
● Firewall rules
● Networks which can access
● Secure how to Connect to the systems
● Who can have access
● Document/Record access log
● If possible, monitor and alert
Consideration - Deployment method
UbuntuNet Alliance: Cloud
Select Deployment method which in reference to your team is;
● Easy to learn and use
● Already having experience or interested in learning it
● Easy to configure
● Has a relatively large community
● Preferably well documented
Consideration - Monitoring and Statistics
UbuntuNet Alliance: Cloud
● Helps in knowing status of all nodes
and instances
● Helps in generating activity reports
● Identify a problem before the
institutions do
● Very useful after deployment in
many other ways
Consideration - Change Management
UbuntuNet Alliance: Cloud
● Specify when to make changes
● Document policies for normal
activities and emergency activities
Consideration - High Availability
UbuntuNet Alliance: Cloud
● Systems need to be highly available
● Consider redundancy at all level
● Plan for failover wherever possible
● Physical redundancy might require
more hardware
Consideration - Plan for updates
UbuntuNet Alliance: Cloud
● Systems need to be able to run safe updates
● Need to have security updates
● Updates run with minimal downtime
● Updates should follow proper change
management procedures
● Updates should be monitored to ensure that no
unresolved downtime remained
Consideration - Plan for scaling
UbuntuNet Alliance: Cloud
● Procedures available to add/remove nodes
without loss of data
● You need to know whether to scale up or
scale out
● The current cloud should be in position to
scale
● Scaling should follow the Change
Management proceduresScale up: Increase on the resources in the machines itself, also known as Vertical scaling
Scale out: Addd more machines to do the same tasks, also known as Horizontal Scaling
Consideration - Backup and Recovery
UbuntuNet Alliance: Cloud
● Almost the same as HA but this is when data is lost
● Need to be able to recover lost data
● Documented policies on how to backup and recover data
● Test to confirm backups are done
● If possible monitor backups
● Ensure minimum time for data recovery
Openstack Ansible
UbuntuNet Alliance: Cloud
About Openstack Ansible
UbuntuNet Alliance: Cloud
● Provides ansible roles and playbooks for deployment and configuration of openstack environment
● Uses ansible to install openstack services on Ubuntu, Debian, and Centos● Installs openstack services in containers (lxc, spawn). You can choose to install
these services on baremetal● Offers automation for upgrades between major Openstack releases
Openstack Ansible Nodes
UbuntuNet Alliance: Cloud
Compute node
Infra/Controller node
Network hosts
Storage node
Load balancers
Deployer
Log servers
Hardware Plan
Minimum requirements are;• More than 1 network interface (to be bonded)• 1G>= network interfaces• Multicore processors
Compute requirements: Support hardware enabled virtualisation
Storage node requirements: Disks with a high I/O throughput
UbuntuNet Alliance: Cloud
Network Plan
Plan for the network components below;• Network recommendations• Network bridges• IP plan and allocation
UbuntuNet Alliance: Cloud
Network Plan - Recommendations
• Linux bonding• VLAN Offloading• 1/10G interfaces• Jumbo frames
UbuntuNet Alliance: Cloud
Network Plan - Bridges
OSA uses bridges to connect openstack services. These are;• br-mgmt: Management & communication
• br-storage: Provides storage to Openstack services
• br-vlan: Provides infrastructure for VLAN tagged or flat networks
• br-vxlan: required if the environment is configured to allow projects to create virtual networks using VXLAN
• lxcbr0: Provided NATed internet connectivity
UbuntuNet Alliance: Cloud
Network Plan - Bridges
UbuntuNet Alliance: Cloud
Software Plan
Minimum requirements are;• Latest version of Ubuntu, Debian or CentOS with all updates• Pick an operating system you are most comfortable with• The operating system should be easy to configure• SSH, NTP and Python3 on all nodes
UbuntuNet Alliance: Cloud
Openstack Ansible Deployment
UbuntuNet Alliance: Cloud
Deployment Features
OS on all nodes: Ubuntu20.04Openstack version: WallabyStorage used: LVMLoadbalancers: ● Controller● Compute
UbuntuNet Alliance: Cloud
Networks used for● br-mgmt: 10.10.0.0/22● br-storage: 10.20.0.0/22● br-vxlan: 10.30.0.0/22● br-vlan: 10.40.0.0/22
DNS record: cloud.ubuntunet.org
Pre-installation
UbuntuNet Alliance: Cloud
● Confirm that interfaces names are correct● Test connectivity among all nodes (all IPs)● Ensure full OS(Operating System) updates installed● Take a snapshot of the nodes if possible● Ensure that you have correct dates/timezones● Monitor resource utilisation
Deployment
Deployment will follow the same steps below, for each step, extra steps or configs will be mentionedNOTE: Various other config changes exist, you can look through the files to view them
UbuntuNet Alliance: Cloud
https://docs.openstack.org/project-deploy-guide/openstack-ansible/wallaby/overview.html
Prepare the Deployment host
With one of the controllers doubling as the deployer. You can;• Run all as is• Ignore container management network since you already have it
UbuntuNet Alliance: Cloud
https://docs.openstack.org/project-deploy-guide/openstack-ansible/wallaby/overview.html
Prepare the Target host
On this step, run all commands as is
Most importantly, confirm that all interface namings are correct
UbuntuNet Alliance: Cloud
https://docs.openstack.org/project-deploy-guide/openstack-ansible/wallaby/overview.html
Configure Deployment
After fact-checking all configs, some extra customizations can be very helpful. These can be edited from below
/opt/openstack-ansible/inventory/group_vars/• ./all/all.yml
• service_region : Desired name for your openstack region• dhcp_domain and openstack_domain
• ./
UbuntuNet Alliance: Cloud
https://docs.openstack.org/project-deploy-guide/openstack-ansible/wallaby/overview.html
Configure Deployment Cont’d
UbuntuNet Alliance: Cloud
https://docs.openstack.org/project-deploy-guide/openstack-ansible/wallaby/overview.html
Run Playbooks and Test
Last 2 can be merged because there’s not so much to do there.
Run playbooks in ‘screen’ or ‘tmux’ to ensure that network disruptions do not affect progress
At each step, confirm that there’s no errors
Confirm successful deployment by accessing the webdashboard for your deployment and a successful login
UbuntuNet Alliance: Cloud
https://docs.openstack.org/project-deploy-guide/openstack-ansible/wallaby/overview.html
Tests Cont’d
UbuntuNet Alliance: Cloud
Possible Sources of Errors
• Spelling error in the interface naming• Wrong passwords used• Indenting •
UbuntuNet Alliance: Cloud
https://docs.openstack.org/project-deploy-guide/openstack-ansible/wallaby/overview.html
Top Related