• Blaine Gardner's avatar
    ceph mons: set up entirely in operator · ec416cdd
    Blaine Gardner authored
    
    
    Make the Rook config-init unnecessary for mons, and remove that init
    container. Perform all mon configuration steps in the operator, and set
    up the mon pods and k8s environment such that only Ceph containers are
    needed for running mons.
    
    This should help streamline changes to the mons, as there will be no
    need to change the `daemon/mon` code or `cmd/rook/ceph` code with mon
    changes in the future.
    
    This work starts to lay the groundwork for supporting the
    `design/ceph-config-updates.md` design.
    
    Notable new bits:
    
    Create a keyring secret store helper for storing dameon keyrings, and
    use it to store the mon keyring. Mon pods mount the keyring into a
    k8s secret-backed volume.
    
    Create a configmap store for the Ceph config file which can be mounted
    into pods/containers directly to /etc/ceph/ceph.conf. Also store
    individual mon_host and mon_initial_members values which can be mapped
    into pods as environment variables and used in Ceph commandline flags,
    enabling the mon pods to have the most up-to-date information about the
    mon cluster when restarting and without need for operator intervention.
    Signed-off-by: default avatarBlaine Gardner <blaine.gardner@suse.com>
    ec416cdd