第三方数据未拉取取不了 云容器引擎
工作负载详情中,若事件中提示“重新拉取镜像失败“,请参照如下方式来排查原因。
排查思路排查项一:创建工作负载时未指定
以创建一个名为nginx的为例,请排查yaml文件中是否存在字段(如下yaml示例中的粗体字段),表示pull镜像时的名称。
创建工作负载拉取第三方镜像时,未指定字段如下图所示:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: nginx
imagePullSecrets:
- name: default-secret
解决方案:
pull第三方镜像时,需设置创建的名称。
排查项二:填写的镜像地址错误(使用第三方镜像时)
CCE支持拉取第三方镜像仓库(即镜像仓库之外的镜像仓库)中的镜像来创建工作负载。
在填写第三方镜像的地址时,请参照要求的格式来填写。镜像地址格式为:ip:port/path/name: 或name:,若没标注版本号则默认版本号为。
镜像地址配置有误找不到镜像导致失败, Event中提示如下信息:
Failed to pull image "nginx:v1.1": rpc error:code = Unknown desc=Error response from daemon: manifest for nginx:v1.1 not found
解决方案:
可编辑yaml修改镜像地址,也可在工作负载详情页面更新升级页签点击更换镜像。
排查项三:使用错误的密钥和密钥过期(使用第三方镜像时)
CCE支持拉取第三方镜像仓库中的镜像来创建工作负载。
解决方案:
通常第三方镜像仓库都必须经过认证(帐号密码)才可以访问,而CCE中容器拉取镜像是使用密钥认证方式,这就要求在拉取镜像前必须先创建镜像仓库的密钥。
若您的密钥错误或者过期将会导致镜像拉取失败,请重新获取密钥。
排查项四:节点磁盘空间不足
在v1.7.3-r7版本后的集群中新建节点后,会给节点绑定一个100G的专用数据盘。若数据盘空间不足,会导致重新拉取镜像失败。
当k8s事件中包含以下信息,表明节点上用于存储镜像的磁盘空间已满,需要清理镜像,或扩容磁盘。
确认节点上存储镜像的磁盘空间的命令为:lvs
清理镜像的命令为:
docker rmi –f {镜像ID}
扩容磁盘的操作步骤如下:
在EVS界面扩容盘。
登录目标节点。
然后在节点上执行如下命令, 将新增的磁盘容量加到盘上。
pvresize /dev/vdb
lvextend -l+100%FREE -n vgpaas/thinpool