Online/Offline Colocation Management Component
Online/Offline colocation is a complete set of cloud-native hybrid deployment and resource overselling solutions provided by openFuyao. Through a unified colocation management platform and user-friendly visualization interface, it supports online/offline business hybrid deployment, ensuring scheduling of online business during peak usage periods while enabling offline business to use oversold resources during online business low-peak periods, significantly improving cluster resource utilization and business deployment density. The openFuyao online/offline colocation management component is divided into two parts during deployment: manager and agent, responsible for the calculation, synchronization, and reporting of the entire colocation oversold resources, while also responsible for deploying and managing the colocation engine on nodes.
Feature Introduction
For details, please refer to https://gitcode.com/openFuyao/colocation-service/blob/master/README.md
Installation Instructions
For details, please refer to https://gitcode.com/openFuyao/colocation-service/blob/master/README.md
Local Build
Image Build
Build Parameters
GOPRIVATE: Configure Go language private repository, equivalent toGOPRIVATEenvironment variable.COMMIT: Hash value of current git commit.VERSION: Component version.SOURCE_DATE_EPOCH: Timestamp of image rootfs.
Build Commands
-
Build and push to specified OCI repository.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=image,name=<oci/repository>:<tag>,oci-mediatypes=true,rewrite-timestamp=true,push=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Using
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=image,name=<oci/repository>:<tag>,oci-mediatypes=true,rewrite-timestamp=true,push=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Where
<path/to/dockerfile>is the Dockerfile path./build/Dockerfile,<oci/repository>is the image address, and<tag>is the image tag. -
Build and export OCI Layout to local tarball.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=oci,name=<oci/repository>:<tag>,dest=<path/to/oci-layout.tar>,rewrite-timestamp=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Using
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=oci,name=<oci/repository>:<tag>,dest=<path/to/oci-layout.tar>,rewrite-timestamp=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latest \ --build-arg=SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)Where
<path/to/dockerfile>is the Dockerfile path./build/Dockerfile,<oci/repository>is the image address,<tag>is the image tag, andpath/to/oci-layout.taris the tar package path. -
Build and export image rootfs to local directory.
Using
dockerdocker buildx build . -f <path/to/dockerfile> \ -o type=local,dest=<path/to/output>,platform-split=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latestUsing
nerdctlnerdctl build . -f <path/to/dockerfile> \ -o type=local,dest=<path/to/output>,platform-split=true \ --platform=linux/amd64,linux/arm64 \ --provenance=false \ --build-arg=GOPRIVATE=gopkg.openfuyao.cn \ --build-arg=COMMIT=$(git rev-parse HEAD) \ --build-arg=VERSION=0.0.0-latestWhere
<path/to/dockerfile>is the Dockerfile path./build/Dockerfileandpath/to/outputis the local directory path.
Helm Chart Build
-
Package Helm Chart.
helm package <path/to/chart> -u \ --version=0.0.0-latest \ --app-version=openFuyao-v25.09Where
<path/to/chart>is the Chart folder path. -
Push Chart package to specified OCI repository.
helm push <path/to/chart.tgz> oci://<oci/repository>:<tag>Where
<path/to/chart.tgz>is the Chart package path,<oci/repository>is the Chart package push address, and<tag>is the Chart package tag.