当前位置: 首页 > news >正文

构建Harbor私有镜像库

软硬件环境清单

环境搭建

部署Euler22.0系统,连接xshell:

关闭防火墙和selinux,设置主机名:

systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config

hostnamectl set-hostname harbor
reboot

修改静态IP:

查看IP:

ip a

vi  /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=f57e17a1-16b0-4bbe-aac3-87b544a801fb
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.12.136
PREFIX=24
GATEWAY=192.168.12.2
DNS1=223.5.5.5

重启网络服务:

systemctl restart network 

【注意:

若重启失败

请按照以下步骤进行:

安装 network-scripts:

dnf install network-scripts -y  # openEuler 基于 RHEL 8+/CentOS 8+,默认可能不安装
systemctl enable --now network  # 启用并启动服务
systemctl restart network       # 再次尝试重启

安装并升级所需软件:

yum install vim  tree tar net-tools -y
yum  update  -y

【注意:

若更新不成功,请进行以下操作

再次检查静态IP是否正确:

vi  /etc/sysconfig/network-scripts/ifcfg-ens33

查看当前路由表:

ip route show

缺少静态路由:

ip route add default via 192.168.12.2 dev ens33

最后测试:

yum  update  -y

拍摄快照!!!

【注意:

拍摄完快照后,如果IP地址消失,请进行以下操作:

方案一:

sudo dhclient ens33

方案二:

在静态IP文档里面直接写入命令,要求每次打开时网卡自动开启

ONBOOT=yes  

方案三:

手动启动网卡:

ip link set ens33 up  # 启用网卡

最后记得重启网络服务:

# 如果使用传统 network 服务
systemctl restart network

安装docker

【华为的OpenEurer没有docker源需要从官方下载】

添加docker-ce 源信息:

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

修改docker-ce源:

sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo   # 更换为阿里开源镜像站源
sed -i 's/$releasever/7/g' /etc/yum.repos.d/docker-ce.repo
# 由于阿里开源中没有Euler系统版本,但其源自Centos则改为7即可

更新源:

yum  makecache

安装docker-ce:默认安装docker-ce是最新版本

yum install docker-ce  -y

启动服务,查看信息:

systemctl enable --now docker

查看状态:

systemctl status docker 

查看版本详细信息:

docker  version  

配置镜像加速器:

登录华为云:共建智能世界云底座-华为云

华为云--->控制台--->登录[注册]--->登录容器镜像服务控制台--->在左侧导航栏选择“镜像资源 > 镜像中心”--->镜像加速器

vim /etc/docker/daemon.json

{"registry-mirrors": [ "https://8cdf32a387b744b2940801aa00322980.mirror.swr.myhuaweicloud.com" ,"https://docker.1ms.run","https://docker.1panel.live/"]
}
~           
systemctl daemon-reload
systemctl restart docker
docker info 

部署Harbor服务

下载Harbor
wget  https://github.com/goharbor/harbor/releases/download/v2.12.2/harbor-offline-installer-v2.12.2.tgz
tar -xvf harbor-offline-installer-v2.12.2.tgz 

配置HarBor:

cd harbor

安装编排工具
yum  install docker-compose  -y

修改配置文件:

将示例文件修改为正常文件:

mv harbor.yml.tmpl harbor.yml

vim harbor.yml 

# Configuration file of Harbor# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 192.168.88.100              # 修改本机IP,若改为主机名需要做映射# http related config
http:# port for http, default is 80. If https enabled, this port will redirect to https portport: 1021                         # 改为其它端口,防止80端口占用# https related config               # https的内容全部注释掉
# https:# https port for harbor, default is 443# port: 443# The path of cert and key files for nginx# certificate: /your/certificate/path# private_key: /your/private/key/path# enable strong ssl ciphers (default: false)# strong_ssl_ciphers: false
……………………………………
# The initial password of Harbor admin
# It only works in first time to install harbor
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: 123         # 登录密码
安装Harbor

安装并启动:

./install.sh  

查看进程:

docker ps  

测试
  • windows浏览器中输入服务端IP:192.168.12.136:1021 来访问管理页面

    • 用户面:admin

    • 密码:123

  • 如下图:

实战

将k8s集群所需的镜像上传到Harbor仓库中:

镜像处理

导入k8s:

cd /
mkdir  /imagescd  /images

导入命令:

docker load -i cni.tar
docker load -i coredns.tar
docker load -i etcd.tar
docker load -i kube-apiserver.tar
docker load -i kube-controller-manager.tar
docker load -i kube-controllers.tar
docker load -i kube-proxy.tar
docker load -i kube-scheduler.tar
docker load -i kuboard.tar
docker load -i node.tar
docker load -i pause.tar

查看导入的:

docker images

镜像重新打标签:

docker tag eipwork/kuboard:v3  192.168.12.136:1021/k8s/kuboard:v3
docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.0  192.168.12.136:1021/k8s/kube-apiserver:v1.28.0
docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.28.0  192.168.12.136:1021/k8s/kube-controller-manager:v1.28.0
docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.28.0  192.168.12.136:1021/k8s/kube-scheduler:v1.28.0
docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.28.0  192.168.12.136:1021/k8s/kube-proxy:v1.28.0
docker tag registry.aliyuncs.com/google_containers/etcd:3.5.9-0  192.168.12.136:1021/k8s/etcd:3.5.9-0
docker tag registry.aliyuncs.com/google_containers/coredns:v1.10.1  192.168.12.136:1021/k8s/coredns:v1.10.1
docker tag calico/kube-controllers:v3.25.0  192.168.12.136:1021/k8s/calico/kube-controllers:v3.25.0
docker tag calico/cni:v3.25.0  192.168.12.136:1021/k8s/calico/cni:v3.25.0
docker tag calico/node:v3.25.0  192.168.12.136:1021/k8s/calico/node:v3.25.0
docker tag registry.aliyuncs.com/google_containers/pause:3.9  192.168.12.136:1021/k8s/pause:3.9

docker images

设置私有镜像库
vim  /etc/docker/daemon.json
"insecure-registries": ["http://192.168.12.136:1021"]

重启docker服务:

systemctl restart docker

【注意:这里出现了问题没有成功启动,查看原因:

systemctl stop  docker

少了逗号:

vim  /etc/docker/daemon.json
{"registry-mirrors": [ "https://8cdf32a387b744b2940801aa00322980.mirror.swr.myhuaweicloud.com" ,"https://docker.1ms.run","https://docker.1panel.live/"] ,"insecure-registries": ["http://192.168.12.136:1021"]}
~                           

修改后,顺利启动docker:

管理服务

重启HarBor:

cd  /harbor
docker compose restart

登录Harbor:

docker login 192.168.12.136:1021

推送镜像到Harbor:

docker  push  192.168.12.136:1021/k8s/kuboard:v3
docker  push  192.168.12.136:1021/k8s/kube-apiserver:v1.28.0
docker  push  192.168.12.136:1021/k8s/kube-controller-manager:v1.28.0
docker  push  192.168.12.136:1021/k8s/kube-scheduler:v1.28.0
docker  push  192.168.12.136:1021/k8s/kube-proxy:v1.28.0
docker  push  192.168.12.136:1021/k8s/etcd:3.5.9-0
docker  push  192.168.12.136:1021/k8s/coredns:v1.10.1
docker  push  192.168.12.136:1021/k8s/calico/kube-controllers:v3.25.0
docker  push  192.168.12.136:1021/k8s/calico/cni:v3.25.0 
docker  push  192.168.12.136:1021/k8s/calico/node:v3.25.0
docker  push  192.168.12.136:1021/k8s/pause:3.9

查看推好的k8s:

机器重启后需要执行下列操作,harbor才会就绪:

cd  /harbor

重启docker:

systemc	restart docker

重启HarBor:

docker compose restart

记得拍摄快照!!!

http://www.xdnf.cn/news/626923.html

相关文章:

  • MySQL--day7--聚合函数
  • 【一对一文件重命名】如何按照Excel表格文件名对应的关系,批量一对一的批量改名,一对一关联改名,如何按照映射关系一对一重命名文件夹
  • Serv00 免费邮局 搭建属于自己的域名邮箱 支持 SMTP / Catch-all
  • 电子电路:为什么导体中的电子数量能够始终保持不变?
  • NSSCTF-[羊城杯 2023]程序猿Quby
  • 【通用技巧】技术文章工业级指南:目标定位、架构设计与持续演进
  • PINN高阶技术综合应用:复杂问题求解与神经算子进阶
  • NV123NV134美光闪存颗粒NV139NV143
  • 52页 @《人工智能生命体 新启点》中國龍 原创连载
  • 详细设计文档怎么写?@附参考原件
  • Spring Boot中如何对密码等敏感信息进行脱敏处理
  • 【一. Java基础:注释、变量与数据类型详解】
  • 安卓11 多任务视图270 度的情况报错
  • n 阶矩阵 A 可逆的充分必要条件是 ∣ A ∣ ≠ 0
  • (泛函分析)线性算子谱的定义,谱的分类,谱的性质。
  • 精益数据分析(83/126):从病毒性到营收——创业阶段的关键跨越与商业化策略
  • 《Java 单例模式:从类加载机制到高并发设计的深度技术剖析》
  • go多线程压测监控
  • 每日算法刷题Day14 5.24:leetcode不定长滑动窗口求子数组个数越长越合法4道题,用时1h20min
  • 行为型:模板方法模式
  • Web 安全进阶:前端信封加解密技术详解
  • day35 python模型可视化与推理
  • 【卫星通信】通信卫星链路预算计算及其在3GPP NTN中的应用
  • [Windows] GDownload v1.0.0
  • 豪越科技:消防应急装备智能仓储管理新变革
  • 命令执行漏洞深度解析与防御指南
  • 《Claude:人工智能界的璀璨新星》
  • 如何对两段轨迹进行拟合过渡
  • 【Matlab】雷达图/蛛网图
  • [Linux] 再谈 Linux Socket 编程技术(代码示例)