Offline Bootstrap Cluster Installation
Configuration Requirements
Table 1 Hardware configuration for minimum deployment
| Node Type | Number of Nodes | Number of vCPUs | Memory (GB) | Disk Space |
|---|---|---|---|---|
| Bootstrap node | 1 | 2 | 4 | System drive ≥ 100 GB |
| Service cluster node | 1 | 8 | 16 | System drive ≥ 100 GB |
Table 2 Recommended hardware configuration
| Node Type | Number of Nodes | Number of vCPUs | Memory (GB) | Disk Space |
|---|---|---|---|---|
| Bootstrap node | 1 | 2 | 4 | System drive ≥ 100 GB |
| Service cluster | Depending on the actual situation | Depending on the actual situation | Depending on the actual situation | Depending 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.)
NOTE
For configuration requirements on the BMS, see the configuration information about the bootstrap node in the preceding Configuration Requirements section. -
Ensure that no
/bkedirectory 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
-
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 docker1.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.06Run the following command to build an offline installation package:
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 -
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 /NOTE
It is recommended that the storage space of the root directory after decompression be greater than 29 GB. Otherwise, initialization will be affected. -
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 -
Run the following command to view the pods deployed in the bootstrap cluster:
kubectl get pod -AThe 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
-
Run the following command to reset the bootstrap cluster:
bke reset --all --mount -
Run the following command to fully remove all BKE-related content:
rm -rf /bke
rm -f /usr/bin/bke