雲計算OpenStack:雲計算介紹及組件安裝(一)--技術流ken

 

雲計算介紹

 

當用戶可以經過互聯網方便的獲取到計算、存儲等服務時,咱們比喻本身使用到了「雲計算」,雲計算並不能被稱爲是一種計算技術,而更像是一種服務模式。每一個運維人員內心都有一個對雲計算的理解,而最廣泛接受的是NIST(美國國家標準與技術研究院)的定義:html

 

雲計算是一種按使用量付費的服務模式,這是一種可以提供可用的、便捷的、按需求的網絡訪問模式,計算共享池可以快速的爲用戶提供網絡、服務器、存儲、應用軟件及其餘服務,而且只須要花費不多的管理時間。node

 

服務層次

 

NIST還針對於雲計算的服務模式提出了3個服務層次:

 

Iaas:提供給用戶的是雲計算基礎設施,包括CPU、內存、存儲、網絡等其餘的資源服務,用戶不須要控制存儲與網絡等基礎設施。
Paas:提供給用戶的是雲計算中的開發和分發應用的解決方案,用戶可以部署應用程序,也能夠控制相關的託管環境,好比雲服務器及操做系統,但用戶不須要接觸到雲計算中的基礎設施。
Saas:提供給用戶的是雲計算基礎設施上的應用程序,用戶只須要在客戶端界面訪問便可使用到所需資源,而接觸不到雲計算的基礎設施。

 

第22章 使用openstack部署雲計算服務環境。第22章 使用openstack部署雲計算服務環境。python

 

OpenStack項目

 

OpenStack官方網站:https://www.openstack.org/mysql

Openstack項目的版本按照ABCDEFG……的順序發佈,每6個月更新一次。linux

Openstack最初是由NASA和Rackspace共同發起的雲端計算服務項目,該項目以Apache許可證受權的方式成爲了一款開源產品,目的是將多個組件整合後從而實現一個開源的雲計算平臺,目前Openstack項目正在被紅帽、IBM、AMD、Intel、戴爾、思科、微軟等超過一百家廠商共同研發,並已經支持了幾乎全部的常見雲計算環境,擁有了良好的可擴展性,並且部署搭建Openstack服務也變得十分簡單,目前國內對於雲計算的需求也逐漸增長,華勝天成、高德地圖、京東、阿里巴巴、百度、中興、華爲等中國企業也加入到了Openstack項目研發當中,Openstack項目也正在隨着全球內獲得了衆多廠商的參與支持而快速成熟。sql

第22章 使用openstack部署雲計算服務環境。第22章 使用openstack部署雲計算服務環境。

Open是開放,Stack則是堆砌之意,合起來就是將衆多的功能服務堆積起來的集合,讓人們經過Openstack雲計算項目,可以將諸如計算能力、存儲、網絡和軟件等資源抽象成服務,以便讓用戶能夠經過互聯網遠程來享用,付費的形式也變得因需而定,調整方便,擁有極強的虛擬可擴展性,是公共和私有云的建設與管理軟件中的優秀開源項目。shell

Openstack做爲一個雲平臺的管理項目,其功能組件覆蓋了網絡、虛擬化、操做系統、服務器等多個方面,每一個功能組件交由不一樣的項目委員會來研發和管理,目前核心的項目包括有:
功能 項目名稱

描述數據庫

計算服務                      Nova                                   

負責虛擬機的建立、開關機、掛起、遷移、調整CPU、內存等規則。   (核心服務)                                     vim

對象存儲 Swift

用於在大規模可擴展系統中經過內置的冗餘及高容差機制實現對象存儲的系統。(可選服務)centos

鏡像服務 Glance

用於建立、上傳、刪除、編輯鏡像信息的虛擬機鏡像查找及索引系統。  (核心服務)

身份服務 Keystone

爲其餘的功能服務提供身份驗證、服務規則及服務令牌的功能。   (核心服務)

網絡管理 Neutron

用於爲其餘服務提供雲計算的網絡虛擬化技術,可自定義各類網絡規則,支持主流的網絡廠商技術。(核心服務)

塊存儲 Cinder

爲虛擬機實例提供穩定的數據塊存儲的建立、刪除、掛載、卸載、管理等服務。(核心服務)

圖形界面 Horizon

爲用戶提供簡單易用的Web管理界面,下降用戶對功能服務的操做難度。

測量服務 Ceilometer

收集項目內全部的事件,用於監控、計費或爲其餘服務提供數據支撐。

部署編排 Heat

實現經過模板方式進行自動化的資源環境部署服務。

數據庫服務 Trove

爲用戶提供可擴展的關係或非關係性數據庫服務。

 

Openstack服務組件協同工做拓撲圖

 

中間菱形VM是虛擬機,圍繞 VM 的那些長方形表明 OpenStack 不一樣的模塊

 

OpenStack部署環境規劃

 

本教程部署的openstack版本爲O版

 

準備兩臺虛擬機,一臺做爲控制節點,一臺做爲計算節點

 

控制節點(Controller Node): 管理 OpenStack,其上運行的服務有 Keystone、Glance、Horizon 、Neutron、Cinder以及 Nova 和 Neutron 中管理相關的組件。 控制節點也運行支持 OpenStack 的服務,例如 SQL 數據庫(一般是 MySQL)、消息隊列(一般是 RabbitMQ)和網絡時間服務 NTP。

 

計算節點(Compute Node):其上運行 Hypervisor(默認使用 KVM)。 同時運行 Neutron 服務的 agent,爲虛擬機提供網絡支持。

 

控制節點IP: 192.168.64.7

計算節點IP: 192.168.64.8

 

OpenStack部署環境準備

 

第一步:關閉防火牆

兩臺虛擬機都要操做

[root@ken-node1 ~]# setenforce 0
[root@ken-node1 ~]# systemctl stop firewalld

 

第二步:域名解析

兩臺節點都須要操做

[root@ken-node1 ~]# vim /etc/hosts
[root@ken-node1 ~]# scp /etc/hosts 192.168.64.8:/etc/
The authenticity of host '192.168.64.8 (192.168.64.8)' can't be established.
ECDSA key fingerprint is SHA256:EO1X8PdzqfD689Y2WYB6eLvaO/gvrWwhDd0cGDGmsgo.
ECDSA key fingerprint is MD5:6d:25:31:df:78:ef:63:1f:2a:2e:23:11:73:bb:fc:9b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.64.8' (ECDSA) to the list of known hosts.
root@192.168.64.8's password: 
hosts                                                                                                                      100%  205   113.9KB/s   00:00    
[root@ken-node1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.64.7 ken-node1
192.168.64.8 ken-node2

192.168.254.6 download.yunwei.edu  #解析公司內部源(外部用戶沒法使用)

 

第三步:測試外網連通性

兩臺都操做

個人兩臺節點都是使用的nat模式

[root@ken-node1 ~]# ping -c 2 baidu.com
PING baidu.com (123.125.115.110) 56(84) bytes of data.
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=1 ttl=128 time=11.2 ms
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=2 ttl=128 time=12.5 ms

--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 11.241/11.889/12.537/0.648 ms

 

第四步:使用公司源

兩臺主機都安裝

[root@ken-node1 ~]# cat yum-repo.sh 
mkdir /etc/yum.repos.d/old
mv /etc/yum.repos.d/C* /etc/yum.repos.d/old/
wget -O /etc/yum.repos.d/Centos7-Base-yunwei.repo    192.168.254.6/shell/Centos7-Base-yunwei.repo  
wget -O /etc/yum.repos.d/epel-yunwei.repo  192.168.254.6/shell/epel-yunwei.repo
wget -O /etc/yum.repos.d/rdo-release-yunwei.repo  192.168.254.6/shell/rdo-release-yunwei.repo
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud  192.168.254.6/shell/RPM-GPG-KEY-CentOS-SIG-Cloud
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7  192.168.254.6/shell/RPM-GPG-KEY-EPEL-7
yum repolist

 

 

第五步:開啓虛擬機的虛擬化

 

第六步:兩臺虛擬機時間統一

[root@ken-node2 ~]# ntpdate time1.aliyun.com
20 Mar 14:18:49 ntpdate[1160]: step time server 203.107.6.88 offset -28800.262060 sec
[root@ken-node2 ~]# date
Wed Mar 20 14:18:52 CST 2019

 

OpenStack組件安裝

 

OpenStack包

 

第一步:安裝啓用OpenStack倉庫的包

[root@ken-node1 ~]# yum install centos-release-openstack-ocata -y

 

第二步:安裝OpenStack客戶端

[root@ken-node1 ~]# yum install python-openstackclient -y

 

第三步: 安裝 openstack-selinux 軟件包以便自動管理 OpenStack 服務的安全策略

[root@ken-node1 ~]# yum install openstack-selinux -y

 

SQL數據庫

 

第一步:安裝軟件包

[root@ken-node1 ~]# yum install mariadb mariadb-server python2-PyMySQL -y

 

第二步:建立並編輯 /etc/my.cnf.d/openstack.cnf,而後完成以下動做:

  • 在 [mysqld] 部分,設置 ``bind-address``值爲控制節點的管理網絡IP地址以使得其它節點能夠經過管理網絡訪問數據庫:

[root@ken-node1 ~]# cat /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.64.7  #綁定控制節點IP

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

 

第三步:啓動數據庫服務,並將其配置爲開機自啓

[root@ken-node1 ~]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@ken-node1 ~]# systemctl start mariadb.service

 

第四步:爲了保證數據庫服務的安全性,運行``mysql_secure_installation``腳本

[root@ken-node1 ~]# mysql_secure_installation

 

 消息隊列

 

第一步:安裝

[root@ken-node1 ~]# yum install rabbitmq-server -y

 

第二步:啓動消息隊列服務並將其配置爲隨系統啓動

[root@ken-node1 ~]# systemctl enable rabbitmq-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
[root@ken-node1 ~]# systemctl start rabbitmq-server.service

 

第三步:添加 openstack 用戶

密碼爲openstack

[root@ken-node1 ~]# rabbitmqctl add_user openstack openstack
Creating user "openstack" ...

 

第四步:給``openstack``用戶配置寫和讀權限

[root@ken-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...

 

Memcached

 

第一步:安裝

[root@ken-node1 ~]# yum install memcached python-memcached -y

 

第二步:編輯配置文件/etc/sysconfig/memcached

[root@ken-node1 ~]# vim /etc/sysconfig/memcached
[root@ken-node1 ~]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,::1,192.168.64.7" #後面添加Ip便可

 

第三步:啓動

[root@ken-node1 ~]# systemctl enable memcached.service
Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.
[root@ken-node1 ~]# systemctl start memcached.service

 

至此,全部的組件已經安裝完畢,下節開始安裝配置認證服務!

相關文章
相關標籤/搜索