Slide 1

Slide 1 text

使用 Ansible 快速部署 跟應用你的 OpenStack 環境 https://goo.gl/S2AUvy

Slide 2

Slide 2 text

Who Am I - OpenStack Active User Contributor - Former OpenStack Foundation Intern - Organizer at OpenStack Taiwan User Group - Student at NCTU - [email protected]

Slide 3

Slide 3 text

Ansible https://www.ansible.com/

Slide 4

Slide 4 text

IT is complex and difficult ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Ansible makes IT easier ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 7

Slide 7 text

• Provisioning • Configuration Management • Application Deployment ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO • Continuous Delivery • Security and Compliance • Orchestration

Slide 8

Slide 8 text

ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 9

Slide 9 text

ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 10

Slide 10 text

ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 11

Slide 11 text

• Simple • One task do one thing • Agent-less • Extensible • Lots of modules ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 12

Slide 12 text

ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 13

Slide 13 text

ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 14

Slide 14 text

OpenStack-Ansible https://docs.openstack.org/developer/openstack-ansible/

Slide 15

Slide 15 text

• Ansible Playbooks for deploying OpenStack • Supports installation of most of the OpenStack Projects • Deploys OpenStack on LXC (or baremetal) • Deploys OpenStack from Source • Scalable while also being simple to operate, upgrade, and grow • Ceph Ansible integration ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 16

Slide 16 text

• Need to manaul install Operating System • Required to setup network bridges • At least 4 nodes minimum (infra, compute, storage, log) ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO Drawbacks:

Slide 17

Slide 17 text

• MariaDB with Galera • Memcached • Repository • Load balancer • Log aggregation host • Unbound DNS container ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 18

Slide 18 text

• Bare Metal (ironic) • Block Storage (cinder) • Compute (nova) • Container Infrastructure Management (magnum) • Dashboard (horizon) • Data Processing (sahara) • Identity (keystone) • Image (glance) • Networking (neutron) • Object Storage (swift) • Orchestration (heat) • Telemetry (aodh, ceilometer, gnocchi) ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 19

Slide 19 text

ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 20

Slide 20 text

ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES DEMO

Slide 21

Slide 21 text

Kolla-Ansible https://docs.openstack.org/kolla-ansible/latest/

Slide 22

Slide 22 text

• Production-ready container deployment tool • Supports installation of most of the OpenStack Projects • Very fast to deploy, highly scable • Ceph integration • Immutable infrastructure DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 23

Slide 23 text

• Need to manaul install Operating System • Network bonding • No built-in tools to monitor OpenStack service containers status DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES Drawbacks:

Slide 24

Slide 24 text

1. Install Operating System 2. Edit config files (globals.yml, inventory) 3. bootstrap-servers, prechecks, deploy DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 25

Slide 25 text

DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 26

Slide 26 text

DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 27

Slide 27 text

• Docker • Like Containers • Immutable Infrastructure • Deploy from pre-built images • LXC or Baremetal • More like VMs • Fully based on Ansible • Deploy from source OpenStack-Ansible Kolla-Ansible DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Ansible OpenStack Modules http://docs.ansible.com/ansible/list_of_cloud_modules.html

Slide 30

Slide 30 text

• Ansible Modules for managing OpenStack Clouds • Supports Nova, Keystone, Glance, Neutron, Ironic, Cinder, Swift • Will do almost the same as a HEAT template • Easy to manage full stack automation • Hide difference in datacenter architecture DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 31

Slide 31 text

• Keystone: user, groups, roles, projects • Nova: servers, keypairs, security groups, flavors • Neutron: network, ports, subnet, routers, floating IPs • Ironic: nodes, introspection • Swift Objects • Cinder Volume • Glance Image DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 32

Slide 32 text

DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES - name: Create test node os_server: state: present auth: "{{ auth }}" name: test image: "cirros" key_name: "openstack-tests" timeout: 200 flavor: test security_groups: test_sg floating_ip_pools: "{{ env.public_net_name | default(omit) }}" - name: Create a volume for test instance os_server_volume: state: present auth: "{{ auth }}" server: test volume: test_volume device: "/dev/vdb"

Slide 33

Slide 33 text

DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 34

Slide 34 text

• Runs on datacenters • Only for virtual resources • Just delete the stack • Only cloud-init scripts to provision servers • Runs on your laptop • Common langauge for full stack IT • Have to keep track and manaully delete resource • Easier to provision servers after creation Ansible Heat DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 35

Slide 35 text

Demo https://github.com/openstack/osops-tools-contrib/tree/mast er/ansible/lampstack

Slide 36

Slide 36 text

DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES • 2 load balancers, 2 webservers, 1 database server • Cinder volume for database storage • Security groups for firewall • Install Wordpress on webservers

Slide 37

Slide 37 text

DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES HAProxy Load Balancer Database Server Cinder Volume

Slide 38

Slide 38 text

With Ansible. No one needs to come in on Saturday

Slide 39

Slide 39 text

Q&A DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 40

Slide 40 text

$ sudo apt-get install python-pip $ sudo pip install virtualenvwrapper $ sudo apt-get install python-heatclient python-openstackclient python-shade DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 41

Slide 41 text

$ mkdir $HOME/.virtualenvs add these lines to .bashrc export WORKON_HOME=$HOME/.virtualenvs source /usr/bin/virtualenvwrapper.sh $ source ~/.bashrc $ mkvirtualenv ansible2 --system-site-packages DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES

Slide 42

Slide 42 text

(ansible2) $ pip install ansible (ansible2) $ ansible --version (ansible2) $ pip install shade --upgrade DEMO ANSIBLE OPENSTACK ANSIBLE KOLLA ANSIBLE OPENSTACK MODULES