物理机中本地仓库搭建和镜像配置
本节操作均在ceph1~ceph3和client1节点的物理机上执行。
- 关闭SELinux。
1
setenforce 0
- 拉取registry:2到本地仓。
1
podman pull docker.io/library/registry:2
- 若不能访问外网,使用如下方法或手动下载包导入到节点。
1 2 3
git config --global http.sslVerify false git config --global https.sslVerify false git clone https://github.com/NotGlop/docker-drag.git
- 启动本地仓:
1
podman load -i registry_2.tar
- 如代理上网时不能正常拉取镜像,需检查代理设置方式。Podman依赖环境变量HTTP_PROXY和HTTPS_PROXY进行代理上网。
- 若不能访问外网,使用如下方法或手动下载包导入到节点。
- 修改容器配置文件“/etc/containers/registries.conf”。
- 打开“/etc/containers/registries.conf”文件。
1
vi /etc/containers/registries.conf
- 按“i”进入编辑模式,按照如下信息修改配置文件。
1 2 3 4 5
unqualified-search-registries = ["[IP]", "quay.io"] short-name-mode="enforcing" [[registry]] location = "[IP]:5000" insecure = true
- 根据实际情况将[IP]替换为实际仓库IP地址。
- 如果文件中已有配置项,只需要调整配置的值即可。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开“/etc/containers/registries.conf”文件。
- 修改本地仓设置。
1 2
mkdir -p /home/registry-data podman run -d -p 5000:5000 -v /home/registry-data:/var/lib/registry --restart always --name registry localhost/registry:2
- 导入在部署容器中制作部署镜像中生成的Ceph部署镜像。
1
podman load -i ceph_release.tar
- 镜像重命名并上传到本地仓。
1 2 3
podman tag 8bbba7d5cc80 [IP]:5000/ceph/ceph_release:v17.2.8 podman push [IP]:5000/ceph/ceph_release:v17.2.8 [IP]:5000/ceph/ceph_release:v17.2.8 podman rmi 8bbba7d5cc80
- 8bbba7d5cc80为ceph_release.tar对应的镜像ID,通过podman images命令查看,请根据实际情况替换。
- [IP]为本地IP地址,请根据实际情况替换。
- v17.2.8是Ceph版本,本节以部署Ceph 17.2.8为例,可以根据实际部署的Ceph版本进行调整。
- 使用Docker技术时,push操作的命令如下。
1
docker push 90.90.82.118:5000/ceph/ceph_release:v17.2.8
- 若push镜像时存在“Gateway Time-out”的报错,可能是因为配置了代理,需要关闭代理配置。
1 2
unset http_proxy unset https_proxy
- 修改cephadm文件中的DEFAULT_IMAGE。
- 打开/usr/sbin/cephadm文件。
1
vim /usr/sbin/cephadm
- 按“i”进入编辑模式,调整脚本中默认镜像地址。
1
DEFAULT_IMAGE = "[IP]:5000/ceph/ceph_release:v17.2.8"
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开/usr/sbin/cephadm文件。
- 修改cephadm中创建容器权限。将
1
if self.privileged:
修改为
if self.privileged or not self.privileged:
该修改行位于run_cmd函数中。
父主题: 手动制作ceph容器镜像