Categorygithub.com/Cloud-for-You/storage-operator

# README

storage-operator

Zjednodušuje vytváření vazby PersistentVolumeClaim a PersistentVolume v k8s clusteru. Pro vytvoření vazby postačí definovat CustomResource, který obsahuje popis, co se má v daném namespace připojit. Aktuálně je podporováno pouze NFS.

Container Environment

EnvironmentDefaultVyžadovánoPopis
CHECK_EXPORTPATHfalseAnoZapne kontrolu exportu na NFS serveru. Pokud není export dostupný, zástane stav ve stavu Pending a bude zařazen do rekoncilační fronty pro další rekoncilaci.
CLUSTER_NAMENeNutné nastavit, pokud vyžadujeme zapnutou automatizaci.
AWX_URLNePouze pokud je ve storageClass zapnuta automatizace pomocí AWX.
AWX_USERNAMENePouze pokud je ve storageClass zapnuta automatizace pomocí AWX.
AWX_PASSWORDNePouze pokud je ve storageClass zapnuta automatizace pomocí AWX.

StorageClass

Pro správné fungování operátor vyžaduje v clusteru storageClass, která musí obsahovat annotaci storage-operator.cfy.cz/storage-type: nfs. Pro automatizované provisionování nfs exportu je možné povolit automatizaci parametrem provisioner. Aktuálně je podporována pouze jediná automatizace a to provolání RestAPI Ansible Toweru a spuštění existující template. Tato template je uvedena ve storageClass jako parameters.job-template-id a dále je nutné specifikovat jméno endpointu pro provisionování PVC parameters.hosts. Tento parametr se dále přenáší jako hosts pro spouštěný Ansible Playbook.

allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storage-operator.cfy.cz/storage-type: nfs
  name: nfs
mountOptions:
- nfsvers=4
- hard
- intr
provisioner: storage-operator.cfy.cz/awx
parameters:
  hosts: "ansible_hosts"
  job-template-id: "105"
  volume-group: vg_nfs
reclaimPolicy: Retain
volumeBindingMode: Immediate

Example CustomResource

Custom resource pro objekt, který chceme mít přístupný jako PersistentVolumeClaim a vytvořený claim s PersistentVolume

apiVersion: storage.cfy.cz/v1
kind: Nfs
metadata:
  name: example-nfs
  namespace: example
spec:
  server: 172.16.4.102
  path: /volume1/nfs-exports
  capacity: 1Gi

AWX Automation

Je možné vytvářet persistentní úložiště pomocí AWX Automation platform. AWX má automatizaci v rámci ansible playbooku. Parametry, které jsou možné pro toto nastavit jsou.

Jméno parametruPopisVyžadováno
hostsJména hostů nebo groups, na které bude playbook delegovánAno
job-template-idID template, pod kterou je v AWX automatizace vedenaAno
volume-groupJméno volume group (LVM), na kterou je persistentní svazek umístěnNe

Pokud není parametr vyžadován je nutné jej specifikovat jako default parametr v AWX

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author