apiVersion: apps/v1 kind: Deployment metadata: name: seaweedfs-filer namespace: storage spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: seaweedfs-filer template: metadata: labels: app: seaweedfs-filer spec: terminationGracePeriodSeconds: 60 initContainers: - name: fix-permissions image: busybox command: ["sh", "-c", "chmod 777 /data/filer"] volumeMounts: - name: filer-data mountPath: /data/filer containers: - name: filer image: chrislusf/seaweedfs:latest args: - filer - -port=8888 - -s3 - -s3.port=8333 - -s3.config=/etc/seaweedfs/s3.json - -master=seaweedfs-master.storage.svc.cluster.local:9333 - -metricsPort=9091 ports: - name: http containerPort: 8888 protocol: TCP - name: s3 containerPort: 8333 protocol: TCP - name: grpc containerPort: 18888 protocol: TCP - name: metrics containerPort: 9091 protocol: TCP envFrom: - secretRef: name: seaweedfs-s3-credentials volumeMounts: - name: config mountPath: /etc/seaweedfs/filer.toml subPath: filer.toml readOnly: true - name: s3-json-secret mountPath: /etc/seaweedfs/s3.json subPath: s3.json readOnly: true - name: filer-data mountPath: /data/filer resources: limits: memory: 2Gi requests: memory: 512Mi cpu: 50m volumes: - name: config configMap: name: seaweedfs-filer-config - name: s3-json-secret secret: secretName: seaweedfs-s3-json - name: filer-data persistentVolumeClaim: claimName: seaweedfs-filer-data --- apiVersion: v1 kind: Service metadata: name: seaweedfs-filer namespace: storage labels: app: seaweedfs-filer spec: selector: app: seaweedfs-filer ports: - name: http port: 8888 targetPort: 8888 - name: s3 port: 8333 targetPort: 8333 - name: grpc port: 18888 targetPort: 18888 - name: metrics port: 9091 targetPort: 9091