Before You Start
Supported Environment
This section introduces the OS systems supported by the openFuyao installation tool and the versions of K8s components used.
Operating System
Table 1 Supported Operating System Information
| Operating System | Release Version | Kernel Version | Architecture |
|---|---|---|---|
| openEuler | 20.03 | 4.19.* | ARM64, x86_64 |
| openEuler | 22.03 | 5.10.* | ARM64, x86_64 |
| openEuler | 24.03 | 6.6.* | ARM64, x86_64 |
| Ubuntu | 22.04 | 5.15.* | ARM64, x86_64 |
Note:
Other versions of operating systems have not been tested and may encounter unexpected issues.The community performs functional development and self-validation based on the 5.10 kernel, and conducts compatibility testing in the openEuler environment, with kernel versions including 4.19, 5.10, 5.15, and 6.6.
Kubernetes Version
- kube-apiserver: v1.34.3
- kube-controller-manager: v1.34.3
- kube-scheduler: v1.34.3
- etcd: v3.6.7
- kube-proxy: v1.34.3
- kubelet: v1.34.3
- kubectl: v1.34.3
- containerd: v2.1.1
Deployment Modes
Online Deployment
- Single-node deployment (AIO)
- Multi-node deployment
- High availability deployment (HA, apiserver high availability deployment)
Offline Deployment
- Single-node deployment (AIO)
- Multi-node deployment
- High availability deployment (HA, apiserver high availability deployment)
Cluster-API Introduction
Cluster-API is a Kubernetes sub-project that implements automated lifecycle management of Kubernetes clusters through declarative APIs and the controller pattern. Its core features are as follows:
- Infrastructure as Code: Use Kubernetes custom resource definitions to define cluster configuration.
- Declarative Management: Describe the desired cluster state through YAML files.
- Controller Pattern: Automatically reconcile actual state with desired state.
Deployment Tools
This document provides installation guidance for using the BKE tool. The overall installation process involves initialization configuration and installation operations on a bare metal machine, using it as a bootstrap node, installing a K3s lightweight cluster on the bootstrap node, and completing cluster-api, provider-bke, and the openFuyao management plane. Finally, operations such as installation, uninstallation, scaling, and upgrading of service clusters are performed on the openFuyao management plane.
The BKE tool classifies machines into three types: bootstrap node, management cluster node, and service cluster node.
- Bootstrap node: Deploys a lightweight K3s cluster as a long-term bootstrap cluster for creating and managing target service clusters, running Cluster-API's control plane components.
- Management cluster node: Machines used for installing the management cluster by the bootstrap cluster.
- Service cluster node: Deploys the target service cluster actually created and managed by Cluster-API, used to run user workloads. Its lifecycle is controlled by the bootstrap cluster.
Deployment Modes
This section mainly introduces the functional positioning and usage constraints of various clusters in the community.
- The bootstrap node is positioned to quickly deploy an openFuyao cluster from scratch. It is a deployment tool, characterized by being lightweight and not supporting high availability. Therefore, it is not suitable for long-term use as a K8s cluster, nor is it suitable for deploying a large-scale cluster.
- The management cluster is a complete high-availability openFuyao cluster, including cluster management, container platform and other functions, used for the deployment and management of service clusters.
- The service cluster is a complete high-availability openFuyao cluster for users to deploy business applications.
Recommended usage scenarios are as follows:
- Small-scale cluster deployment (within 10 nodes): Use bke to install the bootstrap node -> Deploy a small-scale service cluster through the bootstrap node, and directly use the service cluster.
- Medium-scale cluster deployment (10~1000 nodes): Use bke to install the bootstrap node -> Deploy a standard management cluster (3 nodes) through the bootstrap node -> Use the management cluster to deploy one or more service clusters.
- Large-scale cluster deployment (over 1000 nodes): Use bke to install the bootstrap node -> Deploy a large-scale management cluster (5~10 nodes) through the bootstrap node -> Use the management cluster to deploy one or more service clusters.
Precautions
- When logging into the openFuyao management plane of the bootstrap node for the first time, the username is admin and the password is test@1234. You need to change the username and password after the first login. It uses the https protocol, and the web service port defaults to 30010.
- When logging into the openFuyao management plane of the service cluster node for the first time, the username is admin and the password is test@1234. You need to change the username and password after the first login. It uses the https protocol, and the web service port defaults to 31616.
- It is recommended that your node environment be a bare metal operating system with no docker or Kubernetes components installed, otherwise version conflicts may occur and cause installation failure. If you need to install experimentally in an existing environment, you can download the incubation tool env-check for environment verification.
- The time of the cluster nodes to be installed needs to be consistent with the time of the bootstrap node, with a maximum time difference of 10s.
- Optional: Before installation and deployment, you can use the envCheck tool to detect residual files and conflicting applications in the environment. For usage tutorials, please refer to Environment Pre-check Tool Guide.
- Optional: If you need to use a custom CA certificate to sign certificates for all components in the Kubernetes cluster to meet enterprise-level security compliance requirements, you can configure custom certificates before creating the bootstrap node. For detailed operations, please refer to Using Custom Cluster Certificates.
- Optional: If you need to configure a custom repository for installation, please refer to Custom Repository Configuration Guide.
- Optional: If you need to install the NUMA affinity extension plugin through addon, please refer to NUMA Affinity Extension Installation Guide Using Add-ons.
- Optional: If you need to label nodes and edit label affinity in addons, please refer to Node Label Affinity Deployment Guide.
- Optional: If you need custom configuration for containerd and kubelet, please refer to Binary File Custom Configuration Guide.
- Optional: If you need to install custom extensions through addon, please refer to Using Add-ons.