Skip to main content
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:

      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.

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

    1.2 Run the following command to restart Docker:

     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.

      - 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.

    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:

      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.

    # 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:

    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:

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

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