apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cephfs-smb-pvc namespace: rook-ceph labels: app: cephfs-smb-gateway spec: accessModes: - ReadWriteMany storageClassName: rook-cephfs resources: requests: storage: 50Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: cephfs-smb-gateway namespace: rook-ceph labels: app: cephfs-smb-gateway spec: replicas: 1 selector: matchLabels: app: cephfs-smb-gateway template: metadata: labels: app: cephfs-smb-gateway spec: containers: - name: smb image: docker.io/dperson/samba:amd64 args: - -s - "fileshare;/fileshare;yes;no;no;all" - -u - "fileshare;fileshare" - -w - "WORKGROUP" ports: - containerPort: 139 name: smb - containerPort: 445 name: smb-alt volumeMounts: - name: cephfs mountPath: /fileshare securityContext: runAsUser: 0 runAsGroup: 0 privileged: true volumes: - name: cephfs persistentVolumeClaim: claimName: cephfs-smb-pvc tolerations: - key: node-role.kubernetes.io/control-plane operator: Exists effect: NoSchedule --- apiVersion: v1 kind: Service metadata: name: cephfs-smb-gateway namespace: rook-ceph labels: app: cephfs-smb-gateway spec: type: LoadBalancer selector: app: cephfs-smb-gateway ports: - name: smb port: 139 targetPort: 139 protocol: TCP - name: smb-alt port: 445 targetPort: 445 protocol: TCP