• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > openstack pike单机一键安装shell的方法

openstack pike单机一键安装shell的方法

作者:子隐 字体:[增加 减小] 来源:互联网

本文主要包含openstack,pike,安装shell等服务器相关知识,子隐 希望可以进行参考

#VM虚拟机8G内存,安装完毕,半个小时左右

#在线安装

#环境 centos 7.4.1708 x86_64
#在线安装openstack pike

curl http://elven.vip/ks/openstack/pike.install.sh>pike.install.sh && sh pike.install.sh

更新日期 2017-11-21
新增内容:
安装完成后,自动创建秘钥、主机类型、cirros测试镜像、网络、虚拟机kvm01
也就是安装完成后,就自动创建启动了虚拟机kvm01

# 有兴趣的小伙伴,可以测试反馈

已安装的VMware虚拟机镜像下载地址://www.jb51.net/softs/60337.html

#shell代码分享( 最新代码以在线安装为准,以下shell无错误,不在更新)

#!/bin/sh
# openstack pike 单机 一键安装
# 环境 centos 7.4.1708 x86_64
# 更多内容 http://dwz.cn/openstack
# Myde by Elven

[[ `uname -r` = *el7* ]] && { echo '开启安装openstack pike'; } || { echo '请在CentOS7.4 环境运行';exit; }

##########################################
#参数

#获取第一块网卡名、ip地址
Net=`ip add|egrep global|awk '{ print $NF }'|head -n 1`
IP=`ip add|grep global|awk -F'[ /]+' '{ print $3 }'|head -n 1`
echo "网卡名称:$Net"
echo "IP地址: $IP"

#参数
DBPass=elven2017  #SQL root密码
Node=controller   #节点名(controller不要改动)
Netname=$Net    #网卡名称
MyIP=$IP      #IP地址
VncProxy=$IP    #VNC代理外网IP地址
Imgdir=/date/glance #自定义glance镜像目录
VHD=/date/nova   #自定义Nova实例路径
Kvm=qemu      #QEMU或KVM ,KVM需要硬件支持

##########################################
#1、设置

echo '关闭selinux、防火墙'
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0

echo '时间同步'
/usr/sbin/ntpdate ntp6.aliyun.com 
echo "*/3 * * * * /usr/sbin/ntpdate ntp6.aliyun.com &> /dev/null" > /tmp/crontab
crontab /tmp/crontab

echo '设置hostname'
hostnamectl set-hostname $Node
echo "$MyIP  $Node">>/etc/hosts

#使用阿里源
rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo #删除阿里内网地址
echo '自定义openstack源'
wget -O /etc/yum.repos.d/Ali-pike.repo http://elven.vip/ks/openstack/Ali-pike.repo
yum clean all && yum makecache #生成缓存

##########################################
#2 安装

function installrpm() 
{
echo 'OpenStack tools 安装'
yum install -y python-openstackclient openstack-selinux \
 python2-PyMySQL openstack-utils 
echo 'MariaDB安装'
yum install mariadb mariadb-server mariadb-galera-server -y
yum install expect -y
echo 'RabbitMQ安装'
yum install rabbitmq-server erlang socat -y
echo 'Keystone安装'
yum install -y openstack-keystone httpd mod_wsgi memcached python-memcached
yum install apr apr-util -y
echo '安装Glance'
yum install -y openstack-glance python-glance
echo '安装nova'
yum install -y openstack-nova-api openstack-nova-conductor \
 openstack-nova-console openstack-nova-novncproxy \
 openstack-nova-scheduler openstack-nova-placement-api \
 openstack-nova-compute
echo '安装neutron'
yum install -y openstack-neutron openstack-neutron-ml2 \
 openstack-neutron-linuxbridge python-neutronclient ebtables ipset
echo '安装dashboard'
yum install openstack-dashboard -y
}

echo '安装openstack'
installrpm
echo '再次安装,防止下载失败'
installrpm

##########################################
#3、配置

# #------------------#####################
echo 'SQL数据库配置'
cp /etc/my.cnf.d/openstack.cnf{,.bak}
echo "#
[mysqld]
bind-address = 0.0.0.0
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
#">/etc/my.cnf.d/openstack.cnf
echo '启动数据库服务'
systemctl enable mariadb.service
systemctl start mariadb.service
sleep 5
netstat -antp|grep mysqld
#mysql_secure_installation #初始化设置密码,自动交互
[[ -f /usr/bin/expect ]] || { yum install expect -y; } #若没expect则安装
/usr/bin/expect << EOF
set timeout 30
spawn mysql_secure_installation
expect {
  "enter for none" { send "\r"; exp_continue}
  "Y/n" { send "Y\r" ; exp_continue}
  "password:" { send "$DBPass\r"; exp_continue}
  "new password:" { send "$DBPass\r"; exp_continue}
  "Y/n" { send "Y\r" ; exp_continue}
  eof { exit }
}
EOF
#测试
mysql -u root -p$DBPass -e "show databases;"
[ $? = 0 ] || { echo "mariadb初始化失败";exit; }

echo '创建数据库、用户授权'
mysql -u root -p$DBPass -e "
create database keystone;
grant all privileges on keystone.* to 'keystone'@'localhost' identified by 'keystone';
grant all privileges on keystone.* to 'keystone'@'%' identified by 'keystone';
create database glance;
grant all privileges on glance.* to 'glance'@'localhost' identified by 'glance';
grant all privileges on glance.* to 'glance'@'%' identified by 'glance';

create database nova;
grant all privileges on nova.* to 'nova'@'localhost' identified by 'nova';
grant all privileges on nova.* to 'nova'@'%' identified by 'nova';
create database nova_api;
grant all privileges on nova_api.* to 'nova'@'localhost' identified by 'nova';
grant all privileges on nova_api.* to 'nova'@'%' identified by 'nova';
create database nova_cell0;
grant all privileges on nova_cell0.* to 'nova'@'localhost' identified by 'nova';
grant all privileges on nova_cell0.* to 'nova'@'%' identified by 'nova';

create database neutron;
grant all privileges on neutron.* to 'neutron'@'localhost' identified by 'neutron';
grant all privileges on neutron.* to 'neutron'@'%' identified by 'neutron';

flush privileges;
select user,host from mysql.user;
show databases;
"
#
# #------------------#####################
echo 'RabbitMQ配置'
echo 'NODENAME=rabbit@controller'>/etc/rabbitmq/rabbitmq-env.conf
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
sleep 3
rabbitmq-plugins enable rabbitmq_management #启动web插件端口15672

sleep 6
##########
#rabbit创建用户及密码
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl add_user openstack openstack 
rabbitmqctl set_permissions openstack ".*" ".*" ".*" 
rabbitmqctl set_user_tags openstack administrator
systemctl restart rabbitmq-server.service
sleep 3
netstat -antp|grep '5672'

[[ `rabbitmqctl list_users|grep openstack|wc -l` = 1 ]] || {
 echo 'rabbit创建用户失败'; 
echo 'rabbit创建用户失败,请手动执行命令创建用户'>>./error.install.log; }


# #------------------#####################
#Keystone
#memcached启动
cp /etc/sysconfig/memcached{,.bak}
systemctl enable memcached.service
systemctl start memcached.service
netstat -antp|grep 11211

echo 'Keystone 配置'
cp /etc/keystone/keystone.conf{,.bak} #备份默认配置
Keys=$(openssl rand -hex 10) #生成随机密码
echo $Keys
echo "kestone $Keys">/root/openstack.log
echo "
[DEFAULT]
admin_token = $Keys
verbose = true
[database]
connection = mysql+pymysql://keystone:keystone@controller/keystone
[token]
provider = fernet
driver = memcache
[memcache]
servers = controller:11211
">/etc/keystone/keystone.conf

#初始化身份认证服务的数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
#检查表是否创建成功
mysql -h controller -ukeystone -pkeystone -e "use keystone;show tables;"
#初始化密钥存储库
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
#设置admin用户(管理用户)和密码
keystone-manage bootstrap --bootstrap-password admin \
 --bootstrap-admin-url http://controller:35357/v3/ \
 --bootstrap-internal-url http://controller:5000/v3/ \
 --bootstrap-public-url http://controller:5000/
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • KVM与OpenStack的前世今生(1)
  • 浅谈openstack中使用linux_bridge实现vxlan网络
  • openstack使用openvswitch实现vxlan的方法
  • 详解OpenStack之服务端口号
  • openstack共享80、443端口的实例代码
  • Centos7环境准备openstack pike的安装
  • openstack pike单机一键安装shell的方法
  • Openstack安装过程中遇到的问题汇总
  • 详解Openstack使用ubuntu镜像启动虚拟机实例
  • 详解Openstack环境准备

相关文章

  • Linux下使用docker搭建Openvpn代理的方法
  • 详解通过Docker搭建Mysql容器+Tomcat容器连接环境
  • VMWARE安装与VMWARE下LINUX系统安装(图文教程)
  • VMware使用方法(图文详解)
  • 报告:51%的x86服务器实现了虚拟化
  • docker centos7 安装ssh具体步骤
  • 解决ubuntu下vi上下左右方向键出现字母backspace键不能删除字符 问题
  • 详解使用docker搭建hadoop分布式集群
  • Citrix XenServer 6.1 的安装与配置方法
  • Mac上使用Docker如何快速启动MySQL测试

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Linux下VMware workstation的3种使用技巧
    • Docker 容器文件系统详细介绍(图文)
    • VMware中CentOS设置静态IP的方法
    • docker 的java编译环境构建详细介绍
    • Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows<->Windows, Windows<->Linux)
    • OpenStack Heat AutoScaling详解及实例代码
    • Ubuntu Docker 安装教程
    • 利用python自动生成docker nginx反向代理配置
    • Spark实现K-Means算法代码示例
    • VMware EXSI为虚拟机centos安装VMware Tools

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有