lang110 发表于 2017-6-27 11:01:39

ubuntu16.04多节点布置openstack newton版

  非官网的一个参考:http://www.tuicool.com/articles/6j6jaya
  控制节点安装
  1、网络配置
  需要两张网卡,两张网卡第一张网卡配置静态地址,第二张为provider interface,配置如下:
  # The provider network interface
    auto INTERFACE_NAME
    iface INTERFACE_NAME inet manual
    up ip link set dev $IFACE up
    down ip link set dev $IFACE down
  将其中的INTERFACE_NAME换成自己的interface(最后两行是什么意思未懂)
  2、在/etc/hostname中将节点的hostname改为controller,
   然后在/etc/hosts中更改如下:
      10.0.0.11 controller
      10.0.0.31 compute1
      10.0.0.41 block1
      10.0.0.51 object1
      10.0.0.52 object2

  以上设置根据自己的拓扑进行设置。设置完毕后最好ping一下主机名。
3、校准时间:
  先安装:
    sudo apt-get install chrony  
  在/etc/chrony/chrony.conf中加入:
    server NTP_SERVER iburst #其中NTP_SERVER为使用基准时间的IP地址。
  更改使得整个网段内都可以使用该节点时间校准:
    allow 10.0.0.0/24 #网段根据实际需要更改
  重启服务:
    sudo service chrony restart
  验证是否成功:
    chronyc sources #在列出的结果中查看是否有自己配置的地址。
4、安装openstack包
    sudo apt-get install software-properties-common
    sudo add-apt-repository cloud-archive:newton
5、

  sudoapt-get update && apt dist-upgrade
  sudo apt-get install python-openstackclient
6、安装数据库
  安装包
    sudo apt-get install mariadb-server python-pymysql
  配置数据库,在/etc/mysql/mariadb.conf.d/99-openstack.cnf中写入以下内容:
    
    bind-address = 10.0.0.11 #此处IP换成自己的IP
    default-storage-engine = innodb
    innodb_file_per_table
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
  重启数据库
    sudo service mysql restart
  更改数据库安全策略,这里需要输入密码
    sudo mysql_secure_installation
  登陆数据库查看,这里有个问题,目前看不能以普通用户身份登录,必须加sudo或者用root为用户。
    sudo mysql -uroot -p
  
7、消息队列
   安装包
    sudo apt-get install rabbitmq-server
   这一步遇到问题,
    Errors were encountered while processing:
    rabbitmq-server
    这里是域名解析的问题,需要操作的是保证 /etc/hosts中本地回环地址的后边不止有localhost,还有该节点的名称(controller)。
   安装成功后创建openstack用户:
    rabbitmqctl add_user openstack RABBIT_PASS #将RABBIT_PASS换成自己的密码
   配置rabbitmq用户的配置、读、写权限
    rabbitmqctl set_permissions openstack ".*" ".*" ".*"
8、安装memcached,Identity service用memcached来存储tokens
  安装包
    sudo apt install memcached python-memcache
  在/etc/memcached.conf中配置节点的IP信息,其中有一句‘’-l IP‘’,将其中的IP改为实际节点的IP。
  重启服务
    sudo service memcached restart
9、安装keystone认证
  1)登录数据库并创建用户和keystone数据库:
    CREATE DATABASE keystone;
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \IDENTIFIED BY 'KEYSTONE_DBPASS';
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \IDENTIFIED BY 'KEYSTONE_DBPASS'; #这里的KEYSTONE_DBPASS均改为自己需要的密码
  2)在/etc/keystone/keystone.conf进行配置如下:
    
    connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
    
    provider = fernet
10、执行如下操作
  su -s /bin/sh -c "keystone-manage db_sync" keystone
  
11、初始化fernet key仓库

    keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    
12、引导identify服务
    keystone-manage bootstrap --bootstrap-password ADMIN_PASS --bootstrap-admin-url http://controller:35357/v3/ --bootstrap-internal-url http://controller:35357/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne
    

13、创建域、工程、用户、角色
  1)openstack project create --domain default --description "Service Project" service
    
  2)创建demo工程
    openstack project create --domain default--description "Demo Project" demo
    
  3)创建用户
    openstack user create --domain default --password-prompt demo
    
    这里会提示输入密码。
  3)创建用户角色
    openstack role create user
    
  4)将用户角色添加到工程和用户中
    openstack role add --project demo --user demo user
13、配置apache
  1)/etc/apache2/apache2.conf中添加:
    ServerName controller
  2)重启服务并删除默认的sql数据库
    service apache2 restart
    rm -f /var/lib/keystone/keystone.db
  3)设置环境变量
    export OS_USERNAME=admin
    export OS_PASSWORD=ADMIN_PASS #这里需要换成自己的密码

    export OS_PROJECT_NAME=admin
    export OS_USER_DOMAIN_NAME=Default
    export OS_PROJECT_DOMAIN_NAME=Default
    export OS_AUTH_URL=http://controller:35357/v3
    export OS_IDENTITY_API_VERSION=3

计算节点安装
  前两步与控制节点相同,

 3、安装chronyc同上,但是/etc/chrony/chrony.conf需要加入:
    server controller iburst
   然后重启并验证
    service chrony restart
    chronyc sources
 4、安装openstack包
    sudo apt-get install software-properties-common
    sudo add-apt-repository cloud-archive:newton
    sudo apt-get update && sudo apt-get dist-upgrade
    sudo apt-get install python-openstackclient
    

碰到的问题:
1、dns解析
  默认的16版似乎并没有设置可以用的DNS,需要手动设置,有两个文件,一个是/etc/resolve.conf,一个是/etc/resolvconf/resolv.conf.d/head,其中前者中的内容会在下次重启时被删除,因此只能在后者中加入:
    nameserver dns_ip
  可以加入多条地址

页: [1]
查看完整版本: ubuntu16.04多节点布置openstack newton版