OpenStack newton部署
更新时间:2024-07-03 14:37:01 阅读量: 综合文库 文档下载
- openstack推荐度:
- 相关推荐
OpenStack newton部署
一、 环境
共需要2台主机
192.168.100.181 controller为控制节点和计算节点 192.168.100.182 compute1为计算节点
安装centos7.2
关闭防火墙(控制节点和计算节点都做)
关闭selinux
/etc/sysconfig/selinux SELINUX=disabled setenforce 0 关闭iptables
systemctl start firewalld.service systemctl stop firewalld.service systemctl disable firewalld.service
下面的表格给出了需要密码的服务列表以及它们的关系:
密码名称 描述 密码名称 ADMIN_PASS CEILOMETER_DBPASS CEILOMETER_PASS CINDER_DBPASS CINDER_PASS DASH_DBPASS DEMO_PASS GLANCE_DBPASS GLANCE_PASS HEAT_DBPASS HEAT_DOMAIN_PASS HEAT_PASS KEYSTONE_DBPASS NEUTRON_DBPASS NEUTRON_PASS NOVA_DBPASS NOVA_PASS RABBIT_PASS SWIFT_PASS admin 用户密码 描述 数据库密码(不能使用变量) 数据库的root密码 Telemetry 服务的数据库密码 Telemetry 服务的 ceilometer 用户密码 块设备存储服务的数据库密码 块设备存储服务的 cinder 密码 Database password for the dashboard demo 用户的密码 镜像服务的数据库密码 镜像服务的 glance 用户密码 Orchestration服务的数据库密码 Orchestration 域的密码 Orchestration 服务中``heat``用户的密码 认证服务的数据库密码 网络服务的数据库密码 网络服务的 neutron 用户密码 计算服务的数据库密码 计算服务中``nova``用户的密码 RabbitMQ的guest用户密码 对象存储服务用户``swift``的密码 1. 控制节点服务器
控制节点共配置2块网卡 eth1:192.168.100.181
eth2:不设置ip为trunk模式 添加/etc/hosts
设置NTP服务
# yum install chrony 编辑/etc/chrony.conf allow192.168.100.0/24
允许192.168.100.0网段访问 启动NTP服务
# systemctl enable chronyd.service # systemctl start chronyd.service
# timedatectl set-timezone Asia/Shanghai 设置时区 # timedatectl status 查看时区
安装openstack源及软件包
yum install centos-release-openstack-newton yum upgrade
yum install python-openstackclient yum install openstack-selinux
yum install mariadbmariadb-server python2-PyMySQL yum install rabbitmq-server
yum install memcached python-memcached yum install openstack-keystone httpdmod_wsgi yum install openstack-glance
yum install openstack-nova-apiopenstack-nova-conductor openstack-nova-console
openstack-nova-novncproxyopenstack-nova-scheduler yum install openstack-nova-compute yum install openstack-neutron openstack-neutron-ml2
openstack-neutron-linuxbridgeebtablesipset yum install openstack-dashboard 开启nova用户的登录权限. usermod -s /bin/bash nova
生成秘钥(各个计算节点执行) 控制节点也需要互信 su– nova
/usr/bin/ssh-keygen -t rsa /usr/bin/ssh-keygen -t dsa 所有计算节点均配置
cat<< EOF > ~/.ssh/config Host *
StrictHostKeyChecking no UserKnownHostsFile=/dev/null EOF
分发ssh到各个计算节点 computer1
scp id_dsa.pub 192.168.100.181:/var/lib/nova/.ssh/id_dsa.pub3 scp id_rsa.pub 192.168.100.181:/var/lib/nova/.ssh/id_rsa.pub3 controller(192.168.100.181):
cat id_dsa.pub id_dsa.pub2 id_rsa.pub id_rsa.pub2 id_rsa.pub3 id_dsa.pub3 >authorized_keys chmod 644 authorized_keys
scpauthorized_keys computer1:/var/lib/nova/.ssh
修改权限
chownnova:nova /var/lib/nova/.ssh/id_rsa/var/lib/nova/.ssh/authorized_keys
数据库配置
创建/etc/my.cnf.d/openstack.cnf文件
[root@controller ~]# cat /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.100.181 default-storage-engine = innodb innodb_file_per_table max_connections = 4096
collation-server = utf8_general_ci character-set-server = utf8 启动mariadb
# systemctl enable mariadb.service
# systemctl start mariadb.servic
为了保证数据库服务的安全性,运行``mysql_secure_installation``脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。 # mysql_secure_installation Password:123456
完成下面的步骤以创建数据库:
1.用数据库连接客户端以 root 用户连接到数据库服务器: #mysql -u root -p
创建 keystone 数据库:
mysql>CREATE DATABASE keystone; 对keystone数据库授予恰当的权限:
mysql>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY
'KEYSTONE_DBPASS';
mysql>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY
'KEYSTONE_DBPASS';
用合适的密码替换 KEYSTONE_DBPASS 。(这边我们用keystone) 创建 glance 数据库
mysql> CREATE DATABASE glance; 对glance数据库授予恰当的权限
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \\ IDENTIFIED BY 'GLANCE_DBPASS';
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \\ IDENTIFIED BY 'GLANCE_DBPASS';
用一个合适的密码替换 GLANCE_DBPASS。(这边我们用glance) 创建 nova_api 和 nova 数据库: mysql> CREATE DATABASE nova_api; mysql> CREATE DATABASE nova; 对数据库进行正确的授权
mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \\
IDENTIFIED BY 'NOVA_DBPASS';
mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \\ IDENTIFIED BY 'NOVA_DBPASS';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \\ IDENTIFIED BY 'NOVA_DBPASS';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \\ IDENTIFIED BY 'NOVA_DBPASS';
用合适的密码代替 NOVA_DBPASS(这里我们用nova) 创建neutron数据库
mysql> CREATE DATABASE neutron;
对neutron数据库授予合适的访问权限,使用合适的密码替换NEUTRON_DBPASS mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \\ IDENTIFIED BY 'NEUTRON_DBPASS';
mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \\ IDENTIFIED BY 'NEUTRON_DBPASS'; (这里我们用密码:neutron)
rabbitmq配置 启动rabbitmq
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service
添加openstack用户
# rabbitmqctladd_useropenstack RABBIT_PASS 用合适的密码替换 RABBIT_PASS 给``openstack``用户配置写和读权限
#rabbitmqctlset_permissionsopenstack \
# rabbitmq-plugins list #查看支持的插件
# rabbitmq-plugins enable rabbitmq_management #启动插件 #systemctl restart rabbitmq-server.service #lsof -i:15672
访问RabbitMQ,访问地址是http://192.168.100.181:15672
默认用户名密码都是guest,浏览器添加openstack用户到组并登陆测试,连不上情况一般是防火墙没有关闭所致!
之后退出使用openstack登录 启动memcached
# systemctl enable memcached.service # systemctl start memcached.service
1. keystone配置
编辑/etc/keystone/keystone.conf配置文件
cat /etc/keystone/keystone.conf|grep -v \
[DEFAULT] [assignment] [auth]
[cache] [catalog] [cors]
[cors.subdomain] [credential] [database]
connection = mysql+pymysql://keystone:keystone@controller/keystone [domain_config] [endpoint_filter] [endpoint_policy] [eventlet_server] [federation] [fernet_tokens] provider = fernet [identity]
[identity_mapping] [kvs] [ldap]
[matchmaker_redis] [memcache] [oauth1] [os_inherit]
[oslo_messaging_amqp]
[oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_middleware] [oslo_policy] [paste_deploy] [policy] [profiler] [resource] [revoke] [role] [saml]
[security_compliance] [shadow_users] [signing] [token]
[tokenless_auth] [trust]
初始化身份认证服务的数据库
# su -s /bin/sh -c \初始化Fernet keys:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
引导keystone服务
# 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
ADMIN_PASS为登录密码和管理员密码(这边为admin) 配置Apache HTTP 服务
编辑/etc/httpd/conf/httpd.conf文件,配置ServerName选项为控制节点 ServerName controller
创建一个/usr/share/keystone/wsgi-keystone.conf连接
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ 启动HTTP服务
# systemctl enable httpd.service # systemctl start httpd.service 配置管理账户
$ 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
ADMIN_PASS为管理员密码(这边为admin) 创建服务项目 $ openstack project create --domain default --description \Project\service
创建演示项目
$ openstack project create --domain default --description \
创建demo用户
$ openstack user create --domain default --password-prompt demo
创建用户角色
$ openstack role create user
添加user用户到demo项目和用户中
$ openstack role add --project demo --user demo user 因为安全性的原因,关闭临时认证令牌机制:
编辑 /etc/keystone/keystone-paste.ini 文件,从[pipeline:public_api],
[pipeline:admin_api]和[pipeline:api_v3]部分删除admin_token_auth 。 设置临时os_auth_url和os_password环境变量 $ unset OS_AUTH_URL OS_PASSWORD 作为 admin 用户,请求认证令牌:
$ openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name
default --os-user-domain-name default --os-project-name admin --os-username admin token issue
此命令使用管理用户的密码
作为``demo`` 用户,请求认证令牌:
$ openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name
default --os-user-domain-name default --os-project-name demo --os-username demo token issue
这个命令使用``demo`` 用户的密码和API端口5000,这样只会允许对身份认证服务API的
常规(非管理)访问。
创建脚本
创建 admin 和 ``demo``项目和用户创建客户端环境变量脚本。本指南的接下来的部分会引用这些脚本,为客户端操作加载合适的的凭证。 编辑文件 admin-openrc 并添加如下内容 export OS_PROJECT_DOMAIN_NAME=default export OS_USER_DOMAIN_NAME=default export OS_PROJECT_NAME=admin export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
将 ADMIN_PASS 替换为你在认证服务中为 admin 用户选择的密码。(这边为admin) 编辑文件 demo-openrc 并添加如下内容: export OS_PROJECT_DOMAIN_NAME=default export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
将 DEMO_PASS 替换为你在认证服务中为 demo 用户选择的密码。(这边为demo) 使用脚本?
使用特定租户和用户运行客户端,你可以在运行之前简单地加载相关客户端脚本。 加载admin-openrc文件来身份认证服务的环境变量位置和admin项目和用户证书: $ . admin-openrc 请求认证令牌:
$ openstack token issue
镜像服务
获得 admin 凭证来获取只有管理员能执行的命令的访问权限: $ . admin-openrc
要创建服务证书,完成这些步骤:
$ openstack user create --domain default --password-prompt glance
这边我们用glance作为密码
添加admin角色到glance用户和service项目上
$ openstack role add --project service --user glance admin 创建glance服务实体
$ openstack service create --name glance --description \
创建镜像服务的 API 端点:
$ openstack endpoint create --region RegionOne image public http://controller:9292
$ openstack endpoint create --region RegionOne image internal http://controller:9292
$ openstack endpoint create --region RegionOne image admin http://controller:9292
编辑文件 /etc/glance/glance-api.conf 并完成如下动作
cat /etc/glance/glance-api.conf|grep -v \
[DEFAULT] [cors]
[cors.subdomain] [database]
connection = mysql+pymysql://glance:glance@controller/glance [glance_store] stores = file,http default_store = file
filesystem_store_datadir = /var/lib/glance/images/ [image_format]
[keystone_authtoken]
auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password
project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [matchmaker_redis] [oslo_concurrency] [oslo_messaging_amqp]
[oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_middleware] [oslo_policy] [paste_deploy] flavor = keystone [profiler]
[store_type_location_strategy] [task]
[taskflow_executor]
编辑文件 /etc/glance/glance-registry.conf并完成如下动作:
cat /etc/glance/glance-registry.conf|grep -v \[DEFAULT] [database]
connection = mysql+pymysql://glance:glance@controller/glance [keystone_authtoken]
auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password
project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [matchmaker_redis] [oslo_messaging_amqp]
[oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_policy] [paste_deploy] flavor = keystone [profiler]
写入镜像服务数据库
# su -s /bin/sh -c \启动镜像服务、配置他们随机启动
# systemctl enable openstack-glance-api.serviceopenstack-glance-registry.service # systemctl start openstack-glance-api.serviceopenstack-glance-registry.service 验证
获得 admin 凭证来获取只有管理员能执行的命令的访问权限 $ . admin-openrc 下载源镜像:
$ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它
$ openstack image create \--disk-format qcow2 --container-format bare --public
确认镜像的上传并验证属性 $ openstack image list
NOVA服务配置
获得 admin 凭证来获取只有管理员能执行的命令的访问权限 $ . admin-openrc
要创建服务证书,完成这些步骤
$ openstack user create --domain default --password-prompt nova
这边我们密码用nova
给 nova 用户添加 admin 角色
$ openstack role add --project service --user nova admin 创建 nova 服务实体
$ openstack service create --name nova --description \
创建 Compute 服务 API 端点
$ openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\\(tenant_id\\)s
$ openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\\(tenant_id\\)s
$ openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\\(tenant_id\\)s
编辑/etc/nova/nova.conf文件并完成下面的操作
cat /etc/nova/nova.conf|grep -v \[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:openstack@controller auth_strategy = keystone my_ip = 192.168.100.181 use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver allow_resize_to_same_host=True#打开调整云主机大小 cpu_allocation_ratio=16.0#cpu超分 ram_allocation_ratio=1.5#内存超分 disk_allocation_ratio=1.5#磁盘超分
scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter #打开调整云主机大小 [api_database]
connection = mysql+pymysql://nova:nova@controller/nova_api [barbican] [cache] [cells] [cinder] [cloudpipe] [conductor] [cors]
[cors.subdomain] [crypto] [database]
connection = mysql+pymysql://nova:nova@controller/nova [ephemeral_storage_encryption] [glance]
api_servers = http://controller:9292
[guestfs] [hyperv]
[image_file_url] [ironic]
[key_manager]
[keystone_authtoken]
auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password
project_domain_name = default user_domain_name = default project_name = service username = nova password = nova [libvirt]
virt_type = kvm [matchmaker_redis] [metrics] [mks] [neutron]
url = http://controller:9696
auth_url = http://controller:35357 auth_type = password
project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = neutron password = neutron
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET [osapi_v21]
[oslo_concurrency]
lock_path = /var/lib/nova/tmp [oslo_messaging_amqp]
[oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_middleware] [oslo_policy] [placement]
[placement_database] [rdp]
[remote_debug] [serial_console] [spice] [ssl]
[trusted_computing] [upgrade_levels] [vmware] [vnc]
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip enabled = True
novncproxy_base_url = http://192.168.100.181:6080/vnc_auto.html [workarounds] [wsgi]
[xenserver] [xvp]
同步Compute 数据库:
# su -s /bin/sh -c \# su -s /bin/sh -c \启动 Compute 服务并将其设置为随系统启动
# systemctl enable openstack-nova-api.service \\
openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \\ openstack-nova-conductor.serviceopenstack-nova-novncproxy.service\\ libvirtd.serviceopenstack-nova-compute.service
# systemctl start openstack-nova-api.service \\
openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \\ openstack-nova-conductor.serviceopenstack-nova-novncproxy.service \\ libvirtd.serviceopenstack-nova-compute.service 验证
获得 admin 凭证来获取只有管理员能执行的命令的访问权限: $ . admin-openrc
列出服务组件,以验证是否成功启动并注册了每个进程 $ openstack compute service list
Neutron配置
获得 admin 凭证来获取只有管理员能执行的命令的访问权限 $ . admin-openrc
要创建服务证书,完成这些步骤 创建neutron用户
$ openstack user create --domain default --password-prompt neutron
这里用密码:neutron
添加admin角色到neutron用户
$ openstack role add --project service --user neutron admin 创建neutron服务实体
$ openstack service create --name neutron --description \network
创建网络服务API端点
$ openstack endpoint create --region RegionOne network public http://controller:9696
$ openstack endpoint create --region RegionOne network internal http://controller:9696
正在阅读:
OpenStack newton部署07-03
论二级构造单元的特征和分类 - 图文06-16
环境法习题及参考答案208-16
个人博客系统毕业设计论文06-06
应收租金保理业务协议10-03
埠市2017~2018学年度九年级数学第一学期期末试题 沪科版(含答04-02
税务机关精品公文处理试题01-29
最新人教版pep小学四年级英语下册_Unit6_Shopping第四五课时PartB_let'_learn&let's_talk08-24
4.2多自由度系统的固有频率与主振型11-01
《钱学森》影片观后感04-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 部署
- OpenStack
- newton
- 山西省平遥县2012-2013学年九年级三月月考数学试卷
- 2014.9财务管理习题(1)
- 0301某办公楼施工组织设计
- 凤凰城营销方案
- 无创cpap
- 河南省2018年工程测量员中级理论知识考试试题
- 英语单词口诀
- 教育技术学专业学生的就业方向
- 湖北省广水市2015届中考数学模拟试题及答案
- 可逆式锤式破碎机设计
- 日 常 保 洁 材 料 费 明 细 表
- 2018年最新岭南版二年级美术下册全册教案(含教学反思)
- 秋季第一学期七年级历史上册期末考试质量分析报告
- 2018年土木工程专业学生个人工作总结范文学习参考(word格式)实
- 谈企业如何全面落实科学发展观
- 中国餐饮产业竞争力研究
- 2018入党发展对象思想汇报范文
- 甲级单位编制卫生洁具龙头项目可行性报告(立项可研+贷款+用地+2
- 我要上小学啦
- 初三+圆相似三角形三角函数+贾国晶