ceph-deploy
by
ceph

Description: Deploy Ceph with minimal infrastructure, using just SSH access

View on GitHub ↗

Summary Information

Updated 22 minutes ago
Added to GitGenius on April 7th, 2021
Created on September 12th, 2012
Open Issues & Pull Requests: 10 (+0)
Number of forks: 300
Total Stargazers: 432 (+0)
Total Subscribers: 138 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ceph-deploy is a Python-based deployment tool designed to bootstrap and manage Ceph distributed storage clusters using only SSH access, sudo privileges, and Python. The tool runs entirely from a user's workstation without requiring dedicated servers, databases, or complex infrastructure, making it ideal for users who frequently set up and tear down Ceph clusters and want to avoid the overhead of more comprehensive deployment systems like Chef, Puppet, or Juju.

The repository is explicitly scoped to Ceph deployment only and does not function as a generic deployment system. It provides sensible initial configuration defaults rather than fine-grained control over security settings, partitions, or directory locations. Users requiring such granular control are directed toward more comprehensive orchestration tools. The tool handles core Ceph deployment tasks including cluster initialization, monitor deployment, OSD provisioning, and key management, while pushing the Ceph configuration file and basic settings to target nodes.

Installation flexibility is a key design feature. Users can install ceph-deploy from the Python Package Index using pip or easy_install, from DEB repositories across multiple Ceph release channels, or from RPM repositories with support for different distributions. For development and automation use cases, the tool supports bootstrapping directly from the source tree. The documentation recommends using virtualenv for contained dependency installation.

SSH connectivity forms the foundation of ceph-deploy's operation. The tool requires passwordless root SSH access from the deployment workstation to all Ceph nodes, configured through SSH keypairs and appropriate sshd settings. The tool intelligently handles remote connections by attempting SSH only when target hostnames differ from the local hostname. Username flexibility is built in through both SSH configuration files and command-line flags, allowing users to specify custom usernames for connections when needed.

The workflow supports both new cluster creation and management of existing clusters. For new deployments, users define monitor hosts, generate initial configuration and keyrings, review and edit the ceph.conf file, install packages across target nodes, deploy monitors, gather authentication keys, and provision OSDs on specified disks. The tool supports different release tracks including stable, testing, and development branches. For existing clusters, users can pull configuration files and gather encryption keys from monitor hosts to extend or manage the cluster.

OSD deployment includes intelligent disk handling with support for raw disks where ceph-deploy creates partitions and applies GPT labels, as well as pre-prepared disks or directories. The zap-disk option allows destruction of existing partition tables when needed. The tool also supports journal specification for OSD performance tuning.

Additional capabilities include preparing admin hosts with appropriate credentials and keyrings for cluster administration, managing authentication keys through gatherkeys and forgetkeys commands, and supporting multiple independent clusters from a single workstation through the cluster naming option.

GitGenius activity data indicates this repository is classified across installation scripting, infrastructure automation, deployment, cluster management, storage orchestration, and configuration automation domains. The tool addresses the specific niche of lightweight Ceph deployment for users prioritizing simplicity and minimal infrastructure overhead over comprehensive orchestration features.

ceph-deploy
by
cephceph/ceph-deploy

Repository Details

Fetching additional details & charts...