1.修改主机名
hostnamectl set-hostname kolla
2.配置hosts
vi /etc/hosts
192.168.40.200 kolla
3.安装docker
yum install docker -y
4.配置镜像加速器
daocloud和阿里云都有相应的加速器,在实际的使用过程中,阿里云要比daocloud的快些。
vi /etc/docker/daemon.json
{
"registry-mirrors": ["镜像加速地址"]
}
5.重启docker服务
systemctl daemon-reload && systemctl enable docker && systemctl restart docker && systemctl status docker
6.检查镜像服务是否正常
docker run --rm hello-world
7.安装相关依赖
yum install epel-release
yum install python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
8.安装ansible
vi /etc/ansible/ansibel.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100
9.安装kolla-ansible
pip install kolla-ansible
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/share/kolla-ansible/ansible/inventory/* .
10.修改配置文件
vi all-in-one
[control]
#localhost ansible_connection=local
kolla
[network]
#localhost ansible_connection=local
kolla
# inner-compute is the groups of compute nodes which do not have
# external reachability
[inner-compute]
kolla
# external-compute is the groups of compute nodes which can reach
# outside
[external-compute]
#localhost ansible_connection=local
kolla
[compute:children]
inner-compute
external-compute
[storage]
#localhost ansible_connection=local
kolla
[monitoring]
#localhost ansible_connection=local
kolla
[deployment]
#localhost ansible_connection=local
kolla
11.生成随机密码文件
kolla-genpwd
vi /etc/kolla/passwords.yml
keystone_admin_password: admin123456
12.修改配置文件,安装所有需要的组件和其提供的服务
vi /etc/kolla/globals.yml
kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "pike"
kolla_internal_vip_address: "192.168.40.200"
network_interface: "eth0"
neutron_external_interface: "eth1"
kolla_internal_vip_address: "192.168.40.200"
enable_haproxy: "no"
13.配置ssh无密钥登陆,授权本节点
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@kolla
14.配置虚拟化类型
mkdir -pv /etc/kolla/config/nova
vi /etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt_type=qemu
cpu_mode = none
15.配置docker共享挂载
mkdir -pv /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/kolla.conf
[Service]
MountFlags=shared
16.部署OpenStack
检验配置
kolla-ansible -i ./all-in-one prechecks
拉取镜像
kolla-ansible pull -i ./all-in-one
开始部署
kolla-ansible -i ./all-in-one deploy
17.生成环境变量
kolla-ansible post-deploy -i ./all-in-one
cat /etc/kolla/admin-openrc.sh
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin123456
export OS_AUTH_URL=http://192.168.40.200:35357/v3
export OS_INTERFACE=internal
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne
export OS_AUTH_PLUGIN=password
18.清理环境
kolla-ansible destroy -i all-in-one --yes-i-really-really-mean-it
19.创建虚拟机
安装命令行工具
pip install python-openstackclient python-glanceclient python-neutronclient
获取admin权限
source /etc/kolla/admin-openrc.sh
初始化虚拟机的运行环境
/usr/share/kolla-ansible/init-runonce
参考连接
https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html