版本:v25.12

自定义仓库使用指导

背景信息

  • 支持使用自定义仓库配置,支持镜像仓二进制仓chart仓的自定义配置。
  • 支持镜像仓和chart仓的单向认证访问(containerd、helm对仓库的单向访问,且使用同一CA),二进制仓不涉及认证访问。

输入图片说明 说明:
chart仓目前只有numa组件在addon中独立使用。

前提条件

  • 需要用户提供自定义的镜像仓、二进制仓、chart仓。

    • 请将所需所有镜像导入到私有镜像仓中(注意命名空间、镜像名称、镜像tag要上传正确)。
    • 将所需的所有二进制文件导入到私有二进制。
    • 将所需的所有chart包导入到私有chart仓中。
  • 在引导节点上按约定,将仓库的根CA上传到指定路径/etc/openFuyao路径下,ca.crt文件权限为644。目录结构为/etc/openFuyao/ca.crt。

  • 需要上传的介质列表详见附录部分

使用限制

无。

操作步骤

  1. 引导节点初始化。

    将bkeadm二进制工具上传到引导节点。 使用bke init完成引导节点的初始化。下面为初始化命令参考:

    
      bke init \
      # 1. 镜像仓
      --otherRepo 192.168.100.17:443/openfuyao \   # 自定义镜像仓库(含端口+路径),注意命名空间推荐为openFuyao
      --domain my.harbor.com \                     # 镜像仓库域名(与--otherRepo匹配,确保证书和访问一致性)
      --imageRepoPort 443 \                        # 镜像仓库端口(显式指定端口号)
      --imageRepoCAFile /etc/openFuyao/ca.crt \    # 私有仓库CA证书(指定读取的证书路径)
      # 2. 二进制仓
      --otherSource http://192.168.100.48:8080 \   
      # 3. 功能开关:关闭控制台安装
      --installConsole=false \                     # 不安装BKE自带控制台(默认关闭)
      --enableNTP=false \                          # 不进行NTP同步服务操作
      # 4. 其他
      --confirm                                    # 提前确认,不需要进行后续Y/N确认
  2. 通过bc创建管理集群/业务集群。

    编辑bc,修改为自定义的镜像仓和二进制仓。chart仓在addon中的参数中进行修改。

    yaml
    httpRepo:  #http仓库
            domain: http.bocloud.k8s   #不用修改
            ip: 192.168.200.173      #修改为实际的http仓库ip
            port: "40080"            #修改为实际的http仓库端口号
            prefix: ""               #默认为空
          imageRepo:  #image仓库
            domain: deploy.bocloud.k8s      #修改为实际的image仓域名
            ip: 192.168.200.173     #修改为实际的image仓ip
            port: "40443"           #修改为实际的image仓端口号
            prefix: openfuyao       #修改为实际的项目名

    同时编辑cct,添加containerd的配置。

    yaml
    registry:
        configPath: /etc/containerd/certs.d
        configs:  
          "my.harbor.com":            #镜像仓域名
            capabilities: ["pull", "resolve"] 
            host: my.harbor.com           
            skipVerify: false                 
            plainHTTP: false                 
            tls:                             
              caFile: /etc/openFuyao/ca.crt  
              insecureSkipVerify: false

    如需在bke安装集群过程中安装NUMA亲和插件,需要在bke-cluster的cr中修改addons的参数,示例如下:

    yaml
    name: numa-affinity-package
      param:
        openfuyaoRepo: [https://私有chart仓地址](https://xn--chart-qh2hr31cxdv49mee3b/)
        version: v0.0.2

附录:介质列表

镜像列表

  1. 用于搭建K3s集群的基础组件,架构均为amd64、arm64

    镜像地址标签描述
    cr.openfuyao.cn/openfuyao/registry2.8.1镜像仓库(与基础镜像重复,统一复用)
    cr.openfuyao.cn/openfuyao/nginx_yum_repo1.23.0-alpineYUM源代理服务(基于Nginx)
    cr.openfuyao.cn/openfuyao/chartmuseumv0.16.2Helm Chart仓库服务
    cr.openfuyao.cn/openfuyao/nfs-server-alpine0.9.0NFS存储服务(轻量Alpine版本)
    cr.openfuyao.cn/openfuyao/k3sv1.25.16-k3s4K3s集群核心二进制镜像
    cr.openfuyao.cn/openfuyao/mirrored-pause3.6容器暂停镜像(K3s容器生命周期管理)
  2. K8s核心组件镜像(needDownload: true)

    覆盖K8s控制平面、网络、负载均衡等核心功能,架构均为amd64、arm64

    镜像地址标签描述
    cr.openfuyao.cn/openfuyao/kubernetes/corednsv1.10.1K8s DNS服务(CoreDNS)
    cr.openfuyao.cn/openfuyao/kubernetes/pause3.9K8s容器基础镜像(与K3s区分版本)
    cr.openfuyao.cn/openfuyao/kube-apiserverof-v1.33.1K8s API服务器(openFuyao 定制版)
    cr.openfuyao.cn/openfuyao/kube-controller-managerof-v1.33.1K8s控制器管理器(openFuyao 定制版)
    cr.openfuyao.cn/openfuyao/kube-schedulerof-v1.33.1K8s调度器(openFuyao 定制版)
    cr.openfuyao.cn/openfuyao/kube-proxyof-v1.33.1K8s网络代理(openFuyao 定制版)
    cr.openfuyao.cn/openfuyao/etcdof-v3.5.21Etcd数据库(K8s集群存储,openFuyao 定制版)
    cr.openfuyao.cn/openfuyao/keepalived/keepalived1.3.5高可用 VIP服务(Keepalived)
    cr.openfuyao.cn/openfuyao/haproxy/haproxy2.1.4负载均衡服务(HAProxy)
    cr.openfuyao.cn/openfuyao/calico/cniv3.27.3Calico CNI网络插件(容器网络接口)
    cr.openfuyao.cn/openfuyao/calico/nodev3.27.3Calico节点代理(网络策略执行)
    cr.openfuyao.cn/openfuyao/calico/kube-controllersv3.27.3Calico控制器(网络资源管理)
    cr.openfuyao.cn/kubernetes/pause3.9K8s容器基础镜像(与K3s区分版本)
  3. bke工具本身。

    镜像地址标签描述
    cr.openfuyao.cn/openfuyao/cluster-api-provider-bkelatestBKE集群API提供商(CAPI兼容)
    cr.openfuyao.cn/openfuyao/bke-manifestslatestBKE资源清单镜像
    cr.openfuyao.cn/openfuyao/cluster-api/cluster-api-controllerv1.4.3CAPI集群控制器
    cr.openfuyao.cn/openfuyao/cluster-api/kubeadm-bootstrap-controllerv1.4.3CAPI Kubeadm引导控制器
    cr.openfuyao.cn/openfuyao/cluster-api/kubeadm-control-plane-controllerv1.4.3CAPI Kubeadm控制平面控制器
  4. 扩展组件

    4.1 Volcano调度扩展

    架构均为amd64、arm64,用于容器调度优化(如NUMA亲和、资源调度)。

    镜像地址标签描述
    cr.openfuyao.cn/openfuyao/volcano-config-websitelatestVolcano配置页面
    cr.openfuyao.cn/openfuyao/volcano-config-servicelatestVolcano配置服务
    cr.openfuyao.cn/openfuyao/numa-affinity-webhooklatestNUMA亲和性Webhook服务
    cr.openfuyao.cn/openfuyao/numa-tuning-operatorv25.03NUMA资源调优Operator
    cr.openfuyao.cn/openfuyao/volcano/resource-exporterlatestVolcano资源指标导出器
    cr.openfuyao.cn/openfuyao/oauth-proxylatestOAuth认证代理(多组件复用)
    cr.openfuyao.cn/openfuyao/vc-schedulerlatestVolcano调度器核心
    docker.io/volcanosh/vc-webhook-managerv1.9.0Volcano Webhook管理器(官方镜像)
    docker.io/volcanosh/vc-controller-managerv1.9.0Volcano控制器管理器(官方镜像)
    docker.io/alpine/openssl3.5.0OpenSSL工具(基础依赖,Alpine 版本)
    cr.openfuyao.cn/openfuyao/kubectl-openfuyaolatestopenFuyao定制Kubectl工具

二进制文件列表

  1. K8s核心操作工具。

    用于K8s集群的命令行管理与节点运行,均提供amd64/arm64双架构支持。

    组件名称架构文件类型描述
    kubectl-v1.33.1-amd64amd64单个二进制K8s集群命令行工具(openFuyao定制v1.33.1版本)
    kubectl-v1.33.1-arm64arm64单个二进制同上(适配ARM架构节点)
    kubelet-v1.33.1-amd64amd64单个二进制K8s节点代理(维持节点与集群通信,v1.33.1版本)
    kubelet-v1.33.1-arm64arm64单个二进制同上(适配ARM架构节点)
    etcdctl-v3.5.6-linux-amd64amd64单个二进制Etcd数据库命令行工具(管理集群存储,v3.5.6版本)
    etcdctl-v3.5.6-linux-arm64arm64单个二进制同上(适配ARM架构节点)
  2. 容器运行时核心组件。

    支撑容器启停与资源管理的底层二进制,含运行时主体与核心依赖。

    组件名称架构文件类型描述
    containerd-v2.1.1-linux-amd64.tar.gzamd64压缩包容器运行时(核心组件,v2.1.1 版本,压缩包含二进制与配置)
    containerd-v2.1.1-linux-arm64.tar.gzarm64压缩包同上(适配ARM架构节点)
    runc-amd64amd64单个二进制轻量级容器运行时(containerd依赖,创建/销毁容器)
    runc-arm64arm64单个二进制同上(适配ARM架构节点)
  3. 容器网络插件(CNI)。

    用于配置容器网络(如网络隔离、跨节点通信),为压缩包格式(内含多个CNI插件二进制)。

    组件名称架构文件类型描述
    cni-plugins-linux-amd64-v1.4.1.tgzamd64压缩包CNI网络插件集合(v1.4.1版本,含bridge、host-local等插件)
    cni-plugins-linux-arm64-v1.4.1.tgzarm64压缩包同上(适配ARM架构节点)
  4. 包管理与配置处理工具。

    用于Helm Chart管理、YAML/JSON解析等运维操作。

    组件名称架构文件类型描述
    helm-v3.14.2-linux-amd64.tar.gzamd64压缩包Helm包管理工具(v3.14.2 版本,管理K8s应用Chart)
    helm-v3.14.2-linux-arm64.tar.gzarm64压缩包同上(适配ARM架构节点)
    yq_linux_amd64amd64单个二进制YAML数据处理工具(查询/修改YAML文件,v4.43.1版本)
    yq_linux_arm64arm64单个二进制同上(适配ARM架构节点)
    jq-linux-amd64amd64单个二进制JSON数据处理工具(解析/ 过滤JSON,v1.7.1版本)
    jq-linux-arm64arm64单个二进制同上(适配ARM架构节点)
  5. 用于RPM包管理、NFS共享配置的辅助压缩包(内含相关二进制或脚本)。

    组件名称架构文件类型描述
    rpm.tar.gz通用(压缩包内含多架构)压缩包RPM 包管理相关工具集合(适配 RPM 系操作系统)
    nfsshare.tar.gz通用(压缩包内含多架构)压缩包NFS 共享服务配置工具(实现集群存储共享)
    charts.tar.gz必须要有
  6. BKE 集群专属管理工具。

    openFuyao BKE集群的初始化与运维工具,双架构支持。

    组件名称架构文件类型描述
    bkeadm_linux_amd64amd64单个二进制BKE集群管理工具(初始化、升级、运维集群)
    bkeadm_linux_arm64arm64单个二进制同上(适配ARM架构节点)

注:cfssl工具在openFuyao核心组件中使用,联创场景未用上。

二进制文件全量列表

yaml
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_arm64

chart包列表

目前只涉及到NUMA一个组件。

yaml
  - address: https://openfuyao.obs.cn-north-4.myhuaweicloud.com/charts/releases/download/latest/
    files:
      - numa-affinity-package-0.0.0-latest.tgz