基础环境搭建
配置网络接口
查看服务器网络接口
ifconfig -a
进入网络配置文件
sudo vi /etc/network/interfaces
将第一个接口配置为管理接口
auto enp5s0
iface enp5s0 inet static
address 10.0.0.11
netmask 255.255.255.0
gateway 10.0.0.1
配置名称解析
将控制节点的主机名设置为controller
sudo vi /etc/hostname
将主机名修改为controller
编辑/etc/hosts文件,加入已下内容
#controller
10.0.0.11 controller
#compute1
10.0.0.31 compute1
#block1
10.0.0.41 block1
#object
10.0.0.51 object1
验证连接
从控制节点,测试对外网的访问
ping -c 4 openstack.org
image
由于ping命令使用的不是http请求,而我们的服务器连接外网只能通过http代理,所以这里ping失败
从控制器节点,测试对计算节点上的管理接口的访问权限
ping -c 4 compute1
[图片上传失败...(image-63bc58-1545492177565)]
如上图所示,则验证成功
网络时间协议NTP安装
下载并安装openstack软件包
启动openstack库
sudo apt install
sudo software-properties-common
sudo add-apt-repository cloud-archive:pike
升级服务器所有软件包
sudo apt update && apt dist-upgrade
安装openstack客户端
sudo apt install python-openstackclient
SQL数据库的安装
下载并安装mysql数据库
apt install mariadb-server python-pymysql
创建或者编辑数据库配置文件
sudo vi /etc/mysql/mariadb.conf.d/99-openstack.cnf
创建一个mysql节点,将bind-address设置为控制节点的管理IP
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
完成安装重启mysql服务
sudo service mysql restart
运行mysql_secure_installation脚本,初始化数据库
mysql_secure_installation
MYSQL安全配置向导,相关配置请查看
消息队列
安装RabbitMQ
sudo apt install rabbitmq-server
添加openstack用户
sudo rabbitmqctl add_user openstack RABBIT_PASS
将RABBIT_PASS替换成你自己要设置的密码
权限配置,允许openstack用户写入和读取
sudo rabbitmqctl set_permissions openstack ".*" ".*" ".*"
分布式对象缓存系统Memcached的安装
安装memcached软件包
apt install memcached python-memcache
修改配置文件/etc/memcached.conf
-l 10.0.0.11
将 -l所对应的行的IP修改为controller管理网络的IP,我们这里是10.0.0.11
完成安装重启Memcached服务
sudo service memcached restart
分布式兼职存储系统ETCD
由于etcd3还没有可用的软件包,所以我们需要手动安装
创建etcd用户
groupadd --system etcd
useradd --home-dir "/var/lib/etcd" \
--system \
--shell /bin/false \
-g etcd \
etcd
创建目录
mkdir -p /etc/etcd
chown etcd:etcd /etc/etcd
mkdir -p /var/lib/etcd
chown etcd:etcd /var/lib/etcd
下载并且安装ETCD
下载etcd压缩包,我们这里下载3.2.7版本。将下载好的压缩包移动到/tmp文件夹下。然后依次执行命令:
ETCD_VER=v3.2.7
rm -rf /tmp/etcd && mkdir -p /tmp/etcd
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd --strip-components=1
cp /tmp/etcd/etcd /usr/bin/etcd
cp /tmp/etcd/etcdctl /usr/bin/etcdctl
创建并且编辑/etc/etcd/etcd.conf.yml文件
name: controller
data-dir: /var/lib/etcd
initial-cluster-state: 'new'
initial-cluster-token: 'etcd-cluster-01'
initial-cluster:controller=http://10.0.0.11:2380
initial-advertise-peer-urls:http://10.0.0.11:2380
advertise-client-urls: http://10.0.0.11:2379
listen-peer-urls: http://0.0.0.0:2380
listen-client-urls: http://10.0.0.11:2379
将initial-cluster, initial-advertise-peer-urls, advertise-client-urls, listen-client-urls中的ip修改为控制节点管理网络的IP,我们这里是10.0.0.11
创建编辑/lib/systemd/system/etcd.service文件
[Unit]
After=network.target
Description=etcd - highly-available key value store
[Service]
LimitNOFILE=65536
Restart=on-failure
Type=notify
ExecStart=/usr/bin/etcd --config-file /etc/etcd/etcd.conf.yml
User=etcd
[Install]
WantedBy=multi-user.target
完成安装并启动
sudo systemctl enable etcd
sudo systemctl start etcd
网友评论