书接上回 OpenStack Kolla-Ansible部署Designate域名解析服务DNS服务DNSaas 
本章我们继续来完成OpenStack示例配置组件之Container Optimized中的Zun容器服务。OpenStack Kolla-Ansible部署Zun容器服务。
Zun 是一种 OpenStack 容器服务。它旨在提供一个 OpenStack API,用于在 OpenStack 上配置和管理容器化工作负载。
 
 
1. 设置kolla 在部署机,找到 /etc/kolla/globals.yml 
1 2 3 4 5 enable_zun: "yes" enable_kuryr: "yes" enable_etcd: "yes" docker_configure_for_zun: "yes" containerd_configure_for_zun: "yes" 
 
另外再添加一行
1 zun_configure_for_cinder_ceph: "yes" 
 
1.1 复制ceph文件 
需要cinder先对接ceph
 
1 2 3 mkdir -p /etc/kolla/config/zun/zun-compute ln -s /etc/kolla/config/cinder/ceph.conf /etc/kolla/config/zun/zun-compute/ceph.conf ln -s  /etc/kolla/config/cinder/ceph.client.cinder.keyring /etc/kolla/config/zun/zun-compute/ceph.client.cinder.keyring 
 
2. 重新引导 1 kolla-ansible -i ./multinode bootstrap-servers 
 
2.1 常见问题 2.1.1 找不到ceph软件包 报错如下
The repository ‘https://mirror.nju.edu.cn/ceph/debian-pacific  jammy Release’ does not have a Release file
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 TASK [openstack.kolla.baremetal : Enable ceph apt repository] ************************************************************************************************************************************************************************ task path: /root/.ansible/collections/ansible_collections/openstack/kolla/roles/baremetal/tasks/configure-ceph-for-zun.yml:12 Using module file /path/to/venv/lib/python3.10/site-packages/ansible/modules/apt_repository.py Pipelining is enabled. <localhost> ESTABLISH LOCAL CONNECTION FOR USER: root <localhost> EXEC /bin/sh -c 'python && sleep 0' fatal: [localhost]: FAILED! => {     "changed": false,     "invocation": {         "module_args": {             "codename": null,             "filename": "ceph",             "install_python_apt": true,             "mode": null,             "repo": "deb https://mirror.nju.edu.cn/ceph/debian-pacific/ jammy main",             "state": "present",             "update_cache": true,             "update_cache_retries": 5,             "update_cache_retry_max_delay": 12,             "validate_certs": true         }     },     "msg": "Failed to update apt cache: E:The repository 'https://mirror.nju.edu.cn/ceph/debian-pacific jammy Release' does not have a Release file., W:Updating from such a repository can't be done securely, and is therefore disabled by default., W:See apt-secure(8) manpage for repository creation and user configuration details., W:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details." } 
 
原因:ceph官方仓库没有jammy版本的软件包,但是Ubuntu官方有ceph-common这个软件包
1 2 3 4 5 6 7 8 (venv) root@ubuntu:~# apt search ceph-common Sorting... Done Full Text Search... Done ceph-common/jammy-updates 17.2.0-0ubuntu0.22.04.2 amd64   common utilities to mount and interact with a ceph storage cluster python3-ceph-common/jammy-updates 17.2.0-0ubuntu0.22.04.2 all   Python 3 utility libraries for Ceph 
 
解决,关闭zun自动配置ceph,
1 zun_configure_for_cinder_ceph = "no" 
 
 手动安装ceph-common软件包
1 apt install ceph-common -y 
 
3. 重新部署 1 kolla-ansible -i ./multinode deploy 
 
4. 生成凭据文件 1 kolla-ansible -i ./multinode post-deploy 
 
5. 安装zun cli客户端 1 pip install python-zunclient