关闭防火墙及修改vim /etc/selinux/config

[root@localhost ~]# setenforce 0

[root@localhost ~]# getenforce

关闭防火墙

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

配置时间服务器

controller主机配置

[root@controller ~]# yum install -y chrony

修改配置文件

[root@controller ~]# vim /etc/chrony.conf

重启服务

[root@controller ~]# systemctl restart chronyd

配置 /etc/hosts

[root@controller ~]# vim /etc/hosts

添加

192.168.100.10 controller

192.168.100.20 compute

[root@compute ~]# ping controller

安装train版的依赖 [root@controller ~]# yum install -y python-openstackclient openstack-selinux

配置controller数据库文件

[root@controller ~]# vim /etc/my.cnf

底部添加以下

开启服务,设置开机自启动 [root@controller ~]# systemctl enable mariadb.service && systemctl start mariadb.service

安装rabbitmq消息队列

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

设置开机自启

Systemctl enable rabbitmq-server.serivce ; systemctl start rabbitmq-server.service

创建用户基于权限

[root@controller ~]# rabbitmqctl add_user openstack openstack123

[root@controller ~]# rabbitmqctl set_permissions openstack "." "." ".*"

查看用户[root@controller ~]# rabbitmqctl list_users

安装memcached

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

修改文件

[root@controller ~]# vim /etc/sysconfig/Memcached

启动服务

[root@controller ~]# systemctl enable memcached.service && systemctl start memcached.service

Controller节点登入数据库

添加keystone库;

MariaDB [(none)]> create database keystone;      //创建keystone库

MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY ' keystone-PASS';

安装keystone服务

[root@controller ~]# yum install openstack-keystone httpd mod_wsgi -y

修改openstack-keystone文件配置

Vim /etc/keytone/keytone.cof

[token] provider = fernet

同步数据库

[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone

创建令牌

[root@controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

[root@controller ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

设置admin密码 --bootstrap-password 为:admin

[root@controller ~]# keystone-manage bootstrap --bootstrap-password admin --bootstrap-admin-url http://controller:5000/v3/ --bootstrap-internal-url http://controller:5000/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne

查看数据库是否成功同步

配置httpd服务器

[root@controller ~]# vim /etc/httpd/conf/httpd.conf

添加controllerIP地址

启动服务

[root@controller ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

[root@controller ~]# systemctl enable httpd.service && systemctl start httpd.service

编辑一个脚本admin.sh

往脚本添加内容

Source admin.sh

创建用户和项目

[root@controller ~]# openstack domain create --description "An Example Domain" example

[root@controller ~]# openstack project create --domain default --description "Service Project" service

[root@controller ~]# openstack project create --domain default --description "Demo Project" myproject

设置myuser密码为:myuser

[root@controller ~]# openstack user create --domain default --password-prompt myuser User Password: myuser Repeat User Password: myuser

[root@controller ~]# openstack role create myrole

[root@controller ~]# openstack role add --project myproject --user myuser myrole

取消临时OS_AUTH和OS_PASSWORD环境变量

[root@controller ~]# unset OS_AUTH OS_PASSWORD

输入admin密码,密码为:admin

[root@controller ~]# openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name admin --os-username admin token issue

Password: admin

Password: admin

输入myuser密码,密码为:myuser

[root@controller ~]# openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name myproject --os-username myuser token issue

Password:  myuser

Password:  myuser

创建一个myuser.sh脚本

Source admin.sh

Openstack token issue

Source myuser.sh

Openstack token issue

Glance组件

登入mysql数据库创建glance库;

MariaDB [(none)]> create database glance;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance_PASS';

openstack user create --domain default --password-prompt

password:glance

password:glance

[root@controller ~]# openstack role add --project service --user glance admin

将glance用户添加到admin

[root@controller ~]# openstack service create --name glance --description "OpenStack Image" image

[root@controller ~]# openstack endpoint create --region RegionOne image public http://controller:9292

[root@controller ~]# openstack endpoint create --region RegionOne image internal http://controller:9292

[root@controller ~]# openstack endpoint create --region RegionOne image admin http://controller:9292

创建以上网段

安装glance组件

Yum install -y openstack-glance

配置glance文件

同步数据库

[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance

启动自启服务

[root@controller ~]# systemctl enable openstack-glance-api.service && systemctl start openstack-glance-api.service

上传镜像

[root@controller ~]#  glance image-create --name "cirros4" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare   --visibility public

Placement组件

打开数据库添加placement库

查看是否同步成功

Nova组件

打开数据库添加nava_api; , nava, nava_cello;

MariaDB [(none)]> CREATE DATABASE nova_api;

MariaDB [(none)]> CREATE DATABASE nova;

MariaDB [(none)]> CREATE DATABASE nova_cell0;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova_PASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova_PASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova_PASS';

安装软件包

[root@controller ~]# yum install openstack-placement-api   openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler - y

配置文件

[root@controller ~]# vim /etc/nova.conf

su -s /bin/sh -c "nova-manage api_db sync" nova查看是否同步成功

启动自启服务

systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

重新启动

systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

compute节点

安装nova组件

[root@controller ~]# yum install -y openstack-nova-compute

配置文件vim /etc/nova/nova.conf

启动计算服务(包括其依赖项),并将其配置为在系统启动时自动启动:

[root@controller ~]#  systemctl enable libvirtd.service openstack-nova-compute.service && systemctl start libvirtd.service openstack-nova-compute.service

确认数据库中存在计算主机:

[root@compute ~]# openstack compute service list --service nova-compute

到控制节点发现计算主机

[root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

修改/etc/nova/nova.conf

Neutron组件

Controller节点

登入数据库创建neuton;

MariaDB [(none)]> CREATE DATABASE neutron;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron_PASS';

查看是否同步成功;

配置内核

/etc/sysctl.conf

加载内核模块

[root@controller ~]# modprobe br_netfilter

配置 DHCP 代理

Vim /etc/neutron/dhcp_agent.ini

配置元数据代理

Vim /etc/neutron/metadata_agent.ini

Vim /etc/nova/nova.conf

[root@controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

填充数据库

[root@controller ~]# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

重新启动计算APi服务

SystemctL restart openstack-nova-api.service

Compute节点

安装组件

[root@compute ~]# yum install -y openstack-neutron-linuxbridge ebtables ipset

[root@compute ~]# vim /etc/neutron/neutron.conf

配置文件

编辑vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

修改内核

Vim /etc/sysctl.conf

net.bridge.bridge-nf-call-iptables = 1

net.bridge.bridge-nf-call-ip6tables = 1

修改compute节点下的/etc/nova/nova.conf

重新启动计算服务

Systemctl restart openstack-nova-compute.service

验证

Openstack network agent list

创建实例

创建网络

openstack network create  --share --external --provider-physical-network extnetwork --provider-network-type flat flat-extnetwork

创建子网

openstack subnet create --network flat-extnetwork  --allocation-pool start=192.168.100.10,end=192.168.100.50 --dns-nameserver 114.114.114.114 --gateway 192.168.100.2 --subnet-range 192.168.100.0/24 flat-subnet

仅将此版本与 CirrOS 映像一起使用,以进行测试m1.nano

[root@controller ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

[root@controller ~]# ssh-keygen -q -N "" (生成密钥对

[root@controller ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey (添加公钥)

验证密钥对的添加:

[root@controller ~]# openstack keypair list

添加安全组规则

[root@controller ~]# openstack security group rule create --proto icmp default

允许安全外壳 (SSH) 访问

[root@controller ~]#  openstack security group rule create --proto tcp --dst-port 22 default

查看实例选项

[root@controller ~]# openstack flavor list

列出可用图像

列出可用网络

可用安全组

启动实例

openstack server create --flavor mi.nano --image cirros4 --nic net-id=7986ea2a-131d-416b-b98f-8466ad6a1db8 --security-group default --key-name mykey vm1

检查实例的状态:

[root@controller ~]# openstack server list

Dashboard组件     controller节点上安装

安装web服务

Yum install opensack-dashboard -y

修改配置文件 /etc/openstack-dashboard/local_settings

在/etc/httpd/conf.d/openstack-dashboard.conf

添加以下内容

重新启动web服务器会话

systemctl restart httpd.service memcached.service

验证httpd://192.168.200.10/dashboard

openstack集群搭建相关推荐

  1. ceph实战之ceph集群搭建

    Ceph基础 一.ceph起源 Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用 ...

  2. 中国移动部署全球最大OpenStack集群的实践之路

    虽然OpenStack已经成为开源云计算领域的事实标准,但是对于OpenStack的质疑从来没有停止过,其中的原因是多方面的,中国移动从最初基于OpenNebula研发移动"大云" ...

  3. Kubernetes那点事儿——集群搭建1.22(kubeadm部署)

    K8s集群搭建部署1.22 一.k8s节点初始化 1.centos7.4版本以上 2.关闭防火墙及selinux 3.关闭swap 4.设置主机名并写入hosts 5.将桥接的IPv4流量传递到ipt ...

  4. 大数据调度平台Airflow(八):Airflow分布式集群搭建及测试

    目录 Airflow分布式集群搭建及测试 一.节点规划 二.airflow集群搭建步骤 1.在所有节点安装python3.7 2.在所有节点上安装airflow 三.初始化Airflow 1.每台节点 ...

  5. 2021年大数据Kafka(三):❤️Kafka的集群搭建以及shell启动命令脚本编写❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的集群搭建以及shell启动命令脚本编写 一.搭建 ...

  6. 2021年大数据ZooKeeper(二):ZooKeeper集群搭建

    目录 ZooKeeper集群搭建 第一步:下载zookeeeper的压缩包,下载网址如下 第二步:解压 第三步:修改配置文件 第四步:添加myid配置 ​​​​​​​第五步:安装包分发并修改myid的 ...

  7. 基于zookeeper的solrCloud集群搭建

    转自:https://blog.csdn.net/yougoule/article/details/78445759  基于原文对实践遇到的问题稍作补充 1.安装及搭建相关环境 1.1环境准备 cen ...

  8. Hbase基础(特点、架构、应用场景、集群搭建、HA设计)这一篇就够了

    Hbase基础(特点.架构.应用场景.集群搭建.HA设计)这一篇就够了 1. Hbase特点 2. Hbase VS RDBMS 3. Hbase架构及版本选择 4. Hbase应用场景 5. Ntp ...

  9. java kafka 集群消费_kafka集群搭建和使用Java写kafka生产者消费者

    转自:http://chengjianxiaoxue.iteye.com/blog/2190488 1 kafka集群搭建 1.zookeeper集群 搭建在110, 111,112 2.kafka使 ...

  10. Spark集群搭建【Spark+Hadoop+Scala+Zookeeper】

    1.安装Linux 需要:3台CentOS7虚拟机 IP:192.168.245.130,192.168.245.131,192.168.245.132(类似,尽量保持连续,方便记忆) 注意: 3台虚 ...

最新文章

  1. wallpaper怎么改后缀_腾讯微信视频号怎么引流?腾讯视频号引流有哪些方法?
  2. JavaScript9x9乘法表
  3. Windows下多线程编程技术及其实现
  4. Detectron2学习笔记
  5. ASP.NET Core 自定义认证方式--请求头认证
  6. laravel路由和MVC
  7. 中本聪主题系列NFT收藏品在OpenSea发售,于26秒内售罄
  8. neo4j的查询语法Cypher+python演示
  9. 在苹果Mac中如何一键转换繁体与简体中文?
  10. 第二部分 Automake的标准工程组织
  11. 学习笔记(4):《微电子器件》陈星弼(第四版)第2章 PN结
  12. Android 获取屏幕高度、宽度
  13. Android推送服务——百度云推送
  14. Ant-design 源码分析之数据展示(八)Descriptions
  15. 麒麟座IIC-STM32F103RET6(1)-完成基础LED
  16. Android与MVC设计模式相关操作
  17. C++智能指针之01
  18. 踩坑NVIDIA Jetson TX2、Ubuntu16.04、ROS Kinetic安装
  19. 凡泰极客成为W3C成员并加入MiniApps工作组
  20. 在ROS中创建并优化机器人URDF模型

热门文章

  1. 每日打卡 22 11 16 CF 1694B Paranoid String
  2. Android三级缓存机制工具类的实现
  3. 数据库性能优化--超详细
  4. mapreduce流量统计与自定义分区算法:手机号码按归属地输出
  5. 机器学习资料与攻略超强整理吐血推荐(二)
  6. random.sample函数
  7. php面试题之三——PHP语言基础(基础部分)
  8. JavaScript——数组——slice方法
  9. python——遥感影像分块
  10. CSP 202112-3 登机牌条码 (详细图解)