github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/yrcloudfile/README.md (about)

     1  # YRCloudFile
     2  
     3  [YRCloudFile](https://www.yanrongyun.com) is a high performance distributed filesystem, which can be deployed either on-premise or off-premise, and fully support the Kubernetes.
     4  
     5  By integrated with sealer, you can deploy the YRCloudFile and kubernetes seamlessly, just by one Clusterfile.
     6  
     7  ## Concept
     8  oss: data storage node role, and contains oss disks; all the oss_disks should be even number.
     9  
    10  mds: meta storage node role ,and contains mds disks; all the mds_disks should be even number.
    11  
    12  mgr: storage management node role;nodes with mgr role should be 3 or 1.
    13  
    14  ## Using YRCloudFile CloudImage
    15  
    16  This image contains all the dependencies. and for Supported Kernel, please check the [compatible-kernels.txt]
    17  
    18  Clusterfile:
    19  
    20  ```yaml
    21  apiVersion: sealer.aliyun.com/v1alpha1
    22  kind: Cluster
    23  metadata:
    24    name: my-cluster
    25  spec:
    26    certSANS:
    27    - aliyun-inc.com
    28    - 10.0.0.2
    29    image: registry.cn-qingdao.aliyuncs.com/yrcloudfile/yrcloudfile:latest
    30    masters:
    31  ...
    32  
    33  ```
    34  
    35  for your target hosts, either virtual machine or bare-metal, generated the following content.
    36  
    37  ```yaml
    38  apiVersion: sealer.aliyun.com/v1alpha1
    39  kind: Config
    40  metadata:
    41    name: yrcloudfile.yml
    42  spec:
    43    path: etc/yrcloudfile.yml
    44    data: |
    45      hosts:
    46      - hostname: node28.yr
    47        mds_disks: [/dev/sdb,/dev/sdc]
    48        mgmt_network: {device: ens224, ipaddr: 192.168.13.28}
    49        oss_disks: [/dev/sdd, /dev/sde]
    50        password: Passw0rd
    51        roles: [mds, oss, mgr]
    52      - hostname: node29.yr
    53        mds_disks: [/dev/sdb,/dev/sdc]
    54        mgmt_network: {device: ens224, ipaddr: 192.168.13.29}
    55        oss_disks: [/dev/sdd, /dev/sde]
    56        password: Passw0rd
    57        roles: [mds, oss, mgr]
    58      - hostname: node35.yr
    59        mds_disks: [/dev/sdb,/dev/sdc]
    60        mgmt_network: {device: ens224, ipaddr: 192.168.13.35}
    61        oss_disks: [/dev/sdd, /dev/sde]
    62        password: Passw0rd
    63        roles: [mds, oss, mgr]
    64      mgmt_cidr: 192.168.0.0/16  # cidr for the hosts ip address
    65      mode: install
    66      owner: sealer
    67      http_port: 8080
    68      etcd_port: 2479
    69      etcd_peer_port: 2480
    70      mount_path: /mnt/pfs
    71      storage_cidr: 192.168.0.0/16  # keep it as same as mgmt_cidr for now
    72      version: 6.6.2
    73  ```
    74  
    75  Here the 'my-cluster' must be the SAME with cluster name
    76  
    77  The last two parameters of shell command should be ip address of mgmt_network for one host which with mgr role, and the http_port defined the Config file
    78  
    79  ```
    80  apiVersion: sealer.aliyun.com/v1alpha1
    81  kind: Plugin
    82  metadata:
    83    name: SHELL
    84  spec:
    85    action: PreInstall
    86    data: |
    87      cd /var/lib/sealer/data/my-cluster/rootfs/yrcloudfile && chmod 0755 all.sh && sh -x all.sh 192.168.13.28 8080
    88  ```
    89  
    90  Full example ,please refer to example/Clusterfile
    91  
    92  ```
    93  sealer apply -f Clusterfile
    94  ```