ZBLOG

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

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

  1. 创建一个存储类别 (StorageClass),指定可用的存储后端。这里使用 NFS 存储后端,需要先安装 nfs-client。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: minio-nfs-storage-class
provisioner: kubernetes.io/nfs
parameters:
  server: <nfs-server-ip> # NFS 服务器 IP 地址。
  path: /exports/minio # 在 NFS 上创建的共享目录路径。
  1. 创建 PVC(Persistent Volume Claim)来申请存储资源。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: minio-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi # 指定需要多少存储空间。
  storageClassName: minio-nfs-storage-class # 引用前面创建的存储类别。
  1. 在 Kubernetes 中创建 ConfigMap,配置 Minio 的环境变量和启动参数。
apiVersion: v1
kind: ConfigMap
metadata:
  name: minio-configmap
data:
  MINIO_ACCESS_KEY: "accesskey"
  MINIO_SECRET_KEY: "secretkey"
  1. 创建 StatefulSet 来运行 Minio 实例。
apiVersion: apps/v1 
kind: StatefulSet 
metadata:
  name: minio-statefulset 
spec:
  serviceName : minio-service 
  replicas : 4 # 配置 Minio 实例数量。
  
# 定义容器和卷的模板。
template:
  metadata:
    labels:
      app: minio
  spec:
    containers:
    - name: minio 
      image: minio/minio 
      envFrom: # 引用前面创建的 ConfigMap。
        - configMapRef:
            name: minio-configmap 
      command : ["/usr/bin/docker-entrypoint.sh"]
      args : ["server", "/export"] # 指定 Minio 数据目录。
      ports :
        - containerPort : 9000 # 配置 Minio 监听端口。

      volumeMounts :
        - name : minio-pvc 
          mountPath : /export

# 配置 Pod 的卷声明,引用前面创建的 PVC。  
  volumeClaimTemplates :
    - metadata :
        name : minio-pvc
      spec :
        accessModes : [ "ReadWriteOnce" ]
        resources :
          requests :
            storage : 50Gi # 每个实例都需要分配同样大小的存储空间。
        storageClassName : minio-nfs-storage-class
  1. 创建 Service 来暴露 Minio 实例到集群外部,并使用 NodePort 类型指定端口范围。
apiVersion: v1
kind: Service
metadata:
  name: minio-service
spec:
  selector:
    app: minio
  type: NodePort # 使用 NodePort 类型暴露服务到集群外部。
  ports:
    - nodePort: <port> # 指定一个可用的端口,例如 30000。
      port: 9000 # 和上文中指定的端口一致。
      protocol: TCP

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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?