Skip to main content
Version: v25.06

Offline Bootstrap Cluster Installation

Configuration Requirements

Table 1 Hardware configuration for minimum deployment

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

Table 2 Recommended hardware configuration

Node TypeNumber of NodesNumber of vCPUsMemory (GB)Disk Space
Bootstrap node124System drive ≥ 100 GB
Service clusterDepending 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 public Internet access and is used to build offline installation packages in online scenarios.)

    Input image descriptionNOTE
    For configuration requirements on the BMS, see the configuration information about the bootstrap node in the preceding Configuration Requirements section.

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

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

    • For tar installation, see https://ftp.gnu.org/gnu/tar/.

    • For pigz installation, see https://zlib.net/pigz/.

    • Run the following command to install bkeadm:

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

Procedure

  1. Build the 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 uncomment the corresponding image download code in the YAML file. By default, the image download code is commented out. The following is an example where the Volcano component needs to be installed and the Ray component does not need to be installed. In this example, the Volcano component image is downloaded, but the Ray component image is not downloaded.

    Third-party images required for installing extensions, such as images in docker.io, are not included in the offline artifact package.

    - architecture:  # openfuyao extension
    - amd64
    - arm64
    sourceRepo: harbor.openfuyao.com/openfuyao
    targetRepo: kubernetes
    images:
    - name: volcano-config-website #volcano
    tag:
    - v25.06
    - name: volcano-config-service #volcano
    tag:
    - v25.06
    - name: numa-tuning-operator #volcano
    tag:
    - v25.06
    - name: volcano/resource-exporter #volcano
    tag:
    - v25.06
    # - name: ray-website #ray
    # tag:
    # - v25.06
    # - name: ray-service #ray
    # tag:
    # - v25.06

    Run the following command to build an offline installation package:

    Input image descriptionNOTE 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 eg: bke.tar.gz> -C /

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

  3. Rename the BKE installation tool and initialize the bootstrap node.

    # Change the installation tool name.
    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 to perform service cluster installation.

Uninstallation

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

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

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