Version: v25.09

Offline Bootstrap Cluster Installation

Configuration Requirements

Table 1 Minimum hardware configuration

Node TypeNumber of NodesNumber of vCPUsMemory (GB)Hard Disk
Bootstrap node124System disk ≥ 100 GB
Service cluster node1816System disk ≥ 100 GB

Table 2 Recommended hardware configuration

Node TypeNumber of NodesNumber of vCPUsMemory (GB)Hard Disk
Bootstrap node124System disk ≥ 100 GB
Service cluster nodeDepending on the actual situationDepending on the actual situationDepending on the actual situationDepending on the actual situation

Environment Preparation

  • Prepare a bare-metal server (BMS). (The BMS must support Internet access and is used to build offline installation packages in online scenarios.)

    Input image description NOTE
    For details about the BMS configuration, see the configuration information about the bootstrap node in Configuration Requirements.

  • Ensure that no /bke directory exists on the BMS.

  • Install tar, pigz, bkeadm, and Docker (no specific Docker version is required).

    • For details about the tar tool installation version, see https://mirrors.aliyun.com/gnu/tar/.

    • For details about the pigz tool installation version, see https://zlib.net/pigz/.

    • You can run the following command to download and install bkeadm:

      bash
      curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/v25.09/download.sh | bash

Installation Procedure

  1. Build a deployment package.

    1.1 After Docker is installed, add the following configuration to the Docker configuration file.

    Edit the /etc/docker/daemon.json file. Create the file if it does not exist.

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

    1.2 Run the following command to restart Docker:

    bash
     systemctl restart docker

    1.3 Build an offline installation and deployment package.

    Collect binary files, RPM packages, chart packages, and other files and generate a compressed package. You can click Download to download the offline-artifacts.yaml file. Determine the extension to be installed and enable the download function of the corresponding component in the YAML file (disabled by default). The following code shows how to enable the image download function of the volcano component. The images on which the volcano component depends will be downloaded during the preparation of the offline installation package.

    bash
      - architecture: # openFuyao volcano extension
          - amd64
          - arm64
        needDownload: true # Whether to download the images required by the volcano extension. **false**: no; **true**: yes.
        subImages:
          - sourceRepo: cr.openfuyao.cn/openfuyao
            targetRepo: openfuyao
            images:
              - name: volcano-config-website
                tag:
                  - v25.09
              - name: volcano-config-service
                tag:
                  - v25.09
              - name: numa-tuning-operator
                tag:
                  - v25.09
              - name: volcano/resource-exporter
                tag:
                  - v25.09
              - name: oauth-proxy
                tag:
                  - v25.09
              - name: vc-scheduler
                tag:
                  - v25.09
          - sourceRepo: docker.io
            targetRepo: /
            images:
              - name: volcanosh/vc-webhook-manager
                tag:
                  - v1.9.0
              - name: volcanosh/vc-controller-manager
                tag:
                  - v1.9.0

    Run the following command to build an offline installation and deployment package.

    Input image description NOTE The process takes about 1 hour. A retry mechanism is provided if an error is reported during package creation. Ignore the errors that do not cause the process to stop.

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

    2.1 Copy the deployment package from the online environment to the bootstrap node in the offline environment (operations vary with the actual situation).

    2.2 Run the following command to decompress the deployment package to the root directory:

    bash
      rm -rf /bke && tar zxvf <Deployment package name, for example, bke.tar.gz> -C /

    Input image description NOTE
    It is recommended that the storage space of the root directory after decompression be greater than 29 GB. Otherwise, the initialization is affected.

  3. Change the name of the BKE installation tool and initialize the bootstrap node.

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

    bash
    kubectl get pod -A

    The bootstrap cluster installation is complete after all Pods are in a normal state. You can log in to the openFuyao management plane of the bootstrap node to perform service cluster installation.

Uninstallation Procedure

  1. Run the following command to reset the bootstrap cluster:

    bash
    bke reset --all --mount
  2. Run the following command to remove all BKE-related content:

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