Red Hat Forum Tokyo - OpenStack Architecture

20,420 views

Published on

This was presented at the Red Hat Forum in Tokyo, November 2012. It's a basic getting started with OpenStack using RDO. It's the same as the OpenStack meetups presentation from November 2012

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
20,420
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
90
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Red Hat Forum Tokyo - OpenStack Architecture

  1. 1. Deploying RDO on Red Hat Enterprise Linux Dan Radez | Sr. Software Engineer, RED HAT
  2. 2. What is OpenStack ● Cloud/Virtualization Platform ● Designed for standard hardware ● OpenSource
  3. 3. Overview
  4. 4. Red Hat's Community OpenStack openstack.redhat.com
  5. 5. PackStack: Installation Red Hat developed OpenStack installer Deployment options Features ● Interactively ● Single-host install ● Answer file ● Multi-host install ● Quick Start ● RHOS, RDO, EPEL ● All-in-one
  6. 6. PackStack: Installation Install Defaults ● MySQL ● Qpid ● Swift Not Installed (--os-swift-install=y) ● Neutron (--os-neutron-install=n)
  7. 7. PackStack: Installation Install OpenStack
  8. 8. Killing time while PackStack works magic Relationship between OpenStack services
  9. 9. Killing time while PackStack works magic Relationship between OpenStack services
  10. 10. Killing time while PackStack works magic Relationship between OpenStack services
  11. 11. Killing time while PackStack works magic Relationship between OpenStack services
  12. 12. Killing time while PackStack works magic Relationship between OpenStack services
  13. 13. Killing time while PackStack works magic Relationship between OpenStack services
  14. 14. Killing time while PackStack works magic Relationship between OpenStack services
  15. 15. Killing time while PackStack works magic Relationship between OpenStack services
  16. 16. Dashboard: Web Interface
  17. 17. Dashboard: Web Interface ● web-based interface for managing OpenStack services ● modular design for interfacing with other projects ● includes interface for all core components
  18. 18. Dashboard: Web Interface
  19. 19. Dashboard: Web Interface
  20. 20. Dashboard: Web Interface Login to the Dashboard http://192.168.122.101/
  21. 21. Help! $ keystone help $ keystone help user-create $ glance help $ glance help image-create $ nova help $ nova help boot
  22. 22. Keystone: Identity Management
  23. 23. Keystone: Identity Management ● centralized identity service ● central catalog of services Multiple forms of authentication ● User name and password ● Token-based systems ● Amazon Web Services style logins
  24. 24. Keystone: Identity Management Login as admin [root@control ~]# cat keystonerc_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=5ffbe9d2a38d4a48 export OS_AUTH_URL=http://192.168.122.101:35357/v2.0/ export PS1="[u@h W(keystone_admin)]$ " [root@control ~]# source keystonerc_admin [root@control ~(keystone_admin)]#
  25. 25. Keystone: Identity Management Get a token / troubleshooting auth [root@control ~(keystone_admin)]# keystone token-get +­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+ |  Property |              Value               | +­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+ |  expires  |       2013­06­07T19:22:06Z       | |     id    | e50158f737f14791ae7831c955524de2 | | tenant_id | 70784578887b4468adacd92f2f376bc9 | |  user_id  | f4270a7b46af467892173a02d9cd49d4 | +­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
  26. 26. Keystone: Identity Management Add a User [root@control ~]# keystone user-create --name radez --pass supersecretpass id: 849616035d654b9b9a8cc38b10284a52 [root@control ~]# keystone role-create --name role1 id: 8ab4a27031084100afbafc0f95a47170 [root@control ~]# keystone tenant-create --name tenant1 Id: 427c01f33fcf4feb930f26dd550a14e0
  27. 27. Keystone: Identity Management Add a User [root@control ~]# keystone user-role-add --user-id radez --role-id role1 --tenant-id tenant1 [root@control ~]# keystone user-list [root@control ~]# keystone role-list [root@control ~]# keystone tenant-list [root@control ~]# keystone user-role-list [root@control ~]# keystone endpoint-list
  28. 28. Keystone: Identity Management Login as user [root@control ~]# cp keystonerc_admin keystonerc_radez export OS_USERNAME=radez export OS_TENANT_NAME=tenant1 export OS_PASSWORD=supersecretpass export OS_AUTH_URL=http://192.168.122.101:35357/v2.0/ export PS1="[u@h W(keystone_radez)]$ " [root@control ~]# source keystonerc_radez [root@control ~(keystone_radez)]# keystone token-get [root@control ~(keystone_radez)]# source keystonerc_admin [root@control ~(keystonerc_admin)]#
  29. 29. Keystone: Identity Management Add a user
  30. 30. Glance: Image Management
  31. 31. Glance: Image Management ● registry for virtual machine images ● images used as templates for new servers Add an image [root@control ~]# glance image-create --name cirros --is-public 1 --disk-format qcow2 --container-format bare --file /mnt/cirros-0.3.0-x86_64-disk.img id: d3d1f38e-3f2c-4f45-91e1-cb4535f62d10 [root@control ~]# glance image-list
  32. 32. Glance: Image Management Image Building ● Oz ● appliance-creator ● Native glance builder in the works ● Manually (launch installer, import before first boot) Build Notes: ● Include cloudinit for post boot configuration
  33. 33. Glance: Image Management Add an image
  34. 34. Neutron: Networking
  35. 35. Neutron: Networking ● networking as a service ● built in modular architecture Features ● Single or Multiple host deployment ● virtual network, subnet, and port abstractions ● Plugin architecture supports many network technologies
  36. 36. Neutron: Networking Add a network
  37. 37. Nova: Instance Management
  38. 38. Nova: Instance Management ● manages virtual machines on nodes ● provides virtual servers on demand Design Features ● Designed to scale horizontally ● Designed for standard hardware
  39. 39. Nova: Instance Management Boot an instance [root@control ~]# nova flavor-list [root@control ~]# nova keypair-add --pub-key .ssh/id_rsa.pub mykey [root@control ~]# nova keypair-list mykey | 84:6e:28:d3:75:17:ab:25:4d:f3:0d:61:93:55:ee:e2 [root@control ~]# nova image-list [root@control ~]# nova boot --flavor 1 --key_name mykey --image cirros my_instance [root@control ~]# nova list
  40. 40. Nova: Instance Management Boot an Instance
  41. 41. Nova: Instance Management Communicate with the instance [root@control ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static NM_CONTROLLED="no" ONBOOT=yes TYPE=Ethernet [root@control ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex DEVICE=br-ex BOOTPROTO=static IPADDR=192.168.122.101 GATEWAY=192.168.122.1 NETMASK=255.255.255.0 NM_CONTROLLED="no" ONBOOT=no
  42. 42. Nova: Instance Management Communicate with the instance [root@control ~]# ovs-vsctl add-port br-ex eth0 && service network restart [root@control ~]# ovs-vsctl show Bridge br-ex Port br-ex Interface br-ex type: internal Port "eth0" Interface "eth0"
  43. 43. Nova: Instance Management Communicate with the instance [root@control ~]# ping 192.168.122.3 PING 192.168.122.3 (192.168.122.3) 56(84) bytes of data. 64 bytes from 192.168.122.3: icmp_seq=2 ttl=63 time=0.668 ms [root@control ~]# ssh root@192.168.122.3 The authenticity of host '192.168.122.3 (192.168.122.3)' can't be established. RSA key fingerprint is 38:49:f2:67:80:11:31:84:1f:b1:79:df:5f:e4:e5:f7. Are you sure you want to continue connecting (yes/no)? Yes Warning: Permanently added '192.168.122.3' (RSA) to the list of known hosts. $
  44. 44. Nova: Instance Management Allow external access
  45. 45. Cinder: Block Storage
  46. 46. Cinder: Block Storage ● manages persistent block storage volumes ● snapshots can be taken Create and attach a volume [root@control ~]# cinder create 1 id: 4d6cbb1f-5873-4357-99c7-8ae0502e6de5 [root@control ~]# nova volume-attach my_instance 4d6cbb1f-5873-4357-99c7-8ae0502e6de5 auto
  47. 47. Cinder: Block Storage Mount a volume [root@control ~]# ssh -i .ssh/id_rsa root@192.168.122.3 my_instance$ sudo -i my_instance# mkfs.ext4 /dev/vdb my_instance# mkdir -p /mnt/volume my_instance# mount /dev/vdb /mnt/volume my_instance# touch /mnt/volume/test.txt my_instance# umount /mnt/volume [root@control ~]# nova volume-detach my_instance 4d6cbb1f-5873-4357-99c7-8ae0502e6de5
  48. 48. Cinder: Block Storage Create, attach and mount a volume
  49. 49. Swift: Object Storage
  50. 50. Swift: Object Storage Install Swift /root/packstack-answers-20130614-091000.txt CONFIG_SWIFT_INSTALL=n [root@control ~]# packstack --answer-file packstack.txt Generating a packstack answer file [root@control ~]# packstack --gen-answer-file answers.txt
  51. 51. Swift: Object Storage ● allows users to store and retrieve files ● distributed architecture to allow for horizontal scaling ● provides redundancy as failure-proofing ● data replication is managed by software
  52. 52. Swift: Object Storage Upload an object [root@control ~]# swift stat [root@control ~]# swift list [root@control ~]# swift upload test packstack-answers.txt [root@control ~]# swift list [root@control ~]# swift list test [root@control ~]# swift upload test /etc/motd [root@control ~]# swift list test
  53. 53. Swift: Object Storage Create a container & upload an object
  54. 54. Review
  55. 55. Resources ● ● RDO: openstack.redhat.com https://access.redhat.com/knowledge/docs/enUS/Red_Hat_OpenStack ● OpenStack.org ● TryStack.org ● Puppetlabs.com ● Djangoproject.com ● Oz: https://github.com/clalancette/oz/ ● https://github.com/redhat-openstack/image-building-poc ● http://radez.fedorapeople.org/RHForum_slides1.pdf

×