73 lines
2.6 KiB
YAML
73 lines
2.6 KiB
YAML
#################################################################################################################
|
|
# We need many operations to remove OSDs as written in Documentation/ceph-osd-mgmt.md.
|
|
# This job can automate some of that operations: mark OSDs as `out`, purge these OSDs,
|
|
# and delete the corresponding resources like OSD deployments, OSD prepare jobs, and PVCs.
|
|
#
|
|
# Please note the following.
|
|
#
|
|
# - This job only works for `down` OSDs.
|
|
# - This job doesn't wait for backfilling to be completed.
|
|
#
|
|
# If you want to remove `up` OSDs and/or want to wait for backfilling to be completed between each OSD removal,
|
|
# please do it by hand.
|
|
#################################################################################################################
|
|
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: rook-ceph-purge-osd
|
|
namespace: rook-ceph # namespace:operator
|
|
labels:
|
|
app: rook-ceph-purge-osd
|
|
spec:
|
|
template:
|
|
spec:
|
|
serviceAccountName: rook-ceph-system
|
|
containers:
|
|
- name: osd-removal
|
|
image: rook/ceph:master
|
|
# TODO: Insert the OSD ID in the last parameter that is to be removed
|
|
# The OSD IDs are a comma-separated list. For example: "0" or "0,2".
|
|
args: ["ceph", "osd", "remove", "--osd-ids", "3,1,4,2,5"]
|
|
env:
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: ROOK_MON_ENDPOINTS
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: data
|
|
name: rook-ceph-mon-endpoints
|
|
- name: ROOK_CEPH_USERNAME
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: ceph-username
|
|
name: rook-ceph-mon
|
|
- name: ROOK_CEPH_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: ceph-secret
|
|
name: rook-ceph-mon
|
|
- name: ROOK_CONFIG_DIR
|
|
value: /var/lib/rook
|
|
- name: ROOK_CEPH_CONFIG_OVERRIDE
|
|
value: /etc/rook/config/override.conf
|
|
- name: ROOK_FSID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: fsid
|
|
name: rook-ceph-mon
|
|
- name: ROOK_LOG_LEVEL
|
|
value: DEBUG
|
|
volumeMounts:
|
|
- mountPath: /etc/ceph
|
|
name: ceph-conf-emptydir
|
|
- mountPath: /var/lib/rook
|
|
name: rook-config
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: ceph-conf-emptydir
|
|
- emptyDir: {}
|
|
name: rook-config
|
|
restartPolicy: Never
|