Dragonfly k8s部署

394 阅读1分钟

一、前言

  • 简介

    Dragonfly

  • 准备

    组件

    ip描述
    k8s集群
    helm3
    pv持久化卷

    服务器

    version
    LinuxCentos7

二、部署

  • 建立文件夹

    rm -rf /home/data/dragonfly
    
    mkdir /home/data/dragonfly
    
    chmod  -R 777 /home/data/dragonfly
    
  • 建立pv

    编辑pv.yaml

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: data-dragonfly-0
    spec:
      capacity:
        storage: 10Gi
      accessModes:
        - ReadWriteOnce
      persistentVolumeReclaimPolicy: Retain
      hostPath:
        path: /home/data/dragonfly
        type: DirectoryOrCreate
      nodeAffinity:
        required:
          nodeSelectorTerms:
            - matchExpressions:
                - key: kubernetes.io/hostname
                  operator: In
                  values:
                    - centos205
    
        
    
    
    kubectl apply -f pv.yaml
    
  • 部署

    1. add values.yaml
    extraArgs:
      - --dbfilename=dump
      - --save_schedule=*:* # HH:MM glob format
    storage:
      enabled: true
      requests: 10240Mi
    
    podSecurityContext:
      fsGroup: 2000
    
    securityContext:
      capabilities:
        drop:
          - ALL
      readOnlyRootFilesystem: true
      runAsNonRoot: true
      runAsUser: 1000
    

    2. install:

        helm upgrade -f values.yaml --install dragonfly oci://ghcr.io/dragonflydb/dragonfly/helm/dragonfly --version v1.3.0
    

    3. 修改nodeport

    ```bash
    kubectl patch svc dragonfly  --type='json' -p '[{"op":"replace","path":"/spec/type","value":"NodePort"},{"op":"replace","path":"/spec/ports/0/nodePort","value":30379}]'
    ```
    

三、迁移数据

  1. 在dragonfly客户端执行 (填写旧redis地址)

    replicaof 192.168.0.185 6379
    
  2. 同步完成后执行

    replicaof no one