准备
- 系统:CentOS 7
- 两块网卡:
- eth0:172.16.140.15 管理网
- eth1:192.168.1.16 业务网/存储网
- CPU:8C
- 内存:16G
- 系统盘:50G
- Ceph OSD盘:100G
安装
NOTE:整个安装过程,并没有使用python虚拟环境。
安装依赖
-
安装python构建依赖
>> sudo yum install python-devel libffi-devel gcc openssl-devel libselinux-python -y
-
安装pip
>> sudo easy_install pip >> pip install -U pip
-
安装ansible【>=2.8】
>> sudo yum install epel-release -y >> sudo yum install ansible -y
安装kolla-ansible
-
使用pip安装kolla-ansible
>> sudo pip install kolla-ansible
如果出现以下情况
则需要使用命令sudo pip install kolla-ansible -I
-
创建/etc/kolla目录
>> sudo mkdir -p /etc/kolla >> sudo chown $USER:$USER /etc/kolla
-
拷贝globals.yml和passwords.yml到/etc/kolla目录下
>> cp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
-
拷贝all-in-one和multinode文件到当前目录下
>> cp /usr/share/kolla-ansible/ansible/inventory/* .
配置ansible
修改配置文件 /etc/ansible/ansible.cfg,在 defaults段中增加如下内容
[defaults]
host_key_checking=False
pipelining=True
forks=100
准备初始化配置
由于安装的All-In-One模式,所以直接使用文件all-in-one即可。
-
检查使用文件all-in-one时,执行ansible的连通性
>> ansible -i all-in-one all -m ping
-
生成密码
>> kolla-genpwd
-
修改/etc/kolla/globals.yml配置文件,修改内容如下
kolla_base_distro: "centos" kolla_install_type: "binary" openstack_release: "train" network_interface: "eth0" neutron_external_interface: "eth1" kolla_internal_vip_address: "172.16.140.15" enable_haproxy: "no" enable_cinder: "yes" enable_ceph: "yes"
-
由于使用ceph作为后端存储,所以在准备阶段,需要额外准备一块磁盘作为OSD,以下命令是为了在执行ansible脚本时,能识别此分区作为OSD
>> DISK=/dev/vdb >> parted $DISK -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS 1 -1
因为只有一台服务器作为All-In-One部署,所以对于ceph的配置需要先做预处理,将pool的size置为1。新建目录/etc/kolla/config,然后在目录下创建配置文件ceph.conf,内容如下
[global] osd pool default size = 1 osd pool default min size = 1
开始部署
- 完成带有kolla部署依赖的引导服务准备
>> kolla-ansible -i ./all-in-one bootstrap-servers
- 部署前的预检测
>> kolla-ansible -i ./all-in-one prechecks
- 开始部署
>> kolla-ansible -i ./all-in-one deploy
验证
-
安装OpenStack CLI客户端
>> pip install python-openstackclient
-
生成admin-openrc.sh文件
>> kolla-ansible post-deploy
启用环境变量
>> . /etc/kolla/admin-openrc.sh
-
获取cirros镜像
>> wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
如果没有wget工具,使用一下命令安装
>> sudo yum install wget -y
-
上传cirros镜像
>> openstack image create cirros-0.4.0-x86_64-disk.img --container-format bare --disk-format qcow2 --file cirros-0.4.0-x86_64-disk.img
查看上传的镜像
>> openstack image list
-
创建private网络
>> openstack network create private >> openstack subnet create net --subnet-range 10.0.0.0/24 --gateway 10.0.0.1 --network 2c428b82-023e-4788-b37a-077e0effd2cc
-
创建flavor
>> openstack flavor create 1C1G10G --id 1 --ram 1024 --disk 10 --vcpus 1
-
创建虚拟机
准备工作完成
>> openstack server create vm01 --image 46c1d789-f213-4fbd-bc8c-540a4194fab0 --flavor 1 --network 2c428b82-023e-4788-b37a-077e0effd2cc