openstack · อาทเิช่น rackspace, mirantis, cisco, redhat, etc. •ยังมี...
TRANSCRIPT
OpenStackExperiences over the years
vasabilab.cs.tu.ac.th
Thammasat University
OpenStackExperiences over the years
Kasidit Chanchio และ Vasabilab Team
Department of Computer Science
Faculty of Science & Technology
Thammasat University
http://vasabilab.cs.tu.ac.th
Outline
• OpenStack คออะไร • พฒนาการ Over the years
– เพม Components – ปรบปรง Networking– มผพฒนา High Availability Solutions มากขน – ท า Installation ใหงายขน– สงเสรม Interoperability กบเทคโนโลยอนๆ
• สรป
OpenStack คออะไร
แนะน ำ OpenStack
• ระบบ OpenStack เปนซอฟตแวรบรหารจดการๆประมวลผลแบบกลมเมฆ Cloud Management Software แบบ Open Source ทไดรบความนยมเปนอยางมาก http://www.openstack.org– Version ปจจบนชอวา OpenStack Mitaka (ปท
6)
• เรมตนเปน IaaS แตในปจจบนเปนมากกวานน• อนญาตใหผไชสราง Public Cloud เพอใหบรการ Cloud ในวงกวาง
• อนญาตใหผไชสราง Private Cloud ใน
แนะน ำ OpenStack
• มผเขารวม contribute codes เปนจ านวนมาก รวมทงบรษทใหญๆ เชน vmware IBM, Red-hat, Dell, Mirantis, HP, Google อนๆ
• ม OpenStack Foundation เปนผบรหารจดการ
• มการจด Event เพอเผยแพร Software อยางตอเนอง
• มบรษททน าไปใชงานจรงในระดบ Production เพมขน
• ในปจจบนม Vendor หลายแหง Offer OpenStack version ของตนเองทเพม
Features
• ใหบรการจดสรรทรพยาการหนวยประมวลผล เชน virtual machines และ container และเครองจรง
• ใหบรการจดการระบบเครอขาย virtual networks
• ใหบรการจดการระบบจดเกบขอมล virtual storages
• ใหบรการประสานการปฏบตงานของสวนประกอบทหลากหลาย
• ในใหบรการทงแบบ IAAS PAAS และ SAAS อนๆอกมากมาย
เรมตนจำก Servers และ LAN
สรำง Physical Layer
Core Components
• Keystone: ใหบรการ authentication• Glance: ใหบรการจดการ virtual machine
image & snapshots• Nova: ใหบรการจดการ virtual machine• Neutron: ใหบรการ virtual network• Horizon: ใหบรการ Web-based User
Interface• Cielometer: ใหบรการวดปรมาณการใช
resources และสง Notify ตามเงอนไขทผใชก าหนด
• Swift: ใหบรการ object storages
keystone
glance
nova
neutron
Horizon and others
หลกกำรของ OpenStack
• ความปลอดภยส าคญทสด– การใชบรการทก component ตองผานการ
authentication โดย keystone– ม security group หรอ Firewall rules ส าหรบทก virtual machines
• การสงงานทก component ตองมมาตรฐานเดยวกน– ทก component ตองม API ทชดเจน – การสงงานและประสานงานระหวาง component ท าผาน API เทานน
หลกกำรของ OpenStack (cont)
• ระบบตองทนทานตอความผดพลาด – การสอสารท าผาน Persistent Message Queue– Component กลบมาท างานไดตามปกตในภายหลง– มขอเสนอแนะในการท า High Availability
• ปฏบตงานรวมกบ software อนได– ม plugin drivers ส าหรบตดตอกบ Hardware และ software แบบตางๆ
– เชอมตอและท างานรวมกนกบเทคโนโลยอนๆไดเชน SDN
Over the years
• สรางบรการใหมจากบรการทมอย–ใหบรการ IaaS PaaS SaaS และอนๆดวย
• เพมความสามารถและความนาเชอถอของบรการทมอย
• เพมการท า High Availability ให OpenStack Services
• ท าให Document ดขนและตรงกบความเปนจรง
• ท าใหการ Installation งายขน• สงเสรมการ Integration กบเทคโนโลยอนๆ
เพม Components ใหม
ม Components ใหบรกำรหลำกหลำย
• ในปจจบนม Project ส าหรบพฒนา Component ใหมๆ กวา 19 Projects (เขาชม list ไดท OpenStack Web site)
• บน OpenStack web site แสดง Maturity ของแตละ Project
• Components ทมอยไดรบการ Bug Fix อยางตอเนอง
• Basic Component ททกๆ component ใชไดแก– Keystone, Horizon, Ceilometer
• พยายามออกแบบ Component ใหใช
ไมไชแค IaaS อกตอไป
• Heat Orchestration: จดการการประสานงานระหวางสงตางๆ
• Ironic: ใหบรการสรางและบรหารจดการเครองจรง
• Sahara: ใหบรการ map reduce processing• Magnum: ใหบรการ บรหารจดการ
container • Trove: ใหบรการ database• Manila: ใหบรการ shared file system• Murano: ใหบรการ Application Catalog
Heat: ประสำนทกสวน
• ใหบรการใหผใชสามารถก าหนดโครงสราง Infrastructure ตางๆทจ าเปนส าหรบรน Application รวมทงการเพมลดแบบ auto-scaling
• ใชบรการของ Keystone ส าหรบ authentication และ Horizon แสดงภาพของ Template
• ผใชสราง Template (HOT หรอ CloudFormation format) เพอก าหนดสงทตนตองการในการรน Applications
• ก าหนด VMs และ Networks ส าหรบรน Wordpress และ mySQL backend (ใช
ขยำยชนดของ Compute Instances
• เรมจาก VM instance• ขยายชนดของ Instance เปนเครองจรง
• รองรบ Instance ทเปน Process ส าหรบประมวลผลเฉพาะทางเชน MapReduce
• รองรบ Instance ทเปน Container (สามารถมองไดเปน ครอบครวของ Processes ทแยก cgroup, name space และ images) – รนบน VM– รนบนเครองจรง
OS
Hypervisor
VM
processCon-tainer
Hardware
OS image
Hardwareinstance
processCon-tainer
Ironic: ใชงำนเครองจรง
• ใหบรการบรหารจดการเครองจรงส าหรบใชงาน (แทนทจะเปน VM) ในระบบ Cloud – ใช Preboot Execution
Environment (PXE ) เพอ load OS image ใหกบเครองจรงผาน Network
– ใช Intelligent Platform Management Interface (IPMI) จดการเปดปดเครอง จดการ BIOS และก าหนดคาพารามเตอรตางๆ
• ในปจจบนใช Flat Network แตม Project ส าหรบ
OpenStack
เครองจรง
เครองจรง
เครองจรง
เครองจรง
เครองจรง
เครองจรง
ironic nova
Sahara: รนโปรแกรม
• ใหบรการก าหนด Image และ Clusterรวมทง input/output และ job ส าหรบรน Hadoop Map-reduce Applications
• ใชบรการของ Keystone ส าหรบ authentication และ Horizon ส าหรบสงงานและด progress
• ใช Glance ส าหรบ register Hadoopimage ใช Nova ส าหรบรน HadoopCluster ใช Swift ส าหรบเกบ Job binary และ Input/Output ใช Ironic ส าหรบรน job บนเครองจรง
• Sahara ใหบรการ launch Job execution
Magnum: รนหลำกหลำย Containers
• ใหบรการ Container as a Service (CaaS) ทอนญาตใหผใชรน Container Technology ทหลากหลายไมวาจะเปนDockerSwarm, Kubernetes, Mesos บน OpenStackVM หรอ เครองจรง
• ใช Heat, Nova, Ironic, Neutron etc.
• Bay = กลมของ Instances ทใชรน Container (รนหลาย Bay พรอมกนได เชน Bay 1 รน Kuber
OpenStack
magnum
VM เครองจรง
docker
kubernetes
mesos
Bay
Murano Carina
เพมควำมสำมำรถของ Core Componentและเพมบรกำร High Availability
ควำมสำมำรถทมำกขนของ neutron
• ปทแลวมบรการ self-service network, DNAT, SNAT
• OpenStack Liberty + Mitaka เพมบรการ – Provider network + Self-service network, – VLAN network, – DVR (High Availability)
• เฉพาะดาน LBaaS, QoS, BGP routing, High Availability DHCP, DNS, IPv6, RBAC, SR-IOV, SDN SFC, etc.
• ทกๆ Component มพฒนาการอยางตอเนอง
Classic ovs net
Classic ovs net
Dvr network
DVR network
vlan network
มแนวทำงใหบรกำร High Availability ทชดเจนขน
หลกกำร High Availability
• HA มเพอลดเวลา Downtime และ ลดการสญหายของขอมล (Data Loss): ยกตวอยางเชน HA 99% หมายถงม Downtime ได 3.65 วนตอป ในขณะท HA 99.99% ม Downtime ได 52.56 นาทตอป (สามารถท าไดจรงบน OpenStack อางอง Official HA Guide)
• HA เปนความพยายามขจด Single-point of Failure ของระบบ
• Active/Passive เปน HA แบบทในขณะหนงมเพยง Master Service เดยวใหบรการและจะActivate Standby Service เมอ Master ลม
บรกำร High Availability
• ไดรบประสบการณจรงจากการสราง High Availability ใน Production Deployment ของ Vendors ตางๆใน 5 ปทผานมา
• จาก official web site, OpenStack ระบแนวทางในการใหบรการ HA ส าหรบ OpenStackcomponents แตไมไดคลอบคลม guest vm(ผใชตองท า image snapshot หรอ backup data หรอ task checkpointing หรอ VM checkpointing เอง)
• Controller Node และ Network Node: ระบแนวทางตดตง Active/Passive และ Active/Active ส าหรบ service– ใช Pacemaker และ Keepalive
HA ส ำหรบ Controller Services
• แยกพจารณาจากลกษณะของ OpenStackServices วาเปน Stateless หรอ Statefulดงน– Stateless: Web Server, OpenStack API, Nova
scheduler, etc.– Stateful: MySQL, RabbitMQ, etc.
• และเลอกใหบรการแบบ Active/Passive หรอ Active/Active ส าหรบ Services แตละอยาง
• ในปจจบนม Solutions จากหลาย Vendors อาทเชน Rackspace, Mirantis, Cisco, RedHat, etc.
• ยงม Limitations ทระบใน OpenStack HA
Rackspace HA solution
อางองจาก : http://blog.rackspace.com/implementing-high-availability-ha-for-rackspace-private-cloud
Mirantis HA solution
อางองจาก: https://www.mirantis.com/blog/understanding-options-deployment-topologies
-high-availability-ha-openstack/
กำรตดตง OpenStack
ภำพรวมของ OpenStack Installation
• ในปจจบนมหลายวธในการตดตง OpenStack– Red Hat RDO, Mirantis Fuel, OpenStack
Ansible
• แตทกวธต งอยบนพนฐานของการตดตง Core Component ทระบใน OpenStack Official Installation Guide
• พนฐานทส าคญทสดคอ ความรเกยวกบ Core Components ของระบบ และทไปทมาของ component เหลานน– ท าใหสามารถปรบเพมลด Features ไดตามตองการ
OpenStack Installation Guide
• ในปจจบน OpenStack Installation Guide ดและชดเจนขนมาก
• เนนตวอยางการตดตงระบบขนาดเลกทประกอบดวย 2 nodes
• แตกลบขาดขนตอนทชดเจนในการตดตงแบบ Classic OVS network และแบบ DVR network และแบบอนๆ – ตองหาขอมลจาก document ของ OpenStack
KILO – หาจาก Contribute ของผใช
• ยงไมม document ทอธบายวธการ
กำร Installation ทงำยขน
• น า container มาใชท าใหการตดตงงายขน – OpenStack Ansible: น า Doscker Technology มาท าใหการตดตง OpenStack Component งายขน
• น า OpenStack Ironic มาใชท าใหการตดตงงายขน – Triple O: เรมจาก OpenStack เลกๆ และใช
OpenStack Ironic ตดตง OpenStack images บน Physical Nodes และได OpenStack ใหญ
• สราง Process เพอชวยการตดตงและ
Integration กบเทคโนโลยอน
ประสำนกำรท ำงำนกบเทคโนโลยอน
• OpenStack และ SDN integration– Neutron Plugin to OpenDayLight– Neutron Plugin for ONOS
• OpenStack และ container interoperability/integration – รน Container รวมกบ OpenStack: Mesosสามารถใช OpenStack VM ส าหรบรน Container Orchestration
– รน Container ใน OpenStack: เชนใน Magnum, Murano, และ Carina
– รน OpenStack บน Container: รน
SDN Integration
• SDN เปรยบเทยบกบ Computer Layer Model
D. Kreutz et al. “Software-Desfined Networking: A comprehensive Survey.”
• OpenDayLight คอ SDN controller หนงทเปนความรวมมอกนของกวา 36 บรษทเพอสราง
Operating System
App
CPU
App App
SDN Controller
Net App
Fwd Device
Net App Net App
…..
…..
Memory Fwd Device …..
ทมา: https://sreeninet.files.wordpress.com/2014/04/odl_virt1.png
OpenDayLight Integration
• Neutron สามารถใช OpenDayLight เปน Network Controller
• ท าให Datacenter สามารถควบคม Virtual Switch และ OpenFlow switch (hardware) ไดโดยใช OpenDayLight Controller และ Network Applications ตางๆ – Network Virtualization, – QoS, – Traffic Engineering, – Other Net Apps (e.g. Security Apps)
ODL integration
Openstack and OpenDayLightIntegration
OpenDayLight Integration
• OpenDayLight ม Features ทสนบสนนการท างานของ Neutron เกอบทกความสามารถ ยกเวน Security Group (Firewall)– OpenDayLight ม Network Application ทจดการเรอง Firewall อยแลวไดแก Virtual Tenant Network (VTN)
• OpenDayLight ท าใหลดจ านวน Bridge ภายใน neutron ลง
• ท vasabilab เราเขยนวธการ Integrate OpenStack Mitaka แบบ Classic OVS network และ OpenDayLight Beryllium ไว
สรป
• ในปจจบน OpenStack เปน Software ท Features พรอมส าหรบใชงานเปน Production Public และ Private Cloud
• OpenStack คอกลมคนทท างานรวมกนเพอประโยชนสวนรวม
• เปน Software ทปรบตวท างานรวมกบเทคโนโลยอนๆได แตในขณะเดยวกนกรกษาแนวทางของตนเอง
• ความเขาใจใน Installation Guide ของOpenStack ยงเปนพนฐานทส าคญส าหรบการ Admin หรอพฒนาตอยอดหรอเพม