Kubernates集成Harbor的主要思路及操作

本文详细介绍如何在Kubernetes环境中集成Harbor私有仓库,包括创建Secret秘钥、配置imagePullSecrets等关键步骤,确保Pod能从Harbor顺利拉取镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍了Kubernates集成Harbor的主要思路及操作。

前置工作
  1. 安装Kubernates集群
  2. 安装Harbor
主要思路
  • 操作k8s node的docker,虽然可以从harbor仓库pull镜像。但是k8s创建pod时,仍然无法从harbor仓库pull。这时需要根据harbor登录用户信息,在k8s中创建一个资源类型是Secret(私钥)
  • 在yaml文件中添加imagePullSecrets参数,指定一个或多个Secret,用于从远程仓库pull镜像时提交用户信息进行认证。
  • Harbor项目与用户:默认的项目是library,默认为public公开的,即harbor所有用户都可以pull。当然你也可以根据需要创建自己的项目,并且强烈建议将项目设为private私有的,这样只有该项目下的成员(默认包含admin用户)才能访问。
    成员的角色可以有三种
    - Master:项目管理员,对镜像有上传、下载、删除和查看的权限。
    - Developer:开发人员,只能查看、上传和下载镜像权限。
    - Guest :访客,只能查看和下载镜像的权限。
    - Limited Guest 受限的访客
详细步骤如下
Step1、在node上执行 docker login 登录Harbor
# admin             -	harbor的用户名
# Harbor12345       -	harbor的密码
# harbor.domain.com -	harbor仓库的域名/IP
docker login -uadmin -pHarbor12345 harbor.domain.com

执行命令查看登录状态:

[root@dev ~]# cat ~/.docker/config.json 
{
        "auths": {
                "harbor.domain.com": {
                        "auth": "Y2N4...MjM="
                }
        }
}   
Step2、生成秘钥(secret),命名为secret-harbor-dev
# 参数说明:
# secret-harbor     - 这是密钥的键名称, 可自行定义
# --docker-server   - 指定docker仓库地址
# --docker-username - 指定docker仓库账号
# --docker-password - 指定docker仓库密码
# -n - 指定namespace,默认为default
kubectl create secret docker-registry secret-harbor \
    --docker-server=harbor.domain.com \
    --docker-username=admin \
    --docker-password=Harbor12345
Step3、查看秘钥
[root@dev244 ~]# kubectl get secret
NAME            TYPE                             DATA   AGE
secret-harbor   kubernetes.io/dockerconfigjson   1      22s
Step4、yaml文件中通过imagePullSecrets指定拉取镜像操作使用的秘钥
# imagePullSecrets - 声明拉取镜像时需要指定密钥,值为密钥的名称
imagePullSecrets:
- name: secret-harbor

注意:
1)在定义Deployment的yaml文件中,要注意参数层级,应设置在spec.template.spec.imagePullSecrets
2)当前资源的namespace必须与密钥的一致。

这样,在执行yaml文件时,node节点上的docker就可以使用secret-harbor通过Harbor认证,从Harbor拉取镜像了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jason9211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值