企业级镜像仓库Harbor

发布时间:2023年12月20日

目录

1.1 上传harbor安装包并安装

1.2 浏览器访问

1.3 k8s使用harbor仓库

1.4 上传镜像到仓库

1.5 创建secret.yaml文件

1.6 k8s-pod 使用镜像


如果资源不足可以在3个节点中的任意节点部署,也可以在单独的一台中部署。

1.1 上传harbor安装包并安装
$ tar xf harbor-offline-installer-v2.5.3.tgz
$ cp harbor.yml.tmpl harbor.yml
$ vim harbor.yml
hostname: 192.168.246.217
?
# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80
# 注释所有https的内容
?
$ ./install.sh
1.2 浏览器访问

默认账号:admin 默认密码:Harbor12345

1.3 k8s使用harbor仓库
# 两台node节点执行
[root@kub-k8s-node1 ~]# vim /etc/docker/daemon.json ?  #不存在则创建
{ "insecure-registries":["192.168.246.168"] }
?
重启docker:
[root@kub-k8s-node1 ~]# systemctl restart docker

1.4 上传镜像到仓库
$ docker login http://192.168.246.168
页面中创建用户及仓库
$ docker pull newrain857/show
$ docker tag newrain857/show 192.168.246.168/os-image/show:latest
1.5 创建secret.yaml文件
$ cat ~/.docker/config.json |base64 -w 0
ewoJImF1dGhzIjogewoJCSIxOTIuMTY4Ljk2LjIxNyI6IHsKCQkJImF1dGgiOiAiZUdsaGIyMXBibWM2VVhFeE1URXhNVEU9IgoJCX0KCX0KfQ==
?
创建 secret.yaml 文件
apiVersion: v1
kind: Secret
metadata:
  name: login
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4Ljk2LjIxNyI6IHsKCQkJImF1dGgiOiAiZUdsaGIyMXBibWM2VVhFeE1URXhNVEU9IgoJCX0KCX0KfQ==
 ?
$ kubectl apply -f secret.yaml
1.6 k8s-pod 使用镜像
vim harbor-pod.yml
?
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: show
spec:
  replicas: 2
  selector:
 ?  matchLabels:
 ? ?  app: show
  template:
 ?  metadata:
 ? ?  labels:
 ? ? ?  app: show
 ?  spec:
 ? ?  containers:
 ? ?  - name: show
 ? ? ?  image: 192.168.246.168/os-image/show:latest
 ? ? ?  ports:
 ? ? ?  - containerPort: 80
 ? ?  imagePullSecrets:
 ? ? ?  - name: login
?
---
apiVersion: v1
kind: Service
metadata:
  name: show-service
spec:
  type: NodePort
  selector:
 ?  app: show
  ports:
  - port: 80
 ?  targetPort: 80
 ?  nodePort: 32000
?
# 浏览器访问最终的结果

文章来源:https://blog.csdn.net/2301_79538834/article/details/135092301
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。