Custom Repository Configuration Guide
Background
- Supports using custom repository configuration, supports custom configuration of image repository, binary repository, and chart repository.
- Supports one-way authentication access for image repository and chart repository (containerd and helm one-way access to repository, using the same CA). Binary repository does not involve authentication access.
Note:
Currently only the numa component uses chart repository independently in addon.
Prerequisites
Users need to provide custom image repository, binary repository, and chart repository.
- Please import all required images into the private image repository (pay attention to correct namespace, image name, and image tag).
- Import all required binary files into the private binary repository.
- Import all required chart packages into the private chart repository.
On the bootstrap node, upload the repository root CA to the specified path /etc/openFuyao according to the convention, with ca.crt file permission 644. The directory structure is /etc/openFuyao/ca.crt.
For a list of media to be uploaded, see the Appendix.
Restrictions
None.
Procedure
Bootstrap node initialization.
Upload the bkeadm binary tool to the bootstrap node Use bke init to complete bootstrap node initialization. Below is an initialization command reference:
bke init \ # 1. Image repository --otherRepo 192.168.100.17:443/openfuyao \ # Custom image repository (including port + path), namespace recommended to be openFuyao --domain my.harbor.com \ # Image repository domain name (matched with --otherRepo to ensure certificate and access consistency) --imageRepoPort 443 \ # Image repository port (explicitly specify port number) --imageRepoCAFile /etc/openFuyao/ca.crt \ # Private repository CA certificate (specify certificate path to read) # 2. Binary repository --otherSource http://192.168.100.48:8080 \ # 3. Function switches: disable console installation --installConsole=false \ # Do not install BKE built-in console (disabled by default) --enableNTP=false \ # Do not perform NTP synchronization service operations # 4. Other --confirm # Pre-confirm, no need for subsequent Y/N confirmationCreate management cluster/business cluster through bc.
Edit bc, modify to custom image repository and binary repository. Chart repository is modified in addon parameters.
yamlhttpRepo: #http repository domain: http.bocloud.k8s #No need to modify ip: 192.168.200.173 #Modify to actual http repository ip port: "40080" #Modify to actual http repository port number prefix: "" #Default is empty imageRepo: #image repository domain: deploy.bocloud.k8s #Modify to actual image repository domain ip: 192.168.200.173 #Modify to actual image repository ip port: "40443" #Modify to actual image repository port number prefix: openfuyao #Modify to actual project nameAlso edit cct, add containerd configuration
yamlregistry: configPath: /etc/containerd/certs.d configs: "my.harbor.com": #Image repository domain capabilities: ["pull", "resolve"] host: my.harbor.com skipVerify: false plainHTTP: false tls: caFile: /etc/openFuyao/ca.crt insecureSkipVerify: falseIf you need to install the NUMA affinity plugin during bke cluster installation, you need to modify addon parameters in bke-cluster cr, example as follows:
yamlname: numa-affinity-package param: openfuyaoRepo: https://private chart repository address version: v0.0.2
Appendix
Image List
1. Basic components for building K3s cluster, architectures are all amd64、arm64.
| Image Address | Tag | Description |
|---|---|---|
| cr.openfuyao.cn/openfuyao/registry | 2.8.1 | Image repository (duplicate with base image, unified reuse) |
| cr.openfuyao.cn/openfuyao/nginx_yum_repo | 1.23.0-alpine | YUM source proxy service (based on Nginx) |
| cr.openfuyao.cn/openfuyao/chartmuseum | v0.16.2 | Helm Chart repository service |
| cr.openfuyao.cn/openfuyao/nfs-server-alpine | 0.9.0 | NFS storage service (lightweight Alpine version) |
| cr.openfuyao.cn/openfuyao/k3s | v1.25.16-k3s4 | K3s cluster core binary image |
| cr.openfuyao.cn/openfuyao/mirrored-pause | 3.6 | Container pause image (K3s container lifecycle management) |
2. K8s core component images (needDownload: true)
Covers K8s control plane, network, load balancing and other core functions, architectures are all amd64、arm64.
| Image Address | Tag | Description |
|---|---|---|
| cr.openfuyao.cn/openfuyao/kubernetes/coredns | v1.10.1 | K8s DNS service (CoreDNS) |
| cr.openfuyao.cn/openfuyao/kubernetes/pause | 3.9 | K8s container base image (distinguish version from K3s) |
| cr.openfuyao.cn/openfuyao/kube-apiserver | of-v1.33.1 | K8s API server (openFuyao custom version) |
| cr.openfuyao.cn/openfuyao/kube-controller-manager | of-v1.33.1 | K8s controller manager (openFuyao custom version) |
| cr.openfuyao.cn/openfuyao/kube-scheduler | of-v1.33.1 | K8s scheduler (openFuyao custom version) |
| cr.openfuyao.cn/openfuyao/kube-proxy | of-v1.33.1 | K8s network proxy (openFuyao custom version) |
| cr.openfuyao.cn/openfuyao/etcd | of-v3.5.21 | Etcd database (K8s cluster storage, openFuyao custom version) |
| cr.openfuyao.cn/openfuyao/keepalived/keepalived | 1.3.5 | High availability VIP service (Keepalived) |
| cr.openfuyao.cn/openfuyao/haproxy/haproxy | 2.1.4 | Load balancing service (HAProxy) |
| cr.openfuyao.cn/openfuyao/calico/cni | v3.27.3 | Calico CNI network plugin (container network interface) |
| cr.openfuyao.cn/openfuyao/calico/node | v3.27.3 | Calico node agent (network policy enforcement) |
| cr.openfuyao.cn/openfuyao/calico/kube-controllers | v3.27.3 | Calico controller (network resource management) |
| cr.openfuyao.cn/kubernetes/pause | 3.9 | K8s container base image (distinguish version from K3s) |
3. bke tool itself
| Image Address | Tag | Description |
|---|---|---|
| cr.openfuyao.cn/openfuyao/cluster-api-provider-bke | latest | BKE cluster API provider (CAPI compatible) |
| cr.openfuyao.cn/openfuyao/bke-manifests | latest | BKE resource manifest image |
| cr.openfuyao.cn/openfuyao/cluster-api/cluster-api-controller | v1.4.3 | CAPI cluster controller |
| cr.openfuyao.cn/openfuyao/cluster-api/kubeadm-bootstrap-controller | v1.4.3 | CAPI Kubeadm bootstrap controller |
| cr.openfuyao.cn/openfuyao/cluster-api/kubeadm-control-plane-controller | v1.4.3 | CAPI Kubeadm control plane controller |
4. Extension components
4.1 Volcano scheduling extension
Architectures are all amd64、arm64, used for container scheduling optimization (such as NUMA affinity, resource scheduling).
| Image Address | Tag | Description |
|---|---|---|
| cr.openfuyao.cn/openfuyao/volcano-config-website | latest | Volcano configuration page |
| cr.openfuyao.cn/openfuyao/volcano-config-service | latest | Volcano configuration service |
| cr.openfuyao.cn/openfuyao/numa-affinity-webhook | latest | NUMA affinity Webhook service |
| cr.openfuyao.cn/openfuyao/numa-tuning-operator | v25.03 | NUMA resource tuning Operator |
| cr.openfuyao.cn/openfuyao/volcano/resource-exporter | latest | Volcano resource metrics exporter |
| cr.openfuyao.cn/openfuyao/oauth-proxy | latest | OAuth authentication proxy (multi-component reuse) |
| cr.openfuyao.cn/openfuyao/vc-scheduler | latest | Volcano scheduler core |
| docker.io/volcanosh/vc-webhook-manager | v1.9.0 | Volcano Webhook manager (official image) |
| docker.io/volcanosh/vc-controller-manager | v1.9.0 | Volcano controller manager (official image) |
| docker.io/alpine/openssl | 3.5.0 | OpenSSL tool (base dependency, Alpine version) |
| cr.openfuyao.cn/openfuyao/kubectl-openfuyao | latest | openFuyao custom Kubectl tool |
Binary File List
1. K8s core operation tools
Used for K8s cluster command line management and node operation, all provide amd64/arm64 dual architecture support.
| Component Name | Architecture | File Type | Description |
|---|---|---|---|
| kubectl-v1.33.1-amd64 | amd64 | Single binary | K8s cluster command line tool (openFuyao custom v1.33.1 version) |
| kubectl-v1.33.1-arm64 | arm64 | Single binary | Same as above (adapted for ARM architecture nodes) |
| kubelet-v1.33.1-amd64 | amd64 | Single binary | K8s node agent (maintains node cluster communication, v1.33.1 version) |
| kubelet-v1.33.1-arm64 | arm64 | Single binary | Same as above (adapted for ARM architecture nodes) |
| etcdctl-v3.5.6-linux-amd64 | amd64 | Single binary | Etcd database command line tool (manage cluster storage, v3.5.6 version) |
| etcdctl-v3.5.6-linux-arm64 | arm64 | Single binary | Same as above (adapted for ARM architecture nodes) |
2. Container runtime core components
Supporting container start/stop and resource management underlying binaries, containing runtime main body and core dependencies.
| Component Name | Architecture | File Type | Description |
|---|---|---|---|
| containerd-v2.1.1-linux-amd64.tar.gz | amd64 | Archive | Container runtime (core component, v2.1.1 version, archive contains binaries and configuration) |
| containerd-v2.1.1-linux-arm64.tar.gz | arm64 | Archive | Same as above (adapted for ARM architecture nodes) |
| runc-amd64 | amd64 | Single binary | Lightweight container runtime (containerd dependency, create/destroy containers) |
| runc-arm64 | arm64 | Single binary | Same as above (adapted for ARM architecture nodes) |
3. Container Network Interface (CNI)
Used to configure container network (such as network isolation, cross-node communication), archive format (contains multiple CNI plugin binaries).
| Component Name | Architecture | File Type | Description |
|---|---|---|---|
| cni-plugins-linux-amd64-v1.4.1.tgz | amd64 | Archive | CNI network plugin collection (v1.4.1 version, includes bridge, host-local and other plugins) |
| cni-plugins-linux-arm64-v1.4.1.tgz | arm64 | Archive | Same as above (adapted for ARM architecture nodes) |
4. Package management and configuration processing tools
Used for Helm Chart management, YAML/JSON parsing and other operation tasks.
| Component Name | Architecture | File Type | Description |
|---|---|---|---|
| helm-v3.14.2-linux-amd64.tar.gz | amd64 | Archive | Helm package management tool (v3.14.2 version, manage K8s application Charts) |
| helm-v3.14.2-linux-arm64.tar.gz | arm64 | Archive | Same as above (adapted for ARM architecture nodes) |
| yq_linux_amd64 | amd64 | Single binary | YAML data processing tool (query/modify YAML files, v4.43.1 version) |
| yq_linux_arm64 | arm64 | Single binary | Same as above (adapted for ARM architecture nodes) |
| jq-linux-amd64 | amd64 | Single binary | JSON data processing tool (parse/filter JSON, v1.7.1 version) |
| jq-linux-arm64 | arm64 | Single binary | Same as above (adapted for ARM architecture nodes) |
5. Auxiliary archives for RPM package management and NFS shared configuration (contains related binaries or scripts).
| Component Name | Architecture | File Type | Description |
|---|---|---|---|
| rpm.tar.gz | Generic (archive contains multi-architecture) | Archive | RPM package management related toolset (adapted for RPM-based operating systems) |
| nfsshare.tar.gz | Generic (archive contains multi-architecture) | Archive | NFS shared service configuration tool (implement cluster storage sharing) |
| charts.tar.gz | Must have | Archive | charts package files |
6. BKE cluster specific management tools
openFuyao BKE cluster initialization and operation tools, dual architecture support.
| Component Name | Architecture | File Type | Description |
|---|---|---|---|
| bkeadm_linux_amd64 | amd64 | Single binary | BKE cluster management tool (initialize, upgrade, operate clusters) |
| bkeadm_linux_arm64 | arm64 | Single binary | Same as above (adapted for ARM architecture nodes) |
Note: The cfssl tool is used in openFuyao core components and is not used in co-creation scenarios.
Complete Binary File List
files:
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/of-v1.33.1/bin/linux/arm64/
files:
- kubectl-v1.33.1-arm64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/of-v1.33.1/bin/linux/amd64/
files:
- kubectl-v1.33.1-amd64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/of-v1.33.1/bin/linux/arm64/
files:
- kubelet-v1.33.1-arm64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/kubernetes/kubernetes/releases/download/of-v1.33.1/bin/linux/amd64/
files:
- kubelet-v1.33.1-amd64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/containerd/containerd/releases/download/v2.1.1-origin/
files:
- containerd-v2.1.1-linux-amd64.tar.gz
- containerd-v2.1.1-linux-arm64.tar.gz
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/containernetworking/plugins/releases/download/v1.4.1/
files:
- cni-plugins-linux-amd64-v1.4.1.tgz
- cni-plugins-linux-arm64-v1.4.1.tgz
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/helm/releases/download/v3.14.2/
files:
- helm-v3.14.2-linux-amd64.tar.gz
- helm-v3.14.2-linux-arm64.tar.gz
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/mikefarah/yq/releases/download/v4.43.1
files:
- yq_linux_arm64
- yq_linux_amd64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/jqlang/jq/releases/download/v1.7.1
files:
- jq-linux-arm64
- jq-linux-amd64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/cloudflare/cfssl/releases/download/v1.6.4
files:
- cfssl-certinfo_1.6.4_linux_arm64
- cfssl-certinfo_1.6.4_linux_amd64
- cfssl_1.6.4_linux_arm64
- cfssl_1.6.4_linux_amd64
- cfssljson_1.6.4_linux_arm64
- cfssljson_1.6.4_linux_amd64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/opencontainers/runc/releases/download/v1.1.12/
files:
- runc-arm64
- runc-amd64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/etcd-io/etcd/releases/download/v3.5.6/
files:
- etcdctl-v3.5.6-linux-amd64
- etcdctl-v3.5.6-linux-arm64
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/rpm/releases/download/v0.0.1/
files:
- rpm.tar.gz
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/nfs/
files:
- nfsshare.tar.gz
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/charts/releases/download/latest/
files:
- charts.tar.gz
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/openFuyao/bkeadm/releases/download/latest/
files:
- bkeadm_linux_amd64
- bkeadm_linux_arm64chart Package List
Currently only involves the NUMA component.
- address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/charts/releases/download/latest/
files:
- numa-affinity-package-0.0.0-latest.tgz