共計(jì) 3614 個(gè)字符,預(yù)計(jì)需要花費(fèi) 10 分鐘才能閱讀完成。
本篇文章為大家展示了 kolla-ansible 如何部署容器 ceph,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
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 角色 localhost172.16.134.43master 節(jié)點(diǎn),安裝 kolla-ansiblenode58172.16.134.58ceph 節(jié)點(diǎn),至少有一塊 osd 使用的磁盤 node59172.16.134.59ceph 節(jié)點(diǎn),至少有一塊 osd 使用的磁盤 node61 172.16.134.61ceph 節(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、測試(在 ceph 節(jié)點(diǎn)執(zhí)行)
docker exec ceph_mon ceph -s
上述內(nèi)容就是 kolla-ansible 如何部署容器 ceph,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。