OpenStack stein安裝(一)準備工做

OpenStack stein安裝(一)準備工做

環境:

• 192.168.205.7: as Chrony, DNS and YUM Source server(爲了安裝更快,自建yum源)
• 192.168.205.147: as DataBase, install MariaDB, RabbitMQ, Memcached
• 192.168.205.167: as controller, install keystone, placement, nova, neutron, dashboard
• 192.168.205.187: as compute node, install neutron agent and nova agent

注:全部操做系統默認停用firewalld,iptable爲空,關閉selinuxnode

版本:

• OS: centos 7 1810 with mini install for controller and SQL server
• OS: CentOS 7  1511 with mini install for compute node
• Openstack Minimal deployment for Stein
• mariadb-10.3.10

注:其它未註明均爲yum 安裝python

目地:

• 最小化安裝openstack stein最新版本
• 安裝完成後各組件正常運行
• 測試成功創建實列並運行
• 經過運行實列測試基本的網絡功能

步驟:

1. 安裝前的環境準備
2. 安裝keystone
3. 安裝glance鏡像服務
4. 安裝placement
5. 安裝Nova on controller
6. 安裝Nova on compute node
7. 安裝Neutron on controller node
8. 安裝Neutron on compute node
9. 安裝dashboard
10. 驗證測試

安裝前的環境準備

安裝的準備工做很重要,由於openstack服務很是多,服務之間的依賴關係緊密,合理的規劃不會導至安裝出現問題,不然會出現各類的問題。mysql

準備環境

  1. 全部的服務器時間必須一致,咱們設置時間服務同步,這裏能夠是外部的源,也能夠是自已的時間源服務器,我用一臺chrony服務器作爲時間服務器, 同進也兼作dns解析和yum源
    #yum install chrony
    #systemctl start chronyd
    #cat /etc/chrony.conf 
    server 192.168.205.7 iburst
    #systemctl status chronyd
    #chronyc sources -v  #檢查chrony時間是否同步,看到^*爲同步,不然沒有同步
  2. 修改hosts文件,並將hosts文件複製到三臺服務器,若是用了dns,這步不是必須,但不要配主機名。
    #cat /etc/hosts
    192.168.205.167 controller1
    192.168.205.147 master
    192.168.205.187 node1
  3. 使用DNS域名解析的規劃
    域名:flex.net
    name server 192.168.205.7
    A stack.flex.net 192.168.205.167   controller1
    A dbs.flex.net  192.168.205.147     database, memcached, rabbitMQ
    同進DNS也作爲轉發服務器爲yum提像安裝軟件
  4. 編輯網卡每臺有三個網卡, 分爲管理網絡,租戶網絡和外網,管理網絡的dns指向192.168.205.7
    eth0爲管理和API的網絡
    #cat ifcfg-eth0
    NAME="eth0"
    DEVICE="eth0"
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.205.x
    NETMASK=255.255.255.0
    TYPE=Ethernet
    eth1爲租戶tenant網絡使用,不配IP,設置成none
    #cat ifcfg-eth1
    NAME="eth1"
    DEVICE="eth1"
    ONBOOT=yes
    BOOTPROTO=none
    eth2爲外網安裝yum源使用,使用nat方式,同時將dns設置爲內網的dns: 192.168.205.7
    #cat ifcfg-eth2
    NAME="eth2"
    DEVICE="eth2"
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=172.18.18.x
    NETMASK=255.255.255.0
    GATEWAY=172.18.18.2
    DNS1=192.168.205.7
    注:不要修改HWADDR和UUID
  5. 安裝源,首先啓用extras packges,我使用原cenos安裝時自帶的源, 也能夠啓用aliyun或tinghua的extras源linux

    #ls
    backup   CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
    backup1  CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
    #yum list Centos-release-OpenStack*
    …
    Available Packages
    centos-release-openstack-stein.noarch                     1-1.el7.centos                     extras
    centos-release-openstack-ocata.noarch                     1-2.el7                            extras 
    centos-release-openstack-pike.x86_64                      1-1.el7                            extras 
    centos-release-openstack-queens.noarch                    1-2.el7.centos                     extras 
    
    注:安裝時咱們要禁用epel源
  6. 咱們經過yum 方式去直接下載安裝最新的stein源
    #yum install centos-release-openstack-stein
  7. 安裝完成後咱們看到目錄中多了一些源sql

    #ls
    backup                     CentOS-Debuginfo.repo        CentOS-QEMU-EV.repo
    backup1                    CentOS-fasttrack.repo        CentOS-Sources.repo
    CentOS-Base.repo           CentOS-Media.repo            CentOS-Storage-common.repo
    CentOS-Ceph-Nautilus.repo  CentOS-NFS-Ganesha-28.repo   CentOS-Vault.repo
    
    #cat CentOS-OpenStack-stein.repo 
     CentOS-OpenStack-stein.repo
    …
  8. 更新包在全部的節點
    # yum upgrade
  9. 全部的節點上安裝openstack客戶端
    # yum install python-openstackclient

    安裝數據庫

  10. 安裝數據庫及python組件
    # yum install mariadb mariadb-server python2-PyMySQL
  11. 創建數據庫的配置文件並寫入下列配置
    #  vi /etc/my.cnf.d/openstack.cnf
    [mysqld]
    bind-address = 192.168.205.147
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
  12. 容許系統引導時自動啓動服務並啓動服務
    # systemctl enable mariadb.service
    # systemctl start mariadb.service
  13. 運行mysql_secure_installation腳本,特別是root的口令,爲root配一個合適的口令,爲了演示,咱們設爲root, 密碼root123
    # mysql_secure_installation

    安裝消息隊列在mysql上

    Openstack的服務之間使用消息隊列協調操做和狀態信息,消息隊列一般地運行在controller上, openstack支持幾種消息隊列如:rabbitMQ, Qpid, ZeroMQ. 大多的發行版都支持這些特定的消息隊列,本實驗咱們用RabbitMQ由於大多發行版都支持它,本列中,咱們的消息隊列運行在dababase中數據庫

  14. 安裝包
    # yum install rabbitmq-server
  15. 容許系統引導時自動啓動服務並啓動服務
    # systemctl enable rabbitmq-server.service
    # systemctl start rabbitmq-server.service
  16. 添加一個openstack用戶
    # rabbitmqctl add_user openstack openstack123
  17. 充許openstack用戶具備write, and read訪問權限
    # rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    注:在vhost "/" ...中給用戶 "openstack" 受權

    安裝和配置Memcached

    身份識別服務驗證機制使用Memcached緩存令牌,Memcached一般運行在controller上,對於生產部署,咱們建議啓用防火牆、身份驗證和加密的組合來保護它。centos

  18. 安裝包
    # yum install memcached python-memcached
  19. 編輯文件/etc/sysconfig/memcached並修改配置文件服務使用管理IP,充許其它節點經過管理IP訪問到Memcached
    #vi /etc/sysconfi/memcached
    OPTIONS="-l 127.0.0.1,::1,master" #若是你裝在數據庫服務器上,那麼就改數據庫服務器的名字, 由於hosts中已經作解析
  20. 容許系統引導時自動啓動服務並啓動服務
    # systemctl enable memcached.service
    # systemctl start memcached.service
相關文章
相關標籤/搜索