OpenStack實戰指南 筆記
OpenStack實戰指南
目錄 |
OpenStack簡介
- 2010,來自於NASA Nebula(之前用的是Eucalyptus) + Rackspace Swift
- vs CloudStack
- p7 Apache專案成員均以個人名義列入,而不是他們所代表的公司
- Neutron接受來自虛擬機器的指令來定義VM需要的網路,然後轉發給交換機和路由器建立這些網路(SDN?)
- OpenStack為分散式元件模式(不可熱插拔?),CloudStack是一個可插拔式的模型
- 都支援KVM、Xen、VMWare,OpenStack還支援Hyper-V、PowerVM、LXC via libvirt、Baremental、QEMU、Docker
- 建立虛擬機器例項
- Horizon將使用者的HTTP請求轉換為REST分發給Nova API,這期間會將映象檔案下載到Nova節點,並進行虛擬機器配置
- 非核心專案
- Ironic:管理物理機的生命週期?
- 前身:Nova baremental驅動,主要通過PXE和IPMI進行管理?
- Tempest:功能測試、整合測試;基於unittest2和nose
- Ironic:管理物理機的生命週期?
OpenStack安裝
- OpenStack通過AMQP實現RPC服務:RabbitMQ、Qpid、ZeroMQ
- 新增Havana的源(Ubuntu 12.04預設是Essex)
- # apt-get install -y python-software-properties
- # add-apt-repository cloud-archive;avana
- # apt-get update
- # apt-get upgrade -y
- # apt-get dist-upgrade -y
- # apt-get install -y ntp
- # apt-get install -y mysql-server python-mysqldb
- sed -I"s/127.0.0.1/10.80.80.10/" /etc/mysql/my.conf (這麼修改mysql配置檔案可靠嗎?)
- # apt-get install -y rabbitmq-server
- rabbitmqctl change_password guest NEWPWD
- 安裝部署Keystone
- # vi /etc/keystone/keystone.conf:admin_token?
- # keystone-manage db_sync(有點rails風格)
- p41 建立Tenant、使用者、角色(略)
- # keystone user-role-add --user admin --role admin --tenant admin
- 定義Services和API Endpoints
- 安裝Glance映象元件(主要包括glance-api和glance-registry兩個服務)
- 略
- # glance image-create --name my1stimg --is-public true --container-format bare --disk-format qcow2 --file a.img
- 安裝Neutron元件(實際實現依賴與更底層的Open vSwitch、Nicira等)
- 當Grizzly版本釋出後,網路元件改名叫Neutron,以前叫Quantum
- 安裝Nova(略)
- 安裝Cinder(略)
- 安裝Horizon(略)
- 網路節點的安裝*(這部分內容感覺有點技術含量啊)
- 負責虛擬機器的網路控制,包括DHCP、虛擬路由、公網訪問等,使用Open vSwitch作為底層驅動
- 計算節點的安裝
- 負責執行虛擬機器,KVM + libvirt
- 塊儲存節點的安裝(負責提供volume)
- *在Ubuntu上使用原始碼編譯安裝
- p68 學習DevStack
- p71 使用tmux啟動keystone(tmux看起來是個不錯的工具,它和一般shell/ssh的區別是什麼?)
- $ tmux new-session -s keystone
- $ bin/keystone-all --config-file /etc/keystone/keystone.conf
- 下略
OpenStack組織結構一覽
- 在Grizzly版本中,nova-compute不再之間與database互動,而是通過nova-conductor代理
OpenStack API的介紹和開發
- Nova API:以WSGI為入口,加上Routes、Webob和Paste等Python元件
- 分頁查詢:marker(上次最後一條記錄name) limit end_marker
- 理解Eventlet(Python庫,依賴於Greenlet和select.epoll)
- 自定義Dashboard皮膚
- Horizon基於Django
Keystone認證元件
- 哈哈,從這一章看來,OpenStack開發其實就是Python語言的程式設計
Glance映象元件
- 表結構:glance# \dt
- image_locations
- images
- migrate_version
- 映象狀態:queued saving active killed deleted pending_delete
- 映象格式
- RAW
- qcow2(QEMU的Copy on Write)
- VHD(微軟的Virtual PC和Hyper-V)
- VMDK
- VDI
- ISO
- AKI、ARI、AMI
- 延時刪除?glance-scrubber
- 設定後端儲存:Ceph*
- 製作映象
- 略
Nova計算元件
- 虛擬機器(instance)狀態:vm_state task_state power_state
- p194 在libvirt中,虛擬機器被定義為Domain,簡稱Dom
- Context
- service_catalog到底是什麼?
Neutron網路元件
- 虛擬裝置:network subnet router port
- p205 在一個實際的部署Neutron環境中,往往會在不同的節點上安裝多個服務,這是初學者不容易理解的地方
- 哈哈,網路管理配置本來就不容易,這算是一個技術壁壘了
- 外掛?
- ML2?
- neutron-XXX-agent:DHCP、l3、metadata、LBaaS、FWaaS
- 使用Open vSwitch(OVS)的外掛
- 網路型別:Provider / Tenant
- L3 agent:實現網路層路由轉發和NAT;Floating IP
Cinder塊儲存元件
- dbus(IPC服務)導致libvirt出錯?
OpenStack日常運維
- 集中管理日誌:rsyslog?
使用Fuel快速安裝OpenStack
相關文章
- 《IBM BPM實戰指南》讀書筆記IBM筆記
- 學習筆記:openstack實驗環境安裝筆記
- 網易OpenStack部署運維實戰運維
- DDD實戰課(實戰篇)--學習筆記筆記
- 慢SQL優化實戰筆記SQL優化筆記
- 《Maven實戰》之讀書筆記Maven筆記
- # JAVA RESTful WebService實戰筆記(一)JavaRESTWeb筆記
- 前端之Sass/Scss實戰筆記前端CSS筆記
- EBS DBA指南筆記筆記
- React高階實戰 - 我的筆記React筆記
- 《Netty實戰》-學習筆記1Netty筆記
- 《Redis實戰》筆記-Redis的有序集合Redis筆記
- WebSocket實戰之————GatewayWorker使用筆記例子WebGateway筆記
- 任務14-實戰1 筆記筆記
- 《Node.js實戰》學習筆記Node.js筆記
- 《Spring實戰》讀書筆記 #每日筆記 100-004Spring筆記
- git操作實戰指南Git
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記2 — 機器學習的主要挑戰機器學習筆記
- spring boot實戰讀書筆記(1)Spring Boot筆記
- go實戰web入門學習筆記GoWeb筆記
- 《MySQL實戰45講》(1-7)筆記MySql筆記
- 《MySQL實戰45講》(8-15)筆記MySql筆記
- dubbo學習筆記---dubbo開發實戰筆記
- NODEJS硬實戰筆記 (TCP與UDP)NodeJS筆記TCPUDP
- 我的《機器學習實戰》讀書筆記(3)機器學習筆記
- 我的《機器學習實戰》讀書筆記(2)機器學習筆記
- 電商大資料學習筆記:實戰大資料筆記
- 產研指南針的量化指標實踐筆記指標筆記
- React實戰入門指南React
- 英語面試實戰指南面試
- 推薦五篇 OpenStack 的新指南
- 《網路爬蟲開發實戰案例》筆記爬蟲筆記
- Spring Cloud 微服務實戰詳細筆記SpringCloud微服務筆記
- 【筆記】-《Redis實戰》- 01 Redis資料結構筆記Redis資料結構
- 機器學習實戰筆記-k近鄰演算法機器學習筆記演算法
- 《Python核心技術與實戰》筆記3Python筆記
- webpack 學習筆記:實戰之 babel 編碼Web筆記Babel
- Python資料分析與挖掘實戰筆記Python筆記