650) this.width=650; "title=" "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160403-1459686062320040176.jpg "style=" Border:none;color:rgb (51,51,51); font-family: ' Microsoft Yahei '; font-size:14px;line-height:26px; "/>
Before learning about OpenStack services, let's build an experimental environment first.
There is no doubt that OpenStack, which can see the touch and allow us to toss it around, will improve our learning efficiency.
Because it is our own experimental environment, Cloudman recommends the use of devstackhttp://docs.openstack.org/developer/devstack/
Devstack's wide range of options gives us the flexibility to select and deploy the desired OpenStack service, which is ideal for learning and research.
Deployment Topology
Let's start by designing the deployment topology for OpenStack.
OpenStack is a distributed system that consists of nodes of several different functions:
Control nodes (Controller node) manages OpenStack, which operates on services that are Keystone, Glance, Horizon, and management-related components in Nova and Neutron. The control node also runs services that support OpenStack, such as SQL database (typically MySQL), Message Queuing (usually RabbitMQ), and network Time service NTP.
The network node on which the service is running is Neutron. Provides L2 and L3 networks for OpenStack. This includes virtual machine networking, DHCP, routing, NAT, and so on.
The storage node (Storage node) provides block storage (Cinder) or object storage (Swift) services.
The compute node (Compute node) runs Hypervisor on it (using KVM by default). The agent that runs the Neutron service at the same time provides network support for the virtual machine.
These types of nodes are logically partitioned from functionality, and can be flexibly configured as needed in real-world deployments, such as:
In a large-scale openstack production environment, each type of node is deployed on several physical servers, each with its own roles and collaboration.
This environment has good performance, scalability, and high availability.
In the smallest lab environment, you can deploy 4 of nodes to a physical or even virtual server.
Perfectly formed, usually also known as All-in-one deployment.
In our experimental environment, in order to make the topology concise and functional, we use two virtual machines:
-
devstack-controller: Control node + Network node + block storage node + COMPUTE node
-
devstack-compute: Compute node
650) this.width=650; "title=" "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160403-1459686062619002987.jpg "style=" border:none;font-family: ' Microsoft Yahei '; font-size:14px;line-height:26px;white-space:normal; "/>
Physical Resource requirements
650) this.width=650; "title=" "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160403-1459686062793065054.jpg "style=" Border:none;color:rgb (51,51,51); font-family: ' Microsoft Yahei '; font-size:14px;line-height:26px; "/>
CPU and memory for reference.
If you are creating a virtual machine deployment on your own PC, resources may not be available and can be adjusted appropriately.
Network Planning
650) this.width=650; "Src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160404-1459724662268078986.png "title=" "style=" Border:none;color:rgb (51,51,51); font-family: ' Microsoft Yahei '; Font-size:14px;line-height:26px;white-space:normal;background-color:rgb ( 255,255,255); "/>
Three networks are planned on the network:
Management Network: Used for OpenStack internal management, such as communication between services. Use eth0 here
VM (Tenant) Network:openstack The network that is used by the virtual machines that are deployed. OpenStack supports multi-tenancy (Tenant), the virtual machine is placed under Tenant, so called Tenant Network. Use eth1 here
External Network: In general, Tenant networks are internal private, only used for communication between VMS and are isolated from other non-VM networks. Here we plan an external network (External networks), connected via the Devstak-controller eth2. Neutron enables VMS to access the External Network through the L3 service. For public clouds, External Network is generally referred to as the Internet. For an enterprise private cloud, the External network can be one of the networks in the Intranet.
The next section begins the deployment of control nodes and compute nodes.
650) this.width=650; "title=" "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160403-1459686063198046301.jpg "style=" Border:0px;vertical-align:middle;color:rgb ( 63,63,63); font-family: ' Microsoft Yahei '; Font-size:15px;line-height:21.75px;text-align:justify;background-color: RGB (246,246,246); "/>
Build OpenStack Lab Environment-5 minutes a day to play OpenStack (16)