deploying rdo on red hat enterprise linuxjp-redhat.com/forum/tt/pdf/2-g.pdf · deploying rdo on red...

Post on 22-Jun-2018

285 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Deploying RDO onRed Hat Enterprise LinuxDan Radez | Sr. Software Engineer, RED HAT

What is OpenStack

● Cloud/Virtualization Platform

● Designed for standard hardware

● OpenSource

Overview

PackStack: Installation

Red Hat developed OpenStack installer

Deployment options

● Interactively

● Answer file

● Quick Start

● All-in-one

Features

● Single-host install

● Multi-host install

● RHOS, RDO, EPEL

PackStack: Installation

Install Defaults

● MySQL

● Qpid

● Swift Not Installed (--os-swift-install=y)

● Neutron (--os-quantum-install=n)

PackStack: Installation

Install OpenStack

Killing time while PackStack works magic

Relationship between OpenStack services

Killing time while PackStack works magic

Relationship between OpenStack services

Killing time while PackStack works magic

Relationship between OpenStack services

Killing time while PackStack works magic

Relationship between OpenStack services

Killing time while PackStack works magic

Relationship between OpenStack services

Killing time while PackStack works magic

Relationship between OpenStack services

Killing time while PackStack works magic

Relationship between OpenStack services

Killing time while PackStack works magic

Relationship between OpenStack services

Dashboard: Web Interface

Dashboard: Web Interface

● web-based interface for managing OpenStack services

● modular design for interfacing with other projects

● includes interface for all core components

Dashboard: Web Interface

Dashboard: Web Interface

Dashboard: Web Interface

Login to the Dashboard

http://192.168.122.101/

Help!

$ keystone help$ keystone help user-create$ glance help$ glance help image-create$ nova help$ nova help boot

Keystone: Identity Management

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

Keystone: Identity Management

Login as admin

[root@control ~]# cat keystonerc_adminexport OS_USERNAME=adminexport OS_TENANT_NAME=adminexport OS_PASSWORD=5ffbe9d2a38d4a48export 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)]#

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 |+­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+

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

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

Keystone: Identity Management

Login as user

[root@control ~]# cp keystonerc_admin keystonerc_radezexport OS_USERNAME=radezexport OS_TENANT_NAME=tenant1export OS_PASSWORD=supersecretpassexport 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)]#

Keystone: Identity Management

Add a user

Glance: Image Management

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

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

Glance: Image Management

Add an image

Neutron: Networking

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

Neutron: Networking

Add a network

Nova: Instance Management

Nova: Instance Management

● manages virtual machines on nodes

● provides virtual servers on demand

Design Features

● Designed to scale horizontally

● Designed for standard hardware

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

Nova: Instance Management

Boot an Instance

Nova: Instance Management

Communicate with the instance

[root@control ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticNM_CONTROLLED="no"ONBOOT=yesTYPE=Ethernet

[root@control ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-exDEVICE=br-exBOOTPROTO=staticIPADDR=192.168.122.101GATEWAY=192.168.122.1NETMASK=255.255.255.0NM_CONTROLLED="no"ONBOOT=no

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"

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)? YesWarning: Permanently added '192.168.122.3' (RSA) to the list of known hosts.

$

Nova: Instance Management

Allow external access

Cinder: Block Storage

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

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

Cinder: Block Storage

Create, attach and mount a volume

Swift: Object Storage

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

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

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

Swift: Object Storage

Create a container & upload an object

Review

Resources

● RDO: openstack.redhat.com

● https://access.redhat.com/knowledge/docs/en-US/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.tar.gz

top related