单实例部署

单实例部署模式下最大的特点是不需要关注存储组件部分(如:MySQL、Mongodb、Redis 等),容器内会自动启动相关组件,用户只需要将数据目录做持久化即可,在前期测试阶段可首选。

部署步骤

  1. 在 Master 节点执行以下命令添加明道云提供的 chart 仓库源

    helm repo add mingdaoyun-charts https://mingdaoyun.tencentcloudcr.com/chartrepo/charts
    helm repo update
    

    可通过执行 helm search repo mingdaoyun-charts 命令查看源下相关 chart,如:

  2. 在 Node 节点拉取以下2个镜像(镜像较大,不建议在启动时通过自动拉取,等待时间会比较长)

    docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-community:2.8.1
    docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-doc:1.2.0
    
  3. 启动安装管理器

    推荐使用 kubernetes 集群外的一台机器部署安装管理器,测试阶段可选择使用集群内的一台机器

    下载安装管理器 wget https://pdpublic.mingdao.com/private-deployment/2.8.1/mingdaoyun_private_deployment_captain_linux_amd64.tar.gz,解压并执行启动命令:bash ./service.sh start,启动成功后默认服务器ID标识文件生成在 /data/mingdao/data 文件中(注意:服务器ID标识文件内容会一直动态变化,所以不要任意复制到其他位置

  4. 将服务器ID标识文件共享,这里以 NFS 为例:

    在安装管理器部署服务器上创建 NFS 服务,并将 /data/mingdao/data mount 出去,因为 NFS 只能以目录的方式进行共享,所以这里将 /data/mingdao/data 重新 ln 到了新目录 mdy_svid 下:

    ln /data/mingdao/data /mdy_svid/data
    

    /etc/exports 内容如下,请将 172.17.30.0/24 换成对应内网网段(mdy_data 数据持久化挂载需要,预先配置):

    /mdy_svid  172.17.30.0/24(insecure,rw,async,no_root_squash)
    /mdy_data  172.17.30.0/24(insecure,rw,async,no_root_squash)
    
  5. 定义服务器ID标识文件挂载所需 PV

    mingdaoyun chart 模板定义中服务器ID标识文件默认已声明需要通过 PVC 的方式进行挂载,如下:

    persistence:
      svid:
        existingClaim: "" # 使用已存在的 pvc,accessMode 和 size 满足要求即可
        storageClass: "mingdaoyun-svid-sc" # 空代表自动绑定匹配条件的 PV
        accessMode: ReadOnlyMany # 支持 ReadOnlyMany 的访问模式
        size: 10Mi
        annotations: {}
    

    如果是基于 NFS,可如下定义 PV:

    mingdaoyun-svid-pv.yaml

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: mingdaoyun-svid-pv  
    spec:
      nfs:
        path: /mdy_svid
        server: 172.17.30.83  # NFS 服务内网IP
      accessModes:
      - ReadOnlyMany
      capacity:
        storage: 10Mi
      storageClassName: mingdaoyun-svid-sc # 与 PVC 中声明的 storageClass 一致
    

    创建 PV:

    kubectl apply -f mingdaoyun-svid-pv.yaml
    
  6. 定义数据持久化目录挂载所需的 PV

    mingdaoyun chart 模板定义中数据持久化默认已声明需要通过 PVC 的方式进行挂载,通常只需把 enabled 设置为 true:

    persistence:
      data:
        enabled: false
        existingClaim: "" # 使用已存在的 pvc,accessMode 和 size 满足要求即可
        storageClass: "mingdaoyun-data-sc" # 空代表自动绑定匹配条件的 PV
        accessMode: ReadWriteMany # 需支持 ReadOnlyMany 的访问模式
        size: 10Gi
        annotations: {}
    

    如果基于 NFS 定义 PV(基于性能上的考虑,在实际使用中数据挂载不建议使用 NFS,这里作为参考示例),内容如下:

    mingdaoyun-data-pv.yaml

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: mingdaoyun-data-pv  
    spec:
      nfs:
        path: /mdy_data
        server: 172.17.30.83  # NFS 服务内网IP
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 10Gi
      storageClassName: mingdaoyun-data-sc # 与 PVC 中声明的 storageClass 一致
    

    创建 PV

    kubectl apply -f mingdaoyun-data-pv.yaml
    
  7. 安装 chart

    安装 mingdaoyun-doc

     helm install mingdaoyun-doc mingdaoyun-charts/mingdaoyun-doc
    

    安装 mindaoyun,创建自定义参数文件 mingdaoyun-values.yaml,将 $MASTER_NODE_IP 替换成当前 Kubernetes 集群的 Master Node IP。默认以 NodePort 方式启动,端口为 32100

    mingdaoyun-values.yaml

     serviceUrl: "http://$MASTER_NODE_IP:32100"
     persistence:
       data:
         enabled: true
    
     helm install -f mingdaoyun-values.yaml mingdaoyun mingdaoyun-charts/mingdaoyun
    

    最后确认所有 Pod 都已处于 Running 状态后,可通过 http://$MASTER_NODE_IP:32100 进行访问:

results matching ""

    No results matching ""