openstack · อาทเิช่น rackspace, mirantis, cisco, redhat, etc. •ยังมี...
Post on 08-May-2018
229 Views
Preview:
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 หรอพฒนาตอยอดหรอเพม
top related