多实例部署

多实例部署模式下数据存储将使用单独提供的组件,主要包括:MySQLMongoDBRedisKafkaElasticsearch。可参考 集群模式搭建指南

部署步骤

  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 节点拉取以下3个镜像(镜像较大,不建议在启动时通过自动拉取,等待时间会比较长)

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

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

    下载安装管理器 wget https://pdpublic.mingdao.com/private-deployment/3.1.3/mingdaoyun_private_deployment_captain_linux_amd64.tar.gz,解压并执行启动命令:bash ./service.sh start,启动成功后默认会监听 38881 端口

  4. 定义文件存储所需 PV

    mingdaoyun-file chart 模板定义中默认已声明需要通过 PV 的方式进行挂载,如下:

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

    如果是基于 NFS,可如下定义 PV,PV 数量需要与 mingdaoyun-filereplicaCount 一致:

    mingdaoyun-file1-pv.yaml

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: mingdaoyun-file1-pv
    spec:
      nfs:
        path: /mdy_file1
        server: 172.17.30.83  # 需要在 /etc/exports 中添加对应记录
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 1Gi
      storageClassName: mingdaoyun-file-sc # 与 PVC 中声明的 storageClass 一致
    

    创建 PV:

    kubectl apply -f mingdaoyun-file1-pv.yaml
    
  5. 安装 chart

    安装 mingdaoyun-doc。

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

    安装 mingdaoyun-file。创建自定义参数配置文件 mingdaoyun-file-values.yaml,集群模式下 replicaCount 至少设置为 4

    mingdaoyun-file-values.yaml

    serviceUrl: "http://$MASTER_NODE_IP:32100"
    replicaCount: 4
    accesskey: "mdstorage"
    secrectkey: "mdstorage@123"
    storageComponent:
      redis: 
        host: "${IP}"
        port: 6379
        password: "123456"
    
    helm install -f mingdaoyun-file-values.yaml mingdaoyun-file mingdaoyun-charts/mingdaoyun-file
    

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

    mingdaoyun-values.yaml

    replicaCount: 3
    serviceUrl: "http://$MASTER_NODE_IP:32100"
    captainServiceUrl: "http://$CAPTAIN_NODE_IP:38881"  # 安装管理器内网地址
    storageComponent:
      enabled: true
      mongodb:
        uri: "mongodb://${IP1}:27017,${IP2}:27017,${IP3}:27017"
      mysql:
        host: "${IP}"
        port: 3306
        username: "root"
        password: "123456"
      redis:
        host: "${IP}"
        port: 6379
        password: "123456"
      kafka:
        uri: "${IP1}:9092,${IP2}:9092,${IP3}:9092"
      elasticsearch:
        uri: "${IP1}:9200,${IP2}:9200,${IP3}:9200"
        password: "123456"
      file:
        uri: "mingdaoyun-file-0.mingdaoyun-file:9000,mingdaoyun-file-1.mingdaoyun-file:9000,mingdaoyun-file-2.mingdaoyun-file:9000,mingdaoyun-file-3.mingdaoyun-file:9000"
        accesskey: "mdstorage"
        secrectkey: "mdstorage@123"
    
    helm install -f mingdaoyun-values.yaml mingdaoyun mingdaoyun-charts/mingdaoyun
    

    待 mingdaoyun pod 启动完成(3~5分钟),执行以下命令进行初始化数据

    kubectl exec -it mingdaoyun-0 bash
    source /entrypoint-cluster.sh && clusterInit
    

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

results matching ""

    No results matching ""