本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache CloudStack Kubernetes Provider 是一个云控制器管理器(Cloud Controller Manager),用于在 CloudStack 平台上简化 Kubernetes 集群的部署和管理。该项目基于旧版 Kubernetes 中已移除的 CloudStack 提供程序开发,旨在为 CloudStack 环境中的 Kubernetes 集群提供云资源集成能力。
cloud-config 支持 CloudStack API 访问参数配置,包括项目、可用区、SSL 验证等选项需创建 cloud-config 配置文件,提供 CloudStack API 访问参数。文件格式如下:
[Global] api-url = <CloudStack API URL> # CloudStack API 地址(必填) api-key = <CloudStack API Key> # CloudStack API 密钥(必填) secret-key = <CloudStack API Secret> # CloudStack API 密钥(必填) project-id = <CloudStack Project UUID> # CloudStack 项目 UUID(可选) zone = <CloudStack Zone Name> # CloudStack 可用区名称(可选) ssl-no-verify = <true|false> # 禁用 SSL 证书验证(可选,默认 false)
注意:配置的 API 密钥需具备以下权限:获取 VM 信息、在节点所在项目/域中部署负载均衡器。
使用 kubectl 创建包含 cloud-config 的 Secret,存储于 kube-system 命名空间:
kubectl -n kube-system create secret generic cloudstack-secret --from-file=cloud-config
通过官方提供的 deployment.yaml 部署 CloudStack Kubernetes Provider 控制器:
# 下载部署文件(或从项目仓库获取) kubectl apply -f deployment.yaml
部署文件地址:deployment.yaml
hostPort: <TCP port>)Traefik Ingress 控制器:项目提供基础部署示例,支持 Proxy Protocol:
kubectl apply -f traefik-ingress-controller.yml
(文件地址:traefik-ingress-controller.yml)
Nginx Ingress 控制器:
kubectl apply -f nginx-ingress-controller-patch.yml
⚠️ 节点名称必须与主机名一致,控制器需通过节点名称从 CloudStack 获取并分配元数据标签。
建议启动 kubelet 时添加以下参数,将节点标记为“未初始化”,触发控制器自动应用 CloudStack 元数据标签:
--register-with-taints=node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
Kubernetes ≤ 1.16:
kubernetes.io/hostname: 实例名称beta.kubernetes.io/instance-type: 计算规格failure-domain.beta.kubernetes.io/zone: 可用区failure-domain.beta.kubernetes.io/region: 可用区(与 zone 一致)Kubernetes ≥ 1.17:
kubernetes.io/hostname: 实例名称node.kubernetes.io/instance-type: 计算规格topology.kubernetes.io/zone: 可用区topology.kubernetes.io/region: 可用区(与 zone 一致)若需手动触发节点标签同步,可通过以下命令为节点添加 taint:
kubectl taint nodes <my-node-without-labels> node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
从旧版 Kubernetes CloudStack 提供程序迁移至本独立控制器时,需注意以下差异:
负载均衡规则名称现在包含协议、LB 名称及服务端口,以区分同一端口上的 TCP、UDP 和 TCP-Proxy 服务(例如,支持同一端口同时运行 TCP 和 UDP 服务)。
⚠️ 迁移前需删除现有规则,迁移后重新创建,否则会导致同一服务出现重复规则,引发功能异常。
旧版提供程序运行在节点上,通过虚拟路由器的 DHCP 服务器获取元数据;本控制器运行在 Pod 内,通过以下流程获取元数据:
Copyright 2019 The Apache Software Foundation
本产品包含由 Apache Software Foundation 开发的软件([***]
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429