ZBLOG

k8s v1.26版本 中部署一套minio集群版的完整步骤,存储用NFS,使用nodeport暴露端口

在 Kubernetes v1.26 上部署 Minio 集群版并使用 NFS 存储,同时使用 NodePort 暴露端口的完整步骤如下:

  1. 创建一个存储类别 (StorageClass),指定可用的存储后端。这里使用 NFS 存储后端,需要先安装 nfs-client。
  1. apiVersion: storage.k8s.io/v1
  2. kind: StorageClass
  3. metadata:
  4. name: minio-nfs-storage-class
  5. provisioner: kubernetes.io/nfs
  6. parameters:
  7. server: <nfs-server-ip> # NFS 服务器 IP 地址。
  8. path: /exports/minio # 在 NFS 上创建的共享目录路径。
  1. 创建 PVC(Persistent Volume Claim)来申请存储资源。
  1. apiVersion: v1
  2. kind: PersistentVolumeClaim
  3. metadata:
  4. name: minio-pvc
  5. spec:
  6. accessModes:
  7. - ReadWriteOnce
  8. resources:
  9. requests:
  10. storage: 50Gi # 指定需要多少存储空间。
  11. storageClassName: minio-nfs-storage-class # 引用前面创建的存储类别。
  1. 在 Kubernetes 中创建 ConfigMap,配置 Minio 的环境变量和启动参数。
  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4. name: minio-configmap
  5. data:
  6. MINIO_ACCESS_KEY: "accesskey"
  7. MINIO_SECRET_KEY: "secretkey"
  1. 创建 StatefulSet 来运行 Minio 实例。
  1. apiVersion: apps/v1
  2. kind: StatefulSet
  3. metadata:
  4. name: minio-statefulset
  5. spec:
  6. serviceName : minio-service
  7. replicas : 4 # 配置 Minio 实例数量。
  8. # 定义容器和卷的模板。
  9. template:
  10. metadata:
  11. labels:
  12. app: minio
  13. spec:
  14. containers:
  15. - name: minio
  16. image: minio/minio
  17. envFrom: # 引用前面创建的 ConfigMap。
  18. - configMapRef:
  19. name: minio-configmap
  20. command : ["/usr/bin/docker-entrypoint.sh"]
  21. args : ["server", "/export"] # 指定 Minio 数据目录。
  22. ports :
  23. - containerPort : 9000 # 配置 Minio 监听端口。
  24. volumeMounts :
  25. - name : minio-pvc
  26. mountPath : /export
  27. # 配置 Pod 的卷声明,引用前面创建的 PVC。
  28. volumeClaimTemplates :
  29. - metadata :
  30. name : minio-pvc
  31. spec :
  32. accessModes : [ "ReadWriteOnce" ]
  33. resources :
  34. requests :
  35. storage : 50Gi # 每个实例都需要分配同样大小的存储空间。
  36. storageClassName : minio-nfs-storage-class
  1. 创建 Service 来暴露 Minio 实例到集群外部,并使用 NodePort 类型指定端口范围。
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: minio-service
  5. spec:
  6. selector:
  7. app: minio
  8. type: NodePort # 使用 NodePort 类型暴露服务到集群外部。
  9. ports:
  10. - nodePort: <port> # 指定一个可用的端口,例如 30000。
  11. port: 9000 # 和上文中指定的端口一致。
  12. protocol: TCP

以上是在 Kubernetes v1.26 上部署 Minio 集群版并使用 NFS 存储,并使用 NodePort 暴露端口的完整步骤。您可以根据自己的需求进行相应的调整。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5840

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?