v1.28.8 Version K8s Cluster Offline Installation Guide
Background
The K8s version used by the openFuyao community continues to evolve. For example, the released v25.12 version uses K8s version v1.34.3, but there are still clusters using lower K8s versions in the community. This document aims to provide a solution for installing clusters with lower K8s versions.
Prerequisites
None.
Restrictions
- Offline installation.
- K8s images and binaries used are community self-built.
Usage Scenarios
- Bootstrap node is initialized, install v1.28.8 version K8s business cluster.
- Bootstrap node is not initialized, install v1.28.8 version K8s business cluster.
Procedure
For the two usage scenarios above, they are introduced separately below.
Bootstrap Node Initialized, Install v1.28.8 Version K8s Business Cluster
Follow the steps below.
Build incremental offline image package.
Below is the configuration file, named component.yaml for later operation instructions.
yamlregistry: imageAddress: hub.oepkgs.net/openfuyao/registry:2.8.1 architecture: - amd64 - arm64 repos: - architecture: - amd64 - arm64 needDownload: true subImages: - sourceRepo: cr.openfuyao.cn/openfuyao targetRepo: kubernetes images: - name: kube-apiserver tag: - 1.28.8-of.1 - name: kube-controller-manager tag: - 1.28.8-of.1 - name: kube-scheduler tag: - 1.28.8-of.1 - name: kube-proxy tag: - 1.28.8-of.1 - name: etcd tag: - 3.5.12-of.1 files: - address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/1.28.8-of.1/bin/linux/arm64/ files: - fileName: kubectl fileAlias: kubectl-v1.28.8-of.1-arm64 - fileName: kubelet fileAlias: kubelet-v1.28.8-of.1-arm64 - address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/1.28.8-of.1/bin/linux/amd64/ files: - fileName: kubectl fileAlias: kubectl-v1.28.8-of.1-amd64 - fileName: kubelet fileAlias: kubelet-v1.28.8-of.1-amd64Execute the following command to build the incremental offline package.
bash# Download bkeadm tool curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/1.2.2/download.sh | bash # Build incremental package bke build patch -f component.yaml -t component.tar.gz --strategy=ociSynchronize images and binaries to bootstrap node.
Copy the offline package prepared in step 1 to the bootstrap node and execute the following command to synchronize.
bash# Extract offline package tar -xzvf component.tar.gz # Synchronize images and copy binary files bke registry patch --source ./component --target 127.0.0.1:40443 cp ./component/volumes/kubectl-v1.28.8-of.1-arm64 /bke/mount/source_registry/files cp ./component/volumes/kubelet-v1.28.8-of.1-arm64 /bke/mount/source_registry/files cp ./component/volumes/kubectl-v1.28.8-of.1-amd64 /bke/mount/source_registry/files cp ./component/volumes/kubelet-v1.28.8-of.1-amd64 /bke/mount/source_registry/filesUpload new version file.
Execute the following command to download the index file index.yaml.
bashcurl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/version-config/index.yamlThe content of index.yaml file is as follows.
yaml- openFuyaoVersion: latest filePath: ./VersionConfig-latest.yaml - openFuyaoVersion: v25.12-rc.2 filePath: ./Core-VersionConfig-v25.12-rc.2.yaml - openFuyaoVersion: v25.12-rc.3 filePath: ./Core-VersionConfig-v25.12-rc.3.yaml - openFuyaoVersion: v25.12 filePath: ./Core-VersionConfig-v25.12.yaml - openFuyaoVersion: v25.12-rc.5 filePath: ./Core-VersionConfig-v25.12-rc.5.yaml - openFuyaoVersion: v26.03-rc.1 filePath: ./Core-VersionConfig-v26.03-rc.1.yamlDownload the corresponding version file. To install v26.03-rc.1 version of openFuyao cluster, execute the following command.
bashcurl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/version-config/Core-VersionConfig-v26.03-rc.1.yamlModify K8s version related fields and image tags in the version file. Specific modification points are as follows.
yamlkubernetesVersion: v1.34.3-of.1 # Modify to v1.28.8-of.1 etcdVersion: v3.6.7-of.1 # Modify to v3.5.12-of.1 repos: - architecture: # k8s components, need updated by Orchestration-engine SIG - amd64 - arm64 needDownload: true isKubernetes: true subImages: - sourceRepo: cr.openfuyao.cn/openfuyao/ targetRepo: kubernetes images: - name: kube-apiserver usedPodInfo: - podPrefix: kube-apiserver namespace: kube-system tag: - 1.34.3-of.1 # APIServer image tag, modify to 1.28.8-of.1 - name: kube-controller-manager usedPodInfo: - podPrefix: kube-controller-manager namespace: kube-system tag: - 1.34.3-of.1 # controller-manager image tag, modify to 1.28.8-of.1 - name: kube-scheduler usedPodInfo: - podPrefix: kube-scheduler namespace: kube-system tag: - 1.34.3-of.1 # scheduler image tag, modify to 1.28.8-of.1 - name: kube-proxy usedPodInfo: - podPrefix: kube-proxy namespace: kube-system tag: - 1.34.3-of.1 # kube-proxy image tag, modify to 1.28.8-of.1 - name: etcd usedPodInfo: - podPrefix: etcd namespace: kube-system tag: - 3.6.7-of.1 # etcd image tag, modify to 3.5.12-of.1 addons: - name: kubeproxy version: v1.34.3-of.1 # kube-proxy version, modify to v1.28.8-of.1Log in to the openFuyao management plane on the bootstrap node, select "Cluster Lifecycle Management > Patch Upload" in the left navigation bar, select the modified version file from step 3 and upload.
Notice:
All images for the business cluster to be installed need to exist in the local image source service.Business cluster installation.
In the openFuyao management plane, select the corresponding version to install the business cluster, refer to Installing Business Cluster on Management Plane.
Bootstrap Node Not Initialized, Install v1.28.8 Version K8s Business Cluster
Follow the steps below.
Prepare version file. Execute the following command to download the index file.
bashcurl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/version-config/index.yamlThe content of the index file is as follows.
yaml- openFuyaoVersion: latest filePath: ./VersionConfig-latest.yaml - openFuyaoVersion: v25.12-rc.2 filePath: ./Core-VersionConfig-v25.12-rc.2.yaml - openFuyaoVersion: v25.12-rc.3 filePath: ./Core-VersionConfig-v25.12-rc.3.yaml - openFuyaoVersion: v25.12 filePath: ./Core-VersionConfig-v25.12.yaml - openFuyaoVersion: v25.12-rc.5 filePath: ./Core-VersionConfig-v25.12-rc.5.yaml - openFuyaoVersion: v26.03-rc.1 filePath: ./Core-VersionConfig-v26.03-rc.1.yamlDownload the corresponding version file. To install v26.03-rc.1 version of openFuyao cluster, execute the following command.
bashcurl -O https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/version-config/Core-VersionConfig-v26.03-rc.1.yamlModify K8s version related fields and image tags in the version file. Specific modification points are as follows.
yamlkubernetesVersion: v1.34.3-of.1 # Modify to v1.28.8-of.1 etcdVersion: v3.6.7-of.1 # Modify to v3.5.12-of.1 repos: - architecture: # k8s components, need updated by Orchestration-engine SIG - amd64 - arm64 needDownload: true isKubernetes: true subImages: - sourceRepo: cr.openfuyao.cn/openfuyao/ targetRepo: kubernetes images: - name: kube-apiserver usedPodInfo: - podPrefix: kube-apiserver namespace: kube-system tag: - 1.34.3-of.1 # APIServer image tag, modify to 1.28.8-of.1 - name: kube-controller-manager usedPodInfo: - podPrefix: kube-controller-manager namespace: kube-system tag: - 1.34.3-of.1 # controller-manager image tag, modify to 1.28.8-of.1 - name: kube-scheduler usedPodInfo: - podPrefix: kube-scheduler namespace: kube-system tag: - 1.34.3-of.1 # scheduler image tag, modify to 1.28.8-of.1 - name: kube-proxy usedPodInfo: - podPrefix: kube-proxy namespace: kube-system tag: - 1.34.3-of.1 # kube-proxy image tag, modify to 1.28.8-of.1 - name: etcd usedPodInfo: - podPrefix: etcd namespace: kube-system tag: - 3.6.7-of.1 # etcd image tag, modify to 3.5.12-of.1 files: # Download link modify as follows # address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/1.28.8-of.1/bin/linux/arm64/ - address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/1.34.3-of.1/bin/linux/arm64/ files: - fileName: kubectl fileAlias: kubectl-v1.34.3-of.1-arm64 # kubectl alias, modify to kubectl-v1.28.8-of.1-arm64 - fileName: kubelet fileAlias: kubelet-v1.34.3-of.1-arm64 # kubelet alias, modify to kubelet-v1.28.8-of.1-arm64 # Download link modify as follows # address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/1.28.8-of.1/bin/linux/amd64/ - address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/1.34.3-of.1/bin/linux/amd64/ files: - fileName: kubectl fileAlias: kubectl-v1.34.3-of.1-amd64 # kubectl alias, modify to kubectl-v1.28.8-of.1-amd64 - fileName: kubelet fileAlias: kubelet-v1.34.3-of.1-amd64 # kubelet alias, modify to kubelet-v1.28.8-of.1-amd64 addons: - name: kubeproxy version: v1.34.3-of.1 # kube-proxy version, modify to v1.28.8-of.1Build offline installation package.
bash# Download bkeadm tool curl -sfL https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/1.2.2/download.sh | bash # Build offline installation package bke build -f Core-VersionConfig-v26.03-rc.1.yamls -t bke-v26.03-rc.1.tar.gzOffline installation package preparation reference Offline Installation Bootstrap Cluster.
Bootstrap node initialization.
Bootstrap node initialization, reference Offline Installation Bootstrap Cluster.
Upload version file.
Log in to the openFuyao management plane on the bootstrap node, select "Cluster Lifecycle Management > Patch Upload" in the left navigation bar, select the modified version file from step 3 and upload.
Business cluster installation.
In the openFuyao management plane, select the corresponding version to install the business cluster, refer to Installing Business Cluster on Management Plane.