部署harbor私有镜像仓库的简单记录

前面部署了K8S群集,harbor私有镜像仓库准备提供给K8S使用

部署harbor私有镜像仓库服务器的IP为:192.168.99.73,K8S群集三个节点的IP为:192.168.99.101,192.168.99.102,192.168.99.103

 

一、下载安装工具并导入镜像

[root@v73 harbor]# wget https://github.com/docker/compose/releases/download/1.21.2/docker-compose-Linux-x86_64

[root@v73 harbor]# cp docker-compose-Linux-x86_64 /opt/k8s/bin/docker-compose

[root@v73 harbor]# chmod a+x  /opt/k8s/bin/docker-compose
[root@v73 harbor]# export PATH=/opt/k8s/bin:$PATH

[root@v73 harbor]# wget  --continue https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz

 

[root@v73 harbor]# tar -xzvf harbor-offline-installer-v1.5.1.tgz

[root@v73 harbor]# cd harbor/

[root@v73 harbor]# ls
common  docker-compose.clair.yml  docker-compose.notary.yml  docker-compose.yml  ha  harbor.cfg  harbor.v1.5.1.tar.gz  install.sh  LICENSE  NOTICE  prepare
[root@v73 harbor]# docker load -i harbor.v1.5.1.tar.gz

大约这样

部署harbor私有镜像仓库的简单记录_第1张图片

 

 

 

 

二、创建证书和编辑配置

请求文件

[root@v73 harbor]# cat harbor-csr.json
{
  "CN": "harbor",
  "hosts": [
    "127.0.0.1",
    "192.168.99.73"
  ],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "ST": "BeiJing",
      "L": "BeiJing",
      "O": "k8s",
      "OU": "4Paradigm"
    }
  ]
}

生成证书的脚本:

注意,这个脚本将会在K8S的节点上面执行,因为K8S的证书在节点上面,再把文件拷贝至harbor私有镜像仓库服务器指定的目录

[root@k8s1 harbor]# cat 2.sh
#!/bin/bash
cfssl gencert -ca=/etc/kubernetes/cert/ca.pem \
  -ca-key=/etc/kubernetes/cert/ca-key.pem \
  -config=/etc/kubernetes/cert/ca-config.json \
  -profile=kubernetes harbor-csr.json | cfssljson -bare harbor

[root@k8s1 harbor]# sh 2.sh

在公共盘操作,方便直接拷贝

[root@v73 harbor]# mkdir -p /etc/harbor/ssl
[root@v73 harbor]# cp harbor*.pem /etc/harbor/ssl  

备份即将编辑的文件
[root@v73 harbor]# cp harbor.cfg{,.bak}

[root@v73 harbor]# cp prepare{,.bak}

[root@v73 harbor]# vimdiff harbor.cfg harbor.cfg.bak

部署harbor私有镜像仓库的简单记录_第2张图片

 

vimdiff prepare prepare.bak

部署harbor私有镜像仓库的简单记录_第3张图片

 

 

 

三、安装和登录

[root@v73 harbor]# mkdir /data
[root@v73 harbor]# chmod 777 /var/run/docker.sock /data
[root@v73 harbor]# yum install python -y

[root@v73 harbor]# ./install.sh

部署过程中磁盘空间不够了,部署前需保证有充足的磁盘空间

部署harbor私有镜像仓库的简单记录_第4张图片

添加磁盘,扩展lvm后再接着玩

部署harbor私有镜像仓库的简单记录_第5张图片

部署harbor私有镜像仓库的简单记录_第6张图片

在K8S节点上执行相同的操作,拷贝CA证书

mkdir -p /etc/docker/certs.d/192.168.99.73

cp /etc/kubernetes/cert/ca.pem /etc/docker/certs.d/192.168.99.73/ca.crt

登录,默认用户名admin  默认密码  Harbor12345

[root@k8s3 ~]# docker login 192.168.99.73
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
 

WEB界面登陆:

部署harbor私有镜像仓库的简单记录_第7张图片

 

上传和下载镜像

部署harbor私有镜像仓库的简单记录_第8张图片

 

[root@k8s1 /]# docker tag 965ea09ff2eb 192.168.99.73/library/alpine

[root@k8s1 /]# docker push 192.168.99.73/library/alpine

[root@k8s2 ~]# docker pull 192.168.99.73/library/alpine
Using default tag: latest
latest: Pulling from library/alpine
89d9c30c1d48: Pull complete
Digest: sha256:e4355b66995c96b4b468159fc5c7e3540fcef961189ca13fee877798649f531a
Status: Downloaded newer image for 192.168.99.73/library/alpine:latest

部署harbor私有镜像仓库的简单记录_第9张图片

 

你可能感兴趣的:(部署harbor私有镜像仓库的简单记录)