本篇文章為大家展示了kolla-ansible如何部署容器ceph,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、烏審網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、烏審網(wǎng)絡(luò)營(yíng)銷、烏審企業(yè)策劃、烏審品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供烏審建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
kolla是從openstack孵化出的一個(gè)項(xiàng)目,kolla項(xiàng)目可以制作鏡像包括openstack、ceph等容器鏡像,
ansible是自動(dòng)化部署工具,執(zhí)行playbook中的任務(wù)。
kolla-ansible是容器部署工具,部署openstack和ceph;kolla-ansible部署的容器鏡像可以是kolla構(gòu)建的,也可以是從docker register下載來的(本文部署使用kolla-ansible部署ceph采用從docker register下載鏡像的方式部署)。
一、節(jié)點(diǎn)規(guī)劃
主機(jī)名 | ip | 角色 |
---|---|---|
localhost | 172.16.134.43 | master節(jié)點(diǎn),安裝kolla-ansible |
node58 | 172.16.134.58 | ceph節(jié)點(diǎn),至少有一塊osd使用的磁盤 |
node59 | 172.16.134.59 | ceph節(jié)點(diǎn),至少有一塊osd使用的磁盤 |
node61 | 172.16.134.61 | ceph節(jié)點(diǎn),至少有一塊osd使用的磁盤 |
二、搭建master節(jié)點(diǎn)
1、安裝docker
yum install -y yum-utils device-mapper-persistent-data lvm2 yum install docker-ce -y
2、master和ceph節(jié)點(diǎn)之間解決互信
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-release yum install -y python-pip ansible yum 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、升級(jí)pip:
pip install -U pip
6、下載kolla-ansible源碼并安裝
git clone https://github.com/openstack/kolla-ansible.git -b stable/queens cd kolla-ansilbe pip install -r requirements.txt -r test-requirements.txt pip install . -i http://mirrors.aliyun.com/pypi/simple/
7、復(fù)制相關(guān)文件
cp -r etc/kolla /etc/kolla/
cp ansible/inventory/* /home
8、生成密碼
kolla-genpwd
9、設(shè)置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鏡像服務(wù)器,在部署過程中,kolla-ansible會(huì)從docker服務(wù)器上拉取所需要的鏡像,該docker鏡像服務(wù)器要有ceph各組件的鏡像。
在ceph節(jié)點(diǎn)上也要用docker login {docker-registries},登陸到docker服務(wù)器,否則在部署過程中會(huì)出現(xiàn)認(rèn)證錯(cuò)誤。
10、重啟docker服務(wù)
systemctl daemon-reload systemctl restart docker
11、修改/etc/hosts文件,填入ceph節(jié)點(diǎn)
三、ceph節(jié)點(diǎn)環(huán)境配置(在三個(gè)ceph節(jié)點(diǎn)上執(zhí)行同樣的操作)
1、禁用節(jié)點(diǎn)放火墻,安全策略等
[root@node58 ~]vim ~/init.sh #!/bin/sh sed -i 's/SELINUX=.*/SELINUX=Disabled/g' /etc/selinux/config echo '' > /etc/resolv.conf echo nameserver 114.114.114.114 >> /etc/resolv.conf echo search novalocal >> /etc/resolv.conf echo " net.ipv4.ip_forward = 1 ">> /etc/sysctl.conf&&sysctl -p yum install vim wget -y systemctl stop firewalld systemctl disable firewalld ----------------------------------------------------------- [root@node58 ~]# sh init.sh
2、節(jié)點(diǎn)配置時(shí)間同步
[root@node58 ~]# yum install -y chrony [root@node58 ~]# vi /etc/chrony.conf server 0.cn.pool.ntp.org iburst server 1.cn.pool.ntp.org iburst server 2.cn.pool.ntp.org iburst server 3.cn.pool.ntp.org iburst
3、給ceph節(jié)點(diǎn)的磁盤打標(biāo)簽
[root@node58 ~]# parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
四、部署ceph容器服務(wù)(在master節(jié)點(diǎn)執(zhí)行)
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文件會(huì)重載/usr/share/kolla-ansible/ansible/group_vars/all.yml文件,不需要安裝的服務(wù)在all.yml中改成“no”
2、修改ansible的inventory文件
在[storage]下填入ceph節(jié)點(diǎn)的主機(jī)名,把其余section清空
6、部署ceph節(jié)點(diǎn)環(huán)境
kolla-ansible bootstrap-servers -i /home/multinode
7、檢查和部署
kolla-ansible prechecks -i /home/multinode
kolla-ansible deploy -i /home/multinode
8、測(cè)試(在ceph節(jié)點(diǎn)執(zhí)行)
docker exec ceph_mon ceph -s
上述內(nèi)容就是kolla-ansible如何部署容器ceph,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。