You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8ssandra安装遇cass-management-api镜像拉取授权失败求助

问题:K8ssandra单集群安装镜像拉取授权失败

环境与现象

按照K8ssandra单集群Helm安装文档操作后,执行kubectl get pods -n k8ssandra-operator得到如下输出:

NAME                                               READY   STATUS             RESTARTS   AGE
demo-dc1-default-sts-0                             1/2     ErrImagePull       0          81m
demo-dc1-default-sts-1                             1/2     ImagePullBackOff   0          81m
demo-dc1-default-sts-2                             1/2     ImagePullBackOff   0          81m
k8ssandra-operator-7568db8d8f-7l6vb                1/1     Running            0          84m
k8ssandra-operator-cass-operator-f6df9b874-gmsbp   1/1     Running            0          84m

查看异常Pod详情,执行kubectl describe pod demo-dc1-default-sts-1 -n k8ssandra-operator得到核心错误:

Warning Failed 101s (x8 over 65m) kubelet Failed to pull image "k8ssandra/cass-management-api:4.0.1": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/k8ssandra/cass-management-api:4.0.1": failed to copy: httpReadSeeker: failed open: server message: invalid_token: authorization failed

解决方案

1. 验证Docker Hub访问凭据有效性

  • 手动在本地测试Docker Hub登录与镜像拉取,确认账号或令牌是否有效:
    docker login docker.io -u <你的Docker Hub用户名> -p <你的访问令牌/密码>
    docker pull k8ssandra/cass-management-api:4.0.1
    
    如果本地拉取失败,说明凭据过期或无效,需重新生成Docker Hub个人访问令牌。

2. 检查并配置ImagePullSecret

  • 确认k8ssandra-operator命名空间下是否存在有效的镜像拉取Secret:
    kubectl get secret -n k8ssandra-operator
    
  • 若不存在,创建新的Docker Registry Secret:
    kubectl create secret docker-registry regcred \
      --docker-server=docker.io \
      --docker-username=<你的Docker Hub用户名> \
      --docker-password=<你的访问令牌/密码> \
      --namespace=k8ssandra-operator
    
  • 更新Helm Release,指定该Secret用于镜像拉取:
    helm upgrade demo k8ssandra/k8ssandra \
      --namespace k8ssandra-operator \
      --set cassandra.datacenters[0].imagePullSecrets[0]=regcred
    

3. 确认镜像标签可用性

  • 检查k8ssandra/cass-management-api:4.0.1标签是否在Docker Hub上存在,若标签不存在,修改Helm配置中的镜像版本为现有可用标签。

4. 排查集群网络连通性

  • 在K8s节点上测试Docker Hub访问:
    curl -I https://index.docker.io/v2/k8ssandra/cass-management-api/manifests/4.0.1
    
    若无法访问,检查节点的防火墙、网络策略或代理配置,确保允许访问Docker Hub的HTTPS端口(443)。

内容的提问来源于stack exchange,提问作者Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:45:12