首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >私人托管的Kubernetes存储?

私人托管的Kubernetes存储?
EN

Stack Overflow用户
提问于 2019-04-15 08:13:05
回答 3查看 654关注 0票数 1

我正在寻找Kubernetes存储的解决方案,其中我可以使用我的UnRaid服务器作为Kubernetes集群的存储。有没有人做过这样的事?

任何帮助都将不胜感激。

谢谢,杰米

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-02 21:38:07

您可以尝试Kadalu(https://kadalu.io)项目。

Kadalu容器存储是为Kubernetes中运行的应用程序提供持久存储的解决方案。该项目使用GlusterFS提供k8s存储,但与Kubernetes进行了本机集成。

安装Kadalu Operator,然后注册存储设备。例如,以下命令从节点kube-node1.example.com(属于k8s群集)公开存储设备/dev/vdc。操作员部署CSI驱动程序,这是为持久卷声明(PVC)提供服务所必需的。

安装Kadalu Operator

代码语言:javascript
复制
[kube-master]# kubectl create -f https://kadalu.io/operator-latest.yaml

注册存储设备

代码语言:javascript
复制
[kube-master]# kubectl kadalu storage-add storage-pool-1 \
    --device kube-node1.example.com:/dev/vdc

验证所有必需的pods是否都在运行

代码语言:javascript
复制
[kube-master]# kubectl get pods -nkadalu
NAME                                READY   STATUS    RESTARTS   AGE
csi-nodeplugin-5hfms                3/3     Running   0          14m
csi-nodeplugin-924cc                3/3     Running   0          14m
csi-nodeplugin-cbjl9                3/3     Running   0          14m
csi-provisioner-0                   4/4     Running   0          14m
operator-577f569dc8-l2q6c           1/1     Running   0          15m
server-storage-pool-1-0-kube...     2/2     Running   0          11m

就是这样。开始申请PV!

示例PV索赔。

代码语言:javascript
复制
# File: sample-pvc.yaml
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: sample-pv
spec:
  storageClassName: kadalu.replica1
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 500M

运行以下命令以请求sample-pv

代码语言:javascript
复制
[kube-master]# kubectl create -f sample-pvc.yaml

注意: Kadalu还支持Replica3配置,即需要注册三台设备。即使每三个存储节点中就有一个发生故障,副本3也能为应用程序提供高可用性。例如,

代码语言:javascript
复制
[kube-master]# kubectl kadalu storage-add storage-pool-2 --type Replica3 \
    --device kube-node1.example.com:/dev/vdc
    --device kube-node2.example.com:/dev/vdc
    --device kube-node3.example.com:/dev/vdc

希望这是有用的。请随时在此处打开问题或功能请求https://github.com/kadalu/kadalu/issues

票数 0
EN

Stack Overflow用户

发布于 2019-04-15 12:10:48

可能唯一的方法是在NFS Volume中使用它。此link向您介绍如何挂载Unraid NFS共享。

然后,您可以按照Kubernetes example中的说明在Pod中使用NFS卷。

基本上,您的Unraid服务器将有一个IP地址,然后您可以在Pod上使用该IP地址挂载卷/路径。For example

代码语言:javascript
复制
kind: Pod
apiVersion: v1
metadata:
  name: pod-using-nfs
spec:
  # Add the server as an NFS volume for the pod
  volumes:
    - name: nfs-volume
      nfs: 
        # URL for the NFS server
        server: 10.108.211.244 # Change this!
        path: /

  # In this container, we'll mount the NFS volume
  # and write the date to a file inside it.
  containers:
    - name: app
      image: alpine

      # Mount the NFS volume in the container
      volumeMounts:
        - name: nfs-volume
          mountPath: /var/nfs

      # Write to a file inside our NFS
      command: ["/bin/sh"]
      args: ["-c", "while true; do date >> /var/nfs/dates.txt; sleep 5; done"]

如果你愿意,你也可以使用PVCFor example

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 10.108.211.244 # Change this!
    path: "/"

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: nfs
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: ""
  resources:
    requests:
      storage: 10G

然后在您的部署或Pod定义中使用它:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nfs-busybox
spec:
  replicas: 1
  selector:
    matchLabels:
      name: nfs-busybox
  template:
    metadata:
      labels:
        name: nfs-busybox
    spec:
      containers:
      - image: busybox
        imagePullPolicy: Always
        name: busybox
        volumeMounts:
          # name must match the volume name below
          - name: my-pvc-nfs
            mountPath: "/mnt"
      volumes:
      - name: my-pvc-nfs
        persistentVolumeClaim:
          claimName: nfs
票数 2
EN

Stack Overflow用户

发布于 2019-04-15 13:17:14

你可以使用ceph .I使用它,它对我有很大帮助。您可以从您的存储构建集群并定义复制。ceph可以使用增量备份和快照

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55681165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档