【kubernetes篇】使用Harbor仓库管理kubernetes镜像
创始人
2024-01-26 09:12:37
0

引言

Docker容器应用的开发和运行离不开可靠的镜像管理,在企业级的Docker Registry管理项目中,一般使用Harbor,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

今天就将Harbor仓库的安装和使用做一下整理。本次安装过程按照kubernetes使用时的CA证书来安装。

阅读这篇文章之前,你应当已经理解了DNS服务器的搭建:

【网络篇】如何搭建自己的DNS服务器

一、创建相关证书

1. 下载证书工具

mkdir harbor
cd harbor
wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64

# 放到PATH路径可以直接使用
mv cfssl_linux-amd64 /usr/local/bin/cfssl
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo

2. 创建CA证书

# CA证书请求文件
cat > ca-csr.json <<"EOF"
{"CN": "kubernetes","key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","ST": "Beijing","L": "Beijing","O": "jiangxiaonan","OU": "CN"}],"ca": {"expiry": "87600h"}
}
EOF
# 创建ca证书
cfssl gencert -initca ca-csr.json | cfssljson -bare ca

3. 配置CA证书策略

cat > ca-config.json <<"EOF"
{"signing": {"default": {"expiry": "87600h"},"profiles": {"kubernetes": {"usages": ["signing","key encipherment","server auth","client auth"],"expiry": "87600h"}}}
}
EOF

4. 创建harbor证书请求文件

cat > harbor-csr.json <<"EOF"
{"CN": "harbor","hosts": ["127.0.0.1","192.168.189.30","harbor.kubernetes.com"],"key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","ST": "Beijing","L": "Beijing","O": "jiangxiaonan","OU": "CN"}]
}
EOF

5. 生成harbor证书

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes harbor-csr.json | cfssljson  -bare harbor

二、安装harbor

本次我们使用docker-compose的方式运行harbor镜像。

1. docker安装及配置

# 下载docker-ce
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y yum-utils
# 官网使用的为国外镜像仓库,下载速度会比较慢,我们这里使用国内阿里云镜像仓库。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://ae38hood.mirror.aliyuncs.com"]
}
EOF
systemctl enable --now docker
# 重启
systemctl restart docker

详细安装步骤可以参考以下链接:

Docker安装,环境配置说明,阿里云镜像加速配置

2. 安装docker compose

wget https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64
# 放到PATH路径可以直接使用
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
# 为二进制文件添加可执行权限
chmod +x /usr/bin/docker-compose
# 检查验证
docker-compose version

3. 安装harbor

# 下载harbor
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
# 解压完是一个harbor目录
tar xf harbor-offline-installer-v2.4.1.tgz
# 将证书文件移动到harbor目录下
mv harbor*.pem harbor
cd harborcp harbor.yml.tmpl harbor.yml
# 修改harbor配置文件
vi harbor.yml
hostname: harbor.kubernetes.com
http:port: 80https:port: 443certificate: /root/harbor/harbor/harbor.pemprivate_key: /root/harbor/harbor/harbor-key.pem

从这里我们也可以看出harbor的端口为80。默认账号admin,密码Harbor12345。

# 执行预备脚本
./prepare
# 执行安装脚本
./install.sh

4. 检查验证

本地浏览器登录:

kubernetes集群内登录:

# 登录
docker login harbor.kubernetes.com
# 退出
docker logout harbor.kubernetes.com

说明:如果没有DNS服务器就是用ip地址。

5. harbor在kubernetes中的使用

比如新做了一个nginx镜像,设定标签为harbor.kubernetes.com/library/nginx

# 使用nginx最新版本的镜像重新打标签
docker tag nginx:latest harbor.kubernetes.com/library/nginx:1.0

上传到harbor仓库中:

docker push harbor.kubernetes.com/library/nginx:1.0

拉取harbor仓库中的镜像:

docker pull harbor.kubernetes.com/library/nginx:1.0

说明:镜像的上传拉取镜像必须先登录。

k8s中创建pod拉取镜像时,私有仓库未公开的需要指定凭据secrets才可以拉取,后面我们将详细讲解。

相关内容

热门资讯

对口援疆助力新疆高质量发展   央视网消息(新闻联播):中央各单位和19个援疆省市完善工作机制,加大对口援疆,助力新疆经济社会高...
山东舰告别香港,市民游客乘船挥... Transparency 山东舰告别香港,市民游客乘船挥舞国旗夹道相送。7月7日,山东舰航母编队结束...
回家创业什么项目好 返乡回家创... 很多人都有这样的困惑,在家工作机会少,不得不外出打工。可在外面打工除去房租、吃饭一年下来也落不了多少...
加盟内衣连锁 开启实内衣创业加... 众人都说服饰行业前景,加盟内衣行业的小伙伴却越来越多!在服装行业普遍萎靡的状态下,内衣行业实体店却一...
适合穷人的小本创业项目 5个小... 当今社会,很容易让人们对社会人群根据保有的物质基础去划分穷人和富人之分。而且随着贫富差距的不断扩大。...
适合上班族创业小本创业项目 适... 在当前大众,万众创新的背景推动下,很多上班族蠢蠢欲动,萌生逆袭的念头!他们既渴望让梦想照进现实,但又...
创业投资项目好项目 创业投资项... 作为一个普通人,很难做到功成名就,每个人都想要挣更多的钱,但是往往忽略了什么事能做,什么事不能做。那...
最新残疾人创业项目 适合残疾人... 在这个一切皆有可能的年代,残疾人比以往具有更多脱颖而出的机会。在政府提供的一系列优惠政策下,很多残疾...
残疾人想创业吗 我创业做什么项... 随着国家奔小康社会步伐的加快,政府部门、残联机构以及社会越来越关注残疾人群体,残疾人的就业和创业更是...
适合在家创业的项目有哪些 你需... 现在很多人因为个人自身原因无法外出上班,如家庭主妇、残疾人士等,但他们又想拥有自己的事业,于是这么一...