kolla-ansible如何部署容器ceph
本篇文章为大家展示了kolla-ansible如何部署容器ceph,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
kolla是从openstack孵化出的一个项目,kolla项目可以制作镜像包括openstack、ceph等容器镜像,
ansible是自动化部署工具,执行playbook中的任务。
kolla-ansible是容器部署工具,部署openstack和ceph;kolla-ansible部署的容器镜像可以是kolla构建的,也可以是从docker register下载来的(本文部署使用kolla-ansible部署ceph采用从docker register下载镜像的方式部署)。
一、节点规划
主机名 | ip | 角色 |
---|---|---|
localhost | 172.16.134.43 | master节点,安装kolla-ansible |
node58 | 172.16.134.58 | ceph节点,至少有一块osd使用的磁盘 |
node59 | 172.16.134.59 | ceph节点,至少有一块osd使用的磁盘 |
node61 | 172.16.134.61 | ceph节点,至少有一块osd使用的磁盘 |
二、搭建master节点
1、安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2yum install docker-ce -y
2、master和ceph节点之间解决互信
ssh-keygen
ssh-copy-id root@172.16.134.58
ssh-copy-id root@172.16.134.59
ssh-copy-id root@172.16.134.61
3、安装kolla-ansible依赖包
yum -y install epel-releaseyum install -y python-pip ansibleyum install -y python-devel libffi-devel openssl-devel gcc python-setuptools git
4、修改pip源:
mkdir -p ~/.pip
tee ~/.pip/pip.conf <<-'EOF'
[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple/
EOF
5、升级pip:
pip install -U pip
6、下载kolla-ansible源码并安装
git clone https://github.com/openstack/kolla-ansible.git -b stable/queenscd kolla-ansilbepip install -r requirements.txt -r test-requirements.txtpip install . -i http://mirrors.aliyun.com/pypi/simple/
7、复制相关文件
cp -r etc/kolla /etc/kolla/
cp ansible/inventory/* /home
8、生成密码
kolla-genpwd
9、设置docker
mkdir /etc/systemd/system/docker.service.d编辑kolla.conf文件vim /etc/systemd/system/docker.service.d/kolla.conf [Service]MountFlags=shared编辑daemon.json文件vi /etc/docker/daemon.json{"registry-mirrors": ["https://ebu037tr.mirror.aliyuncs.com"],"insecure-registries": ["docker-registries"]}
注意:docker-registries为docker镜像服务器,在部署过程中,kolla-ansible会从docker服务器上拉取所需要的镜像,该docker镜像服务器要有ceph各组件的镜像。
在ceph节点上也要用docker login {docker-registries},登陆到docker服务器,否则在部署过程中会出现认证错误。
10、重启docker服务
systemctl daemon-reloadsystemctl restart docker
11、修改/etc/hosts文件,填入ceph节点
三、ceph节点环境配置(在三个ceph节点上执行同样的操作)
1、禁用节点放火墙,安全策略等
[root@node58 ~]vim ~/init.sh#!/bin/shsed -i 's/SELINUX=.*/SELINUX=Disabled/g' /etc/selinux/configecho '' > /etc/resolv.confecho nameserver 114.114.114.114 >> /etc/resolv.confecho search novalocal >> /etc/resolv.confecho " net.ipv4.ip_forward = 1 ">> /etc/sysctl.conf&&sysctl -pyum install vim wget -ysystemctl stop firewalldsystemctl disable firewalld-----------------------------------------------------------[root@node58 ~]# sh init.sh
2、节点配置时间同步
[root@node58 ~]# yum install -y chrony[root@node58 ~]# vi /etc/chrony.confserver 0.cn.pool.ntp.org iburstserver 1.cn.pool.ntp.org iburstserver 2.cn.pool.ntp.org iburstserver 3.cn.pool.ntp.org iburst
3、给ceph节点的磁盘打标签
[root@node58 ~]# parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
四、部署ceph容器服务(在master节点执行)
1、修改kolla-ansible的配置文件
[root@node58 ~]# cat /etc/kolla/globals.yml|grep -v '^#'|grep -v '^$'---kolla_install_type: "binary"openstack_release: "queens"kolla_internal_vip_address: "ip of master"docker_registry: "{docker-registries}"docker_namespace: "queens/kolla"docker_registry_username: "admin"docker_registry_password: "Harbor12345"network_interface: "ens33"enable_ceph: "yes"enable_haproxy: "no"enable_keystone: "no"enable_glance: "no"enable_neutron: "no"enable_heat: "no"enable_nova: "no"enable_horizon: "no"ceph_pool_type: "replicated"
注意:/etc/kolla/globals.yml文件会重载/usr/share/kolla-ansible/ansible/group_vars/all.yml文件,不需要安装的服务在all.yml中改成"no"
2、修改ansible的inventory文件
在[storage]下填入ceph节点的主机名,把其余section清空
6、部署ceph节点环境
kolla-ansible bootstrap-servers -i /home/multinode
7、检查和部署
kolla-ansible prechecks -i /home/multinode
kolla-ansible deploy -i /home/multinode
8、测试(在ceph节点执行)
docker exec ceph_mon ceph -s
上述内容就是kolla-ansible如何部署容器ceph,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。