安装harbor以及kubernetes的使用

9 篇文章 1 订阅
5 篇文章 0 订阅
本文详细介绍了如何在Linux上安装和配置Harbor私有仓库,包括设置访问地址、管理员密码,以及在Kubernetes中添加Harbor作为私有镜像仓库的过程。重点涉及docker服务配置、镜像上传和使用dockersecret创建访问凭证。
摘要由CSDN通过智能技术生成

github地址:GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content.

1. 安装harbor

[root@longxi-01 ~]# cd /home
[root@longxi-01 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz

解压


harbor
├── common.sh
├── harbor.v2.10.0.tar.gz
├── harbor.yml.tmpl
├── install.sh
├── LICENSE
└── prepare
[root@longxi-01 home]# cd harbor

修改配置文件

[root@longxi-01 harbor]# mv harbor.yml.tmpl harbor.yml
[root@longxi-01 harbor]# vim harbor.yml
#修改访问地址,我这填写的IP
hostname: 10.211.55.5
#端口
port: 80
#管理员admin密码
harbor_admin_password: Harbor12345
#数据存储目录
data_volume: /home/harbor/data
#日志存储路径
location: /home/harbor/log
#我们这是测试环境没有配置https所以注释掉了
#https:
    #  port: 443

安装

[root@longxi-01 harbor]# ./install.sh

访问

​​​​​​http://10.211.55.5/

创建test的私有库

2. 上传镜像至harbor并登录私有库

kubernetes集群所有节点配置harbor仓库,node节点都需要执行

[root@longxi-01 harbor]# vim /usr/lib/systemd/system/docker.service
#新增--insecure-registry 10.211.55.5
ExecStart=/usr/bin/dockerd --insecure-registry 10.211.55.5 -H fd:// --containerd=/run/containerd/containerd.sock
#重载docker
[root@longxi-01 harbor]# systemctl daemon-reload
[root@longxi-01 harbor]# systemctl restart docker
#因为我harbor安装在longxi-01的,重启了一下docker,所以需要重启一下harbor,不然后面登录有点问题
[root@longxi-01 harbor]# docker-compose restart

登录,node节点都需要执行

[root@longxi-01 harbor]# docker login http://10.211.55.5
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

镜像上传测试

这是我先前自建的一个容器,以这个为例,上传到test私有仓库中

#将镜像php8.1.0-alpine:v3名称归档为自建的harbor仓库
[root@longxi-01 harbor]# docker tag php8.1.0-alpine:v3   10.211.55.5/test/php8.1.0-alpine:v3
[root@longxi-01 harbor]# docker push 10.211.55.5/test/php8.1.0-alpine:v3

登录harbor查看

3. kubernetes下载并使用harbor仓库中的镜像

创建docker-registry类型secret

Kubernetes 集群需要访问私有的 Harbor 仓库时,需要在 Kubernetes 中创建一个 secret,以存储 Harbor 仓库的访问凭证。

[root@longxi-01 harbor]# kubectl create secret docker-registry harbor-secret --docker-server=10.211.55.5 --docker-username=admin --docker-password=Harbor12345
[root@longxi-01 harbor]# kubectl get secret |grep harbor-secret
harbor-secret                        kubernetes.io/dockerconfigjson        1      60s

说明:

  • 类型为docker-registry
  • –docker-server指定harbor仓库的IP
  • –docker-username指定harbor仓库的登录用户名
  • –docker-password指定harbor仓库的登录密码

使用测试:

[root@longxi-01 harbor]# vim harbor-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: test-harbor
spec:
  containers:
  - name: php
    image: 10.211.55.5/test/php8.1.0-alpine:v3
  imagePullSecrets:
  - name: harbor-secret                                 # 与上面创建的secret名一致
#构建
[root@longxi-01 harbor]# kubectl apply -f harbor-pod.yaml 
pod/test-harbor created
#查看是否是harbor拉取的镜像
[root@longxi-01 harbor]# kubectl describe pod test-harbor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值