Offline Bootstrap Cluster Installation
Configuration Requirements
Table 1 Minimum hardware configuration
| Node Type | Number of Nodes | Number of vCPUs | Memory (GB) | Hard Disk |
|---|---|---|---|---|
| Bootstrap node | 1 | 2 | 4 | System disk ≥ 100 GB |
| Service cluster node | 1 | 8 | 16 | System disk ≥ 100 GB |
Table 2 Recommended hardware configuration
| Node Type | Number of Nodes | Number of vCPUs | Memory (GB) | Hard Disk |
|---|---|---|---|---|
| Bootstrap node | 1 | 2 | 4 | System disk ≥ 100 GB |
| Service cluster node | 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 Internet access and is used to build offline installation packages in online scenarios.)
NOTE
For details about the BMS configuration, see the configuration information about the bootstrap node in Configuration Requirements. -
Ensure that no
/bkedirectory 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
-
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 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 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.0Run the following command to build an offline installation and deployment 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, for example, bke.tar.gz> -C /NOTE
It is recommended that the storage space of the root directory after decompression be greater than 29 GB. Otherwise, the initialization is affected. -
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 -
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 of the bootstrap node to perform service cluster installation.
Uninstallation Procedure
-
Run the following command to reset the bootstrap cluster:
bke reset --all --mount -
Run the following command to remove all BKE-related content:
rm -rf /bke
rm -f /usr/bin/bke