部署 harbor 创建私有项目

目录

一、在 Docker harbor 节点(192.168.246.14)上操作

1.1关闭防火墙

1.2 安装docker 

1.3上传软件表到 /opt 目录中 

二、部署 Harbor 服务

2.1修改配置

2.2在 Harbor 中创建一个新项目

2.3在每个 node 节点配置连接私有仓库(注意每行后面的逗号要添加)

2.4在每个 node 节点登录 harbor 私有仓库

2.5在一个 node 节点下载 Tomcat 镜像进行推送

2.6查看登陆凭据

2.7创建 harbor 登录凭据资源清单

2.8创建 secret 资源

2.9查看 secret 资源

2.10创建资源从 harbor 中下载镜像

2.11删除之前在 node 节点下载的 Tomcat 镜像

2.12创建资源

2.13查看 Pod 的描述信息,可以发现镜像是从 harbor 下载的

2.14刷新 harbor 页面,可以看到镜像的下载次数增加了


一、在 Docker harbor 节点(192.168.246.14)上操作

1.1关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

1.2 安装docker 

yum install -y yum-utils device-mapper-persistent-data lvm2 
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
yum install -y docker-ce
systemctl start docker.service
systemctl enable docker.service
docker version

建议不要使用最新版本的 Docker,会存在与 api-server 版本不兼容,安装20版本的docker

yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18

1.3上传软件表到 /opt 目录中 

上传 docker-compose 和 harbor-offline-installer-v1.2.2.tgz 到 /opt 目录中

上传 docker-compose 和 harbor-offline-installer-v1.2.2.tgz 到 /opt 目录中

cd /opt
chmod +x docker-compose
mv docker-compose /usr/local/bin/

二、部署 Harbor 服务

2.1修改配置

​tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
vim /usr/local/harbor/harbor.cfg
--5行--修改,设置为Harbor服务器的IP地址或者域名
hostname = 192.168.246.14

cd /usr/local/harbor/
./install.sh

解决问题:安装20版本docker

yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18

2.2在 Harbor 中创建一个新项目​​​​​​​

(1)浏览器访问:http://192.168.246.14登录 Harbor WEB UI 界面,默认的管理员用户名和密码是 admin/Harbor12345
(2)输入用户名和密码登录界面后可以创建一个新项目。点击“+项目”按钮
(3)填写项目名称为“kgc-project”,点击“确定”按钮,创建新项目

2.3在每个 node 节点配置连接私有仓库(注意每行后面的逗号要添加)

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],               
  "insecure-registries":["192.168.246.14"]
}
EOF


systemctl daemon-reload
systemctl restart docker

2.4在每个 node 节点登录 harbor 私有仓库

docker login -u admin -p Harbor12345 http://192.168.246.14

2.5在一个 node 节点下载 Tomcat 镜像进行推送

docker pull tomcat:8.0.52  #拉取镜像
docker images

docker tag tomcat:8.0.52 192.168.246.14/zzz-project/tomcat:v1  #打标签
docker images


docker push 192.168.246.14/zzz-project/tomcat:v1 #推镜像

2.6查看登陆凭据

cat /root/.docker/config.json |base64 -w 0	#base64 -w 0:进行 base64 加密并禁止自动换行


ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjI0Ni4xNCI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0Z5WW05eU1USXpORFU9IgoJCX0KCX0KfQ==

2.7创建 harbor 登录凭据资源清单

创建 harbor 登录凭据资源清单,用于 K8S 访问 Harbor 私服拉取镜像所需要的密钥权限凭证 secret 资源

vim harbor-pull-secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: harbor-pull-secret
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjI0Ni4xNCI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0
Z5WW05eU1USXpORFU9IgoJCX0KCX0KfQ==   ##复制粘贴上述查看的登陆凭据

2.8创建 secret 资源

kubectl create -f harbor-pull-secret.yaml

2.9查看 secret 资源

kubectl get secret

2.10创建资源从 harbor 中下载镜像

​cd /opt/demo
vim tomcat-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-tomcat
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-tomcat
  template:
    metadata:
      labels:
        app: my-tomcat
    spec:
      imagePullSecrets:						#添加 K8S 访问 Harbor 私服拉取镜像所需要的 secret 资源选项
      - name: harbor-pull-secret			#指定 secret 资源名称
      containers:
      - name: my-tomcat
        image: 192.168.246.14/kgc-project/tomcat:v1		#指定 harbor 中的镜像名
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: my-tomcat
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
    nodePort: 31111
  selector:
    app: my-tomcat

cd /opt/demo/
vim tomcat-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-tomcat
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-tomcat
  template:
    metadata:
      labels:
        app: my-tomcat
    spec:
      imagePullSecrets:        #添加 K8S 访问 Harbor 私服拉取镜像所需要的 secret 资源选项
      - name: harbor-pull-secret     #指定 secret 资源名称
      containers:
      - name: my-tomcat
        image: 192.168.246.14/zzz-project/tomcat:v1  #指定 harbor 中的镜像名
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: my-tomcat
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
    nodePort: 31111
  selector:
    app: my-tomcat

2.11删除之前在 node 节点下载的 Tomcat 镜像

docker rmi tomcat:8.0.52

docker rmi 192.168.246.14/zzz-project/tomcat:v1

docker images

​​​​​​​

2.12创建资源

kubectl create -f tomcat-deployment.yaml

kubectl get pods
NAME                              READY   STATUS    RESTARTS   AGE
my-tomcat-d55b94fd-29qk2   1/1     Running   0         
my-tomcat-d55b94fd-9j42r   1/1     Running   0    

2.13查看 Pod 的描述信息,可以发现镜像是从 harbor 下载的

kubectl describe pod my-tomcat-d55b94fd-29qk2

2.14刷新 harbor 页面,可以看到镜像的下载次数增加了

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值