CentOS 7.6使用IPv6地址作为OpenStack管理网部署Rocky控制+网络合一节点

本文介绍了如何在CentOS 7.6系统上,利用IPv6地址来配置和部署OpenStack的Rocky版本,涵盖了KeyStone、Glance、Nova、Neutron和Dashboard等组件的详细步骤。
摘要由CSDN通过智能技术生成

一、基础环境

set -e -x
#变量设置
CONTROLLER_IP="2001::192:168:0:1"
CTRL_HOST_NAME="rocky"
ALL_PASS="123456"
NTP_SERVER="2001::192:168:0:1"

set +x
read -p "Check variables and continue?(y/n)  " -t 10 res

if [[ "${res}" != "y" ]];then
	exit 0
fi
set -x
#Install some soft
yum -y install vim
yum -y install net-tools
yum -y install expect

sleep 5
#
hostnamectl set-hostname ${
   CTRL_HOST_NAME}
echo "${CONTROLLER_IP} ${CTRL_HOST_NAME}" >>/etc/hosts
#
systemctl stop firewalld
systemctl disable firewalld

#
cp -p /etc/selinux/config /etc/selinux/config.bak.$(date +%Y%m%d)_$(date +%H%M%S)
sed -i "/SELINUX=enforcing/cSELINUX=disabled" /etc/selinux/config
setenforce 0

#
cp -p /etc/chrony.conf /etc/chrony.conf.bak.$(date +%Y%m%d)_$(date +%H%M%S)
sed -i "/server 0.centos.pool.ntp.org iburst/cserver ${NTP_SERVER} iburst" /etc/chrony.conf
sed -i "/centos.pool.ntp.org/d" /etc/chrony.conf
systemctl enable chronyd
systemctl restart chronyd
sleep 2
chronyc sources
timedatectl set-timezone Asia/Shanghai
date
sleep 3

#
yum -y install openstack-utils
yum -y install python-openstackclient
yum -y install openstack-selinux

二、相关软件和服务

#SQL
yum -y install mariadb
yum -y install mariadb-server
yum -y install python2-PyMySQL

#
touch /etc/my.cnf.d/openstack.cnf
openstack-config --set /etc/my.cnf.d/openstack.cnf mysqld bind-address ${
   CONTROLLER_IP}

openstack-config --set /etc/my.cnf.d/openstack.cnf mysqld default-storage-engine innodb
openstack-config --set /etc/my.cnf.d/openstack.cnf mysqld innodb_file_per_table on
openstack-config --set /etc/my.cnf.d/openstack.cnf mysqld max_connections 4096
openstack-config --set /etc/my.cnf.d/openstack.cnf mysqld collation-server utf8_general_ci
openstack-config --set /etc/my.cnf.d/openstack.cnf mysqld character-set-server utf8
#
systemctl enable mariadb.service
systemctl start mariadb.service
systemctl status mariadb.service
sleep 1
#
mysql_secure_installation <<EOF

y
$ALL_PASS
$ALL_PASS
y
y
y
y
EOF

#rabbitmq-server
yum install rabbitmq-server -y
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
sleep 1
rabbitmqctl add_user openstack ${
   ALL_PASS}
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

#Memcached
yum -y install memcached
yum -y install python-memcached

cp -p /etc/sysconfig/memcached /etc/sysconfig/memcached.bak.$(date +%Y%m%d)_$(date +%H%M%S)
sed -i "/OPTIONS=\"-l 127.0.0.1,::1\"/cOPTIONS=\"-l 127.0.0.1,::1,${
   CONTROLLER_IP}\""  /etc/sysconfig/memcached
#
systemctl enable memcached.service
systemctl start memcached.service
systemctl status memcached.service
sleep 2
#
#ETCD
yum install etcd -y
cp -p /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak.$(date +%Y%m%d)_$(date +%H%M%S)
sed -i '/ETCD_DATA_DIR/cETCD_DATA_DIR="/var/lib/etcd/default.etcd"' /etc/etcd/etcd.conf
sed -i "/ETCD_LISTEN_PEER_URLS/cETCD_LISTEN_PEER_URLS=\"http://[${
   CONTROLLER_IP}]:2380\"" /etc/etcd/etcd.conf
sed -i "/ETCD_LISTEN_CLIENT_URLS/cETCD_LISTEN_CLIENT_URLS=\"http://[${
   CONTROLLER_IP}]:2379\"" /etc/etcd/etcd.conf
sed -i "/ETCD_NAME/cETCD_NAME=\"$CON_HOST_NAME\"" /etc/etcd/etcd.conf
sed -i "/ETCD_INITIAL_ADVERTISE_PEER_URLS/cETCD_INITIAL_ADVERTISE_PEER_URLS=\"http://[${
   CONTROLLER_IP}]:2380\"" /etc/etcd/etcd.conf
sed -i "/ETCD_ADVERTISE_CLIENT_URLS/cETCD_ADVERTISE_CLIENT_URLS=\"http://[${
   CONTROLLER_IP}]:2379\"" /etc/etcd/etcd.conf
sed -i "/ETCD_INITIAL_CLUSTER=/cETCD_INITIAL_CLUSTER=\"$CON_HOST_NAME=http://[${
   CONTROLLER_IP}]:2380\"" /etc/etcd/etcd.conf
sed -i '/ETCD_INITIAL_CLUSTER_TOKEN/cETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"' /etc/etcd/etcd.conf
sed -i '/ETCD_INITIAL_CLUSTER_STATE/cETCD_INITIAL_CLUSTER_STATE="new"' /etc/etcd/etcd.conf

systemctl enable etcd
systemctl start etcd
systemctl status etcd
sleep 2

三、KeyStone

mysql -N -uroot -p$ALL_PASS<<EOF
DROP DATABASE if exists keystone;
CREATE DATABASE if not exists keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '$ALL_PASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '$ALL_PASS';
EOF


#安装
yum install openstack-keystone -y
yum install httpd -y
yum install mod_wsgi -y

#
cp -p /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak.$(date +%Y%m%d)_$(date +%H%M%S)
openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:$ALL_PASS@[${
   CONTROLLER_IP}]/keystone
openstack-config --set /etc/keystone/keystone.conf token provider fernet

#
su -s /bin/sh -c "keystone-manage db_sync" keystone

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
#
keystone-manage bootstrap --bootstrap-password $ALL_PASS \
  --bootstrap-admin-url http://[${
   CONTROLLER_IP}]:5000/v3/ \
  --bootstrap-internal-url http://[${
   CONTROLLER_IP}]:5000/v3/ \
  --bootstrap-public-url http://[${
   CONTROLLER_IP}]:5000/v3/ \
  --bootstrap-region-id RegionOne
#
#ServerName 
sed -i "/#ServerName/aServerName ${CTRL_HOST_NAME}" /etc/httpd/conf/httpd.conf
#
#Create a link
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
#
#开机自启和开始httpd.service
systemctl enable httpd.service
systemctl start httpd.service
systemctl status httpd.service
#
#Configure the administrative account
export OS_USERNAME=admin
export OS_PASSWORD=$ALL_PASS
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://[${
   CONTROLLER_IP}]:5000/v3
export OS_IDENTITY_API_VERSION=3
#
#Create a domain, projects, users, and roles
#
openstack domain create --description "An Example Domain" example
openstack project create --domain default --description "Service Project" service
openstack project create --domain default --description 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值