Proxmox

Copy your ceph keyring from /etc/ceph/ceph.client.admin.keyring to /etc/pve/priv/ceph/croit-cluster.keyring:

# /etc/pve/priv/ceph/croit-cluster.keyring
[client.admin]
        key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==
        caps mds = "allow *"
        caps mon = "allow *"
        caps osd = "allow *"

Edit /etc/pve/storage.cfg

# /etc/pve/storage.cfg
rbd: croit-cluster
  content images
  # Don't use kernel RBD client for better feature compatibility
  krbd 0
  # Your MON IPs
  monhost 10.0.0.100,10.0.0.101,10.0.0.102
  # Your RBD pool name
  pool rbd
  # Keyring username
  username admin

Now you should be able to use Rados Block Devices inside Proxmox.

Unfortunately, since the Proxmox developers have made no effort to support modern EC pools, it is not possible to configure Ceph EC pools easily. If you want to consume modern EC pools in proxmox, edit /etc/pve/storage.cfg again

# /etc/pve/storage.cfg
rbd: croit-cluster_ec
  content images
  # Don't use kernel RBD client for better feature compatibility
  krbd 0
  # Your MON IPs
  monhost 10.0.0.100,10.0.0.101,10.0.0.102
  # Your RBD REPLICA pool name
  # EC datapool configured in /etc/ceph/ceph.conf
  pool rbd
  # Keyring username used to access EC pool
  username admin_ec

and setup a valid /etc/ceph/ceph.conf

# /etc/ceph/ceph.conf
[global]
# your cluster configuration

[client.admin_ec]
rbd default data pool = croit-cluster_ec

So the trick is that we assign a data pool to the username via ceph.conf. This way we circumvent the limitations of Proxmox and get cost-optimized high performance storage.

Please note that the replica pool is mandatory, but hardly receives any data.

Learn more: https://pve.proxmox.com/wiki/Storage:_RBD