Run a registry Container and make it to listen port 5000 on all :
podman run --privileged -d --name registry -p 5000:5000 -v /var/lib/registry:/var/lib/registry --restart=always registry:2
Run this Bash script to find proper image needed , chage it of you wnat more component like HAProxy, its for Squid version:
#!/usr/bin/env bash
IMAGES=(
"quay.io/prometheus/node-exporter"
"quay.io/prometheus/prometheus"
"quay.io/ceph/ceph-grafana"
"quay.io/prometheus/alertmanager"
"quay.io/ceph/promtail"
"quay.io/ceph/loki"
)
for image in "${IMAGES[@]}"; do
echo "Checking latest stable tag for: $image ..."
# Get tags → remove rc/beta/alpha → sort by version → take last one
latest_tag=$(skopeo list-tags docker://$image \
| jq -r '.Tags[]' \
| grep -Ev 'rc|beta|alpha' \
| sort -V \
| tail -n 1)
if [ -n "$latest_tag" ]; then
echo "Pulling: $image:$latest_tag"
podman pull "$image:$latest_tag"
else
echo "No stable tag found for $image"
fi
echo "------------------------------------"
done
echo "Pulling Ceph image v19"
podman pull quay.io/ceph/ceph:v19
echo "------------------------------"
now we have need to to tags image
podman images | grep 'quay' | awk '{print $1 " " $3 " " $2}' | cut -d/ -f3- | while read NAME ID TAG ; do podman image tag $ID 172.40.30.21:5000/$NAME:$TAG ; done
Create directory for insecure registry config, remember to add your IP not mine !
mkdir -p $HOME/.config/containers/
cat << EOF > $HOME/.config/containers/registries.conf
[[registry]]
location = "172.40.30.21:5000"
insecure = true
EOF
Push images to your registry
for i in $(podman images | grep '172.40' | awk '{print $1 ":" $2}') ; do podman push $i ; done
Create a initial config to specify image for ceph components
cat << EOF > $HOME/initial-ceph.conf
[mgr]
mgr/cephadm/container_image_grafana = 172.40.30.21:5000/ceph-grafana:9.4.12-x86_64
mgr/cephadm/container_image_alertmanager = 172.40.30.21:5000/alertmanager:v0.28.1
mgr/cephadm/container_image_loki = 172.40.30.21:5000/loki:3.0.0
mgr/cephadm/container_image_promtail = 172.40.30.21:5000/promtail:3.0.0
mgr/cephadm/container_image_prometheus = 172.40.30.21:5000/prometheus:v3.5.0
mgr/cephadm/container_image_node_exporter = 172.40.30.21:5000/node-exporter:v1.9.1
EOF
Now you can Bootstrap you cluster
cephadm --image 172.40.30.21:5000/ceph:v19 bootstrap \
--mon-ip *<mon-ip>* \
--cluster-network *<cluster-network-cidr>* \
--config initial-ceph.conf