k8s之镜像拉取时使用secret

一、说明

从公司搭建的网站镜像仓库,使用k8s部署服务时拉取镜像失败,显示未授权:
在这里插入图片描述
需要在拉取镜像时添加认证信息.

关于secret信息,参考:
https://www.cnblogs.com/zhanglianghhh/p/13743024.html

二、secret使用

2.1 secret类型

  • Service Account:用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的 /run/secrets/kubernetes.io/serviceaccount 目录中。
  • Opaque:base64编码格式的Secret,用来存储密码、秘钥等。
  • kubernetes.io/dockerconfigjson:用来存储私有docker registry的认证信息。

当前secret类型使用的是kubernetes.io/dockerconfigjson

2.2 创建secret

执行创建命令: kubectl create secret docker-registry sscs-secret --docker-server=arxxxt.sxxx.cn --docker-username=vxxxxx --docker-password=AxxxJDyh -n sscs-dev

参数说明:
sscs-secret  自定义的名字
--docker-server  认证的网站地址
--docker-username 账号
--docker-password 密码
-n 命名空间

查看是否创建成功kubectl get secret -n sscs-dev | grep sscs:
在这里插入图片描述

2.3 配置secret

在yaml文件中配置imagePullSecrets字段:
在这里插入图片描述
重新执行yaml文件,镜像拉取成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KubernetesK8s)是一个开源的容器编排系统,用于自动化容器的部署、扩展和管理。Harbor是一个可信赖的企业级容器镜像仓库,它允许用户管理和存储Docker镜像Kubernetes可以使用HTTP方式来拉取Harbor上的镜像。在K8s集群中配置Kubernetes的Pod,可以通过定义容器镜像名称来指定从Harbor拉取镜像。 首先,需要在K8s集群中配置一个Secret对象,用于存储Harbor镜像仓库的凭证信息,包括用户名和密码。然后,在定义Pod的候,可以通过添加imagePullSecrets字段,将Secret对象引用到Pod中。 当Kubernetes调度并创建Pod,它会根据Pod中的镜像名称和引用的Secret对象,使用HTTP方式向Harbor发送拉取镜像的请求。Harbor会验证Pod中的凭证信息,并向Kubernetes返回镜像的相关信息。 通过HTTP方式拉取镜像的好处是,可以通过配置HttpHeader来进行更灵活的镜像拉取操作,例如允许拉取指定版本的镜像或者拉取特定标签的镜像。此外,使用HTTP方式还可以与Harbor的访问控制策略进行集成,以确保只有授权的用户能够拉取镜像。 总之,Kubernetes可以使用HTTP方式从Harbor拉取镜像。通过配置Secret对象进行凭证信息的引用,Kubernetes可以根据Pod中定义的镜像名称和引用的Secret对象,通过HTTP方式与Harbor进行通信并获取所需的镜像。这样的集成使得Kubernetes与Harbor更加紧密地结合在一起,提供了更安全、可靠的容器镜像管理和部署方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值