標籤(空格分隔): openstack系列前端
- 一: openstack的介紹以及組件
- 二: openstack的架構
- 三: openstack的環境初始化
OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合做研發併發起的,以Apache許可證受權的自由軟件和開放源代碼項目。 OpenStack是一個開源的雲計算管理平臺項目,由幾個主要的組件組合起來完成具體工做。OpenStack支持幾乎全部類型的雲環境,項目目標是提供實施簡單、可大規模擴展、豐富、標準統一的雲計算管理平臺。OpenStack經過各類互補的服務提供了基礎設施即服務(IaaS)的解決方案,每一個服務提供API以進行集成。 OpenStack是一個旨在爲公共及私有云的建設與管理提供軟件的開源項目。它的社區擁有超過130家企業及1350位開發者,這些機構與我的都將OpenStack做爲基礎設施即服務(IaaS)資源的通用前端。OpenStack項目的首要任務是簡化雲的部署過程併爲其帶來良好的可擴展性。本文但願經過提供必要的指導信息,幫助你們利用OpenStack前端來設置及管理本身的公共雲或私有云。
OpenStack包含了許多組件。有些組件會首先出如今孵化項目中,待成熟之後進入下一個OpenStack發行版的核心服務中。同時也有部分項目是爲了更好地支持OpenStack社區和項目開發管理,不包含在發行版代碼中,主要組件以下: Compute (Nova) 計算服務 Identity Service (Keystone) 認證服務 Image Service (Glance) 鏡像服務 Networking (Neutron) 網絡服務 Dashboard (Horizon) 儀表板 Object Storage (Swift) 對象存儲 Block Storage (Cinder) 塊存儲 Orchestration (Heat) 編排 Telemetry (Ceilometer) 監控 Database Service (Trove) 數據庫服務 Data Processing (Sahara) 數據處理
OpenStack是由一系列具備RESTful接口的Web服務所實現的,是一系列組件服務集合。以下圖爲OpenStack的概念架構,咱們看到的是一個標準的OpenStack項目組合的架構。這是比較典型的架構,但不表明這是OpenStack的惟一架構,咱們能夠選取本身須要的組件項目,來搭建適合本身的雲計算平臺。
OpenStack項目並非單一的服務,其含有子組件,子組件內由模塊來實現各自的功能,以下圖爲OpenStack的邏輯架構。經過消息隊列和數據庫,各個組件能夠相互調用,互相通訊。這樣的消息傳遞方式解耦了組件、項目間的依賴關係,因此才能靈活地知足咱們實際環境的須要,組合出適合咱們的架構。每一個項目都有各自的特性,大而全的架構並不是適合每個用戶,譬如Glance在最先的A、B版本中並無實際出現應用,Nova能夠脫離鏡像服務獨立運行。當用戶的雲計算規模大到須要管理多種鏡像時,才須要像Glance這樣的組件。OpenStack的成長是在生產環境中不斷被檢驗,而後再將需求反饋給社區,由社區來實現的一個過程,能夠說OpenStack並不是脫離實際的理想化開源社區項目,而是與生產實際緊密結合的,能夠複製應用的雲計算方案。 OpenStack 自己是一個分佈式系統,不但各個服務能夠分佈部署,服務中的組件也能夠分佈部署。 這種分佈式特性讓 OpenStack 具有極大的靈活性、伸縮性和高可用性。
概念架構圖:
邏輯架構圖:
以上參考: http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/ https://ilearnstack.com/2013/04/23/introduction-to-openstack-2/
主機名配置 10.0.0.11 controller 10.0.0.31 computer1 10.0.0.41 block1 10.0.0.51 object1 10.0.0.52 object2
controller 節點 兩張網卡: ens33: 10.0.0.11 用做內部通信 ens37: 172.17.100.6 用做上網網卡 computer1 節點 (上網下包用 10.0.0.11) 兩張網卡: ens33: 10.0.0.31 網關指向 10.0.0.11. ens37: dhcp 自動得到 block1節點 一張網卡: ens33: 10.0.0.41 網關指向 10.0.0.11 object1 一張網卡: ens33:10.0.0.51 網關指向 10.0.0.11 object2 一張網卡: ens33:10.0.0.52 網關指向 10.0.0.11
配置好時間同步服務器chronyd controller 節點: 同步 ntp1.aliyun.com 其它節點同步 controller 所用節點執行命令: timedatectl set-timezone Asia/Shanghai 使用 上海時間 ---- vim /etc/chronyd.conf
service chronyd stop service chronyd start chronyc sources -v
computer1 節點: vim /etc/chronyd.conf -- server controller iburst -- service chronyd stop service chronyd start chronyc sources -v
在 controller 配置好ip路由地址轉發 iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 172.17.100.6 service iptables save vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p
全部節點配置openstack rocky 的 yum 源 yum install epel* yum install centos-release-openstack-rocky yum install https://rdoproject.org/repos/rdo-release.rpm yum upgrade yum install python-openstackclient openstack-selinux -y
controller 節點準備mariadb 數據庫 yum install mariadb mariadb-server MySQL-python python2-PyMySQL -y vim /etc/my.cnf.d/openstack.cnf ---- [mysqld] bind-address = 0.0.0.0 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8 init-connect = 'SET NAMES utf8' ---- service mariadb start chkconfig mariadb on mysql_secure_installation ----(設置mariadb 的 root密碼爲 flyfish225)
yum install rabbitmq-server systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service rabbitmqctl add_user openstack openstack rabbitmqctl set_permissions openstack ".*" ".*" ".*"
yum install memcached python-memcached vim /etc/sysconfig/memcached --- OPTIONS="-l 127.0.0.1,::1,controller" --- systemctl enable memcached.service systemctl start memcached.service
yum install etcd --- #[Member] ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380" ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379" ETCD_NAME="controller" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380" ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379" ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01" ETCD_INITIAL_CLUSTER_STATE="new" --- systemctl enable etcd systemctl start etcd 至此 openstack rocky 控制節點 環境初始化完成 !!!!!!!