
Openstack is platform made to provide cloud computing orchestration.
Openstack Component
- Compute
- Network
- Storage
- Compute is made using KVM as default compute hypervisor to virtualiz OS which uses tap interface bridge to connect outside network.
- Network is nothing but Bridge(Linux Bridge/Open V switch), Veth Pair,Tap interface and Linux Network Name Space. On compute node tap interface of instance bridged (also bridge where iptables or openflow rules used as filter of security group rules or firewall) with vxlan vtep interface. That traffic reach to network node on bridge where there is vtep vxlan interface exist. Now on Network Node, vtep is connected with vethpair with Linux Network Name space of dhcp and another Linux network name spacer of routing. Linux network name space of dhcp runs dnsmasq (its also possible to run this on compute node along with network node) and gives IP to instance on compute instance while routing will give routing or iptables/openflow rule for external gateway. Routing name space has another vethpair which connected to another/external network via bridge. And Iptables rules or openflow send traffic from vxlan to vlan via external gateway with masking source IP as SNAT to external IP. If “Openvswitch is L3 driver and firewall driver then there will be internal port which will be in router & dhcp name space. And in that case router name space, it will add two different port from two different vlan or vni id where routing table will route (openflow will do internal tag mapping with external or tunnel bridge vtep vni) and in case of gateway it will also snat via openflow. And in case of dhcp, that port will forward dhcp packet toward vtep interface. And in case of firewall internal port will be tap as well as ovs port and openflow rules will do firewalling.” Remember VM instance interface if tap interface then it is always bridge and vethpair used where want to connect with Linux Network Name Space. Also to connect mutltiple bridge with each other, veth pair can be used. Also patch port is used in OVS to forward traffic from one bridge to another. In case of OVS we can use internal port instead veth pair to connect with Linux Network Name Space. Main use of Linux Network Name Space is that you can run any program in that name space like dhcp server, routing command iptables etc.
- Storage is used via iscsi storage pool and that pool given volume group name cinder-volume. This cinder-volume is served by cinder-volume service as block storage on storage node. For Swift on storage node there are service like account,container and object and they are assigned to on storage directory to use as backend storage. Swift provide object storage like S3.
Leave a comment