Offline Bootstrap Cluster Installation

Configuration Requirements

Table 1 Minimum Deployment Hardware Configuration

Node Type Node Quantity vCPU (Count) Memory (GB) Hard Disk
Bootstrap Node 1 2 4 System disk>=100G
Service Cluster Node 1 8 16 System disk>=100G

Table 2 Recommended Hardware Configuration

Node Type Node Quantity vCPU (Count) Memory (GB) Hard Disk
Bootstrap Node 1 2 4 System disk>=100G
Service Cluster Determined by actual situation Determined by actual situation Determined by actual situation Determined by actual situation

Environment Preparation

  • Prepare a bare metal machine (the bare metal machine needs to be in a public network environment for building offline installation packages in online scenarios).

    icon Note:
    For bare metal configuration, please refer to the bootstrap node configuration information in the Configuration Requirements section above.

  • Ensure that this machine does not have the /bke directory.

  • Install tar, pigz, bkeadm, and Docker (use Docker version 20.10.13 or 18.09.0).

    • For tar tool installation version, please refer to https://mirrors.aliyun.com/gnu/tar/.

    • For pigz tool installation version, please refer to https://zlib.net/pigz/.

    • bkeadm can be downloaded and installed by executing the following commands.

      # Method 1: Quick download
      curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/latest/download.sh | bash
      
      # Method 2: Download with integrity verification
      ## Download download.sh script file
      curl -LO https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/latest/download.sh
      ## Download the checksum file for download.sh and verify (optional). Successful verification will output -: OK. If verification fails, contact openFuyao community maintainers to locate the cause
      curl -LO https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/latest/download.sh.sha256
      sha256sum -c <(cat download.sh.sha256) < download.sh
      ## Run download.sh to download the bke installation tool, which will verify sha256sum during execution
      chmod +x download.sh && ./download.sh
      

Installation Steps

  1. Build deployment package.

    1.1 After completing Docker installation, add the following configuration to the Docker configuration file.

    Edit the /etc/docker/daemon.json file (create one if it doesn't exist).

     {
     "insecure-registries": [     
       "0.0.0.0/0"
     ]    
     }
    

    1.2 Execute the following command to restart Docker.

     systemctl restart docker
    

    1.3 Build offline installation deployment package.

    Collect binary files, RPM packages, Chart packages, etc. and finally generate a compressed package. The offline-artifacts.yaml can be downloaded by clicking download. Determine the extension components to be installed, and open the download switch for the corresponding components in the yaml file (default is closed). Below shows enabling the volcano component image download switch. During subsequent offline installation package preparation, the images required by volcano will be downloaded.

      - architecture:  # openfuyao volcano extension component
          - amd64
          - arm64
        needDownload: true # Switch for whether to download images required by volcano extension component, false-off do not download, true-on download
        subImages:
          - sourceRepo: cr.openfuyao.cn/openfuyao
            targetRepo: openfuyao
            images:
              - name: volcano-config-website
                tag:
                  - latest
              - name: volcano-config-service
                tag:
                  - latest
              - name: numa-tuning-operator
                tag:
                  - v25.03
              - name: volcano/resource-exporter
                tag:
                  - latest
              - name: oauth-proxy
                tag:
                  - latest
              - name: vc-scheduler
                tag:
                  - latest
          - sourceRepo: docker.io
            targetRepo: /
            images:
              - name: volcanosh/vc-webhook-manager
                tag:
                  - v1.9.0
              - name: volcanosh/vc-controller-manager
                tag:
                  - v1.9.0
    

    Execute the following command to build the offline installation deployment package.

    icon Note: The duration is approximately 1 hour. Errors during the import process will have a retry mechanism; errors that do not terminate the process can be ignored.

    rm -rf /bke && bke build -f offline-artifacts.yaml -t bke.tar.gz 
    
  2. Perform offline installation of bootstrap node.

    Notice: The presence of container runtimes such as docker, containerd, or related system residual files on the bootstrap node will cause openFuyao's configuration for the container runtime to not take effect, resulting in installation failure. To ensure successful installation, it is recommended to use a fresh bare metal machine for installation.

    2.1 Copy the deployment package from the online environment to the offline environment bootstrap node (operate according to actual situation).

    2.2 Execute the following command to extract the deployment package to the root directory.

      rm -rf /bke && tar zxvf <deployment package name eg: bke.tar.gz> -C /
    

    icon Note:
    It is recommended that the root directory storage space be greater than 29GB after extraction, otherwise initialization will be affected.

  3. Modify the BKE installation tool name and initialize the bootstrap node.

    # Modify installation tool name
    ARCH=$(uname -m)
    case $ARCH in
    x86_64) ARCH="amd64";;
    aarch64) ARCH="arm64";;
    esac
    mv /usr/local/bin/bkeadm_linux_$ARCH /usr/local/bin/bke
    # Initialize bootstrap node
    bke init 
    
  4. Execute the following command to view the Pods deployed on the bootstrap cluster.

    kubectl get pod -A
    

    After all Pod states are normal, the bootstrap cluster installation is complete, and you can continue to log in to the openFuyao bootstrap node management plane for service cluster installation.

Uninstallation

  1. Execute the following command to reset the bootstrap cluster.

    bke reset --all --mount
    
  2. Execute the following command to completely uninstall BKE related content.

    rm -rf /bke
    rm -f /usr/local/bin/bke