freundcloud

Storage Patterns

Local Storage Optimization

Rook Configuration

apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
  name: edge-storage
  namespace: rook-ceph
spec:
  dataDirHostPath: /var/lib/rook
  mon:
    count: 3
    allowMultiplePerNode: false
  mgr:
    count: 1
  storage:
    useAllNodes: true
    useAllDevices: false
    config:
      storeType: bluestore
      databaseSizeMB: "1024"
      journalSizeMB: "1024"

Data Locality

StorageClass Configuration

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: edge-local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
reclaimPolicy: Retain

Cache Management

Redis Edge Cache

apiVersion: redis.redis.opstreelabs.in/v1beta1
kind: RedisCluster
metadata:
  name: edge-cache
spec:
  kubernetesConfig:
    image: redis:7.2
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 500m
        memory: 512Mi
  storage:
    volumeClaimTemplate:
      spec:
        accessModes: ["ReadWriteOnce"]
        storageClassName: edge-local-storage
        resources:
          requests:
            storage: 5Gi
  redisConfig:
    maxmemory: "400mb"
    maxmemory-policy: "allkeys-lru"
    activedefrag: "yes"

Best Practices

  1. Storage Architecture
    • Data tiering
    • Cache hierarchies
    • Replication strategies
    • Backup policies
  2. Performance Optimization
    • I/O scheduling
    • Buffer management
    • Cache warming
    • Write coalescing
  3. Data Management
    • Lifecycle policies
    • Retention rules
    • Sync strategies
    • Cleanup procedures
  4. Reliability
    • Error handling
    • Data recovery
    • Consistency checks
    • Health monitoring