linode/linode-cloud-controller-managerLinode Cloud Controller Manager (CCM) 是用于 Kubernetes 的云控制器管理器,旨在为运行于 Linode 基础设施上的 Kubernetes 集群提供全面支持。其核心用途是实现 Kubernetes 与 Linode 云服务的深度集成,自动处理基础设施资源与 Kubernetes 资源的联动,简化集群运维并提升服务可靠性。
当部署类型为 Load*** 的 Kubernetes Service 时,CCM 会自动创建并配置 Linode Node***(负载均衡器),实现集群内服务的互联网可达性,无需手动配置基础设施层负载均衡。
自动将 Linode 实例的主机名、私有/公有 IP 地址等网络信息关联到对应的 Kubernetes Node 资源,为 DNS 解析、服务发现等 Kubernetes 核心功能提供基础数据。
当 Linode 实例(节点)关闭时,CCM 会自动将对应 Kubernetes Node 资源标记为不可调度状态,并触发 Pod 重调度逻辑,确保服务可用性。
自动为 Kubernetes Node 资源添加 linode.region 标签,标注节点所在的 Linode 区域,支持基于区域的故障域调度策略,提升集群容灾能力。
Load*** 类型 Service 将集群内服务暴露到互联网的场景(如 Web 服务、API 服务)。linodes:read_write、node***s:read_write 权限,用于操作 Linode 资源)。api.linode.com)及 Kubernetes API Server。docker run 部署bashdocker run -d \ --name linode-ccm \ --restart=always \ -v /etc/kubernetes/kubeconfig:/etc/kubernetes/kubeconfig:ro \ # 挂载 kubeconfig(若需外部访问 K8s API) -e LINODE_API_TOKEN="your-linode-api-token" \ # 必选,Linode API 令牌 -e KUBERNETES_SERVICE_HOST="10.0.0.1" \ # 可选,K8s API Server 地址(默认从 kubeconfig 获取) -e KUBERNETES_SERVICE_PORT="6443" \ # 可选,K8s API Server 端口(默认 6443) -e CLUSTER_NAME="my-linode-cluster" \ # 可选,集群名称(用于标识资源) linode/linode-cloud-controller-manager:latest \ --cloud-provider=linode \ # 必选,指定云提供商为 linode --kubeconfig=/etc/kubernetes/kubeconfig # 必选,指定 kubeconfig 路径(或通过环境变量注入)
docker-compose 部署创建 docker-compose.yml 文件:
yamlversion: '3' services: linode-ccm: image: linode/linode-cloud-controller-manager:latest container_name: linode-ccm restart: always volumes: - /etc/kubernetes/kubeconfig:/etc/kubernetes/kubeconfig:ro # 挂载 kubeconfig environment: - LINODE_API_TOKEN=your-linode-api-token # 必选,Linode API 令牌 - KUBERNETES_SERVICE_HOST=10.0.0.1 # 可选,K8s API Server 地址 - KUBERNETES_SERVICE_PORT=6443 # 可选,K8s API Server 端口 - CLUSTER_NAME=my-linode-cluster # 可选,集群名称 command: - --cloud-provider=linode - --kubeconfig=/etc/kubernetes/kubeconfig
启动服务:
bashdocker-compose up -d
| 环境变量名 | 描述 | 是否必选 | 默认值 |
|---|---|---|---|
LINODE_API_TOKEN | Linode API 访问令牌,需具备 linodes:read_write、node***s:read_write 权限 | 是 | - |
KUBERNETES_SERVICE_HOST | Kubernetes API Server 主机地址 | 否 | 从 kubeconfig 或环境变量自动获取 |
KUBERNETES_SERVICE_PORT | Kubernetes API Server 端口 | 否 | 6443 |
CLUSTER_NAME | 集群名称,用于标识 Linode 资源(如 Node*** 名称前缀) | 否 | linode-k8s-cluster |
LOG_LEVEL | 日志级别(debug/info/warn/error) | 否 | info |
| 参数名 | 描述 | 是否必选 | 默认值 |
|---|---|---|---|
--cloud-provider | 云提供商类型,固定为 linode | 是 | - |
--kubeconfig | kubeconfig 文件路径,用于访问 Kubernetes API Server | 是 | - |
--leader-elect | 是否启用 leader 选举(多副本部署时确保单实例 active) | 否 | true |
--node-status-update-frequency | 节点状态更新间隔(如 10s) | 否 | 10s |
LINODE_API_TOKEN 具备高权限,需通过环境变量或密钥管理工具注入,避免明文暴露。api.linode.com:443)和 Kubernetes API Server,确保网络策略允许双向通信。--cpus=0.5 --memory=512m),避免资源竞争。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务