Version: v26.09

Read Before Installation ​

Basic Concepts ​

BKE Tool Introduction ​

BKE is the installation and deployment tool for openFuyao, responsible for bootstrap node initialization, and the creation of management clusters and business clusters. Throughout the installation process, BKE initializes a machine as a bootstrap node, deploys a lightweight K3s cluster on it, and then completes the installation of Cluster-API, cluster-api-provider-bke, and the openFuyao management plane.

openFuyao Management Plane Introduction ​

The openFuyao management plane is a set of services running on the management cluster (or bootstrap cluster), providing users with a visual operation interface and backend services for cluster management and operations. It mainly includes the following components:

ComponentDescription
console-websiteFrontend management interface, providing user interfaces for core functions such as application management, resource management, and alert monitoring, and supporting dynamic mounting of extension components to allow custom extended interfaces.
console-serviceBackend management service, providing cluster management capabilities based on Kubernetes, and providing API support for the frontend interface.
  • The openFuyao management plane is the main entry point for users to interact with the cluster. Users can perform lifecycle management operations such as creating, scaling, and upgrading business clusters through the management plane.
  • The openFuyao management plane includes 2 types: bootstrap cluster management plane (corresponding to port 30010), and management/business cluster management plane (corresponding to port 31616).
  • The login URL for the bootstrap cluster's openFuyao management plane is https://<bootstrap-node-IP-address>:30010.
  • The login URL for the management/business cluster's openFuyao management plane is https://<cluster-node-IP-address>:31616.
  • On first login, the default username is admin and the default password is test@1234. The username and password must be changed after the first login.

Cluster-API Introduction ​

Cluster-API is a Kubernetes subproject that automates Kubernetes cluster lifecycle management through declarative APIs and the controller pattern. Its core features are as follows:

  • Infrastructure as Code: Uses Kubernetes Custom Resources (CRDs) to define cluster configurations, making cluster definitions versionable and reusable.
  • Declarative Management: Describes the desired state of the cluster through YAML files, without needing to care about underlying operation steps.
  • Controller Pattern: Controllers automatically monitor the difference between the desired state and the actual state, and continuously reconcile to make them consistent.

icon Note: openFuyao implements cluster lifecycle management based on Cluster-API. Cluster-API itself only provides the framework for cluster management. To manage clusters on specific infrastructure, a corresponding Infrastructure Provider is needed to implement the specific operations. The Infrastructure Provider provided by openFuyao is cluster-api-provider-bke.

cluster-api-provider-bke Introduction ​

cluster-api-provider-bke is the infrastructure Provider provided by openFuyao for Cluster-API. It is a core component of BKE deployment, enabling Cluster-API to manage cluster lifecycles in the openFuyao environment. It includes the following two core components:

ComponentDescription
Infrastructure ProviderAs the infrastructure Provider for Cluster-API, it is responsible for parsing CRD resources such as cluster creation/deletion, and coordinating the execution of corresponding infrastructure operations.
bkeagentA binary file running on each node, hosted by systemd, responsible for listening for CRD resource changes from kube-apiserver and performing specific operations on the host machine (such as node initialization, component installation, etc.).

icon Note: The bkeagent binary is stored in the cluster-api-provider-bke image and supports dual architectures (amd64/arm64). Finally, operations such as installation, uninstallation, scaling, and upgrading of business clusters are performed on the openFuyao management plane.

Deployment Topology ​

openFuyao uses the BKE tool for installation and deployment: first, initialize a machine as the bootstrap node and install a lightweight K3s bootstrap cluster on it, deploying Cluster-API, cluster-api-provider-bke, and the openFuyao management plane; then, complete the installation, uninstallation, scaling, and upgrading of business clusters on the openFuyao management plane. Machines are divided into three types: bootstrap nodes, management cluster nodes, and business cluster nodes.

NodeDescriptionCharacteristics
Bootstrap NodeMachine used to initialize and host the bootstrap cluster. After initialization, it deploys local image/Chart repositories and provides the openFuyao management plane login entry; the lightweight K3s (bootstrap cluster) running on it is used to create and manage target management clusters and business clusters, and runs Cluster-API control plane components.Quickly deployed from scratch, lightweight, does not support high availability, not suitable for long-term use as a K8s cluster, and not suitable for deploying large-scale clusters.
Management Cluster NodeMachine used to install the management cluster by the bootstrap cluster. The management cluster is a complete highly available openFuyao cluster, including cluster management, container platform, and other functions, responsible for business cluster deployment and lifecycle management.Highly available, suitable for medium-to-long-term operation, used to manage multiple business clusters.
Business Cluster NodeMachine used to deploy business clusters. Business clusters are created and managed by Cluster-API, carry user workloads, and their lifecycle is controlled by the bootstrap cluster or management cluster.Highly available, for users to deploy actual business.

For small-scale scenarios, it is recommended to prepare two machines, serving as the bootstrap node and business cluster node respectively; they can also be co-deployed on the same machine (in which case K3s and Kubernetes will run simultaneously, which may affect each other and is not recommended).

Choose the corresponding deployment path based on cluster scale, as follows:

Deployment ScaleApplicable ScenarioDeployment Path
Small-scale (within 10 nodes)Quick experience, development and testingInstall bootstrap node → Deploy business cluster directly through the bootstrap cluster
Medium-scale (10~1000 nodes)Conventional deployment for production environmentsInstall bootstrap node → Deploy highly available management cluster (3 nodes) through the bootstrap cluster → Use management cluster to deploy one or more business clusters
Large-scale (over 1000 nodes)Large-scale production environmentsInstall bootstrap node → Deploy highly available management cluster (5~10 nodes) through the bootstrap cluster → Use management cluster to deploy one or more business clusters

Installation and Deployment Process ​

This document briefly introduces the openFuyao installation process through a flowchart.

Figure 1 Installation Process Flowchart

Installation Process Flowchart

The detailed descriptions of the specific installation steps corresponding to the installation process are shown in the table below.

Table 1 Installation Process Description

Process StepRequiredSteps
Read Before InstallationRequiredRead Before Installation
Environment PreparationRequired: Installation Notes, Environment Pre-check
Optional: Installation Tool Download and Verification
Bootstrap Cluster Custom ConfigurationOptional
Install Bootstrap ClusterRequired
Management/Business Cluster Custom ConfigurationOptional
Install Management ClusterRequired for medium and large scale, not applicable for small scaleInstall Management Cluster
Install Business ClusterRequired
Application/Component InstallationRequired