搭建harbor给k8s 使用

harbor

安装docker(参照之前k8s中安装dokcer)

安装docker-compose

下载docker-compose-Linux-x86_64,并上传至/usr/local/bin/下,下载地址https://github.com/docker/compose/releases

#mv docker-compose-Linux-x86_64 docker-compose
#chmod +x docker-compose 
#docker-compose -version

安装cfssl

#curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl
#curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson
#curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo
#chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo  #准备cfssl

生成证书文件

#mkdir -p /opt/ssl
#cat > harbor-csr.json <<EOF # 创建 harbor 证书签名请求
{
  "CN": "harbor",
  "hosts": [
    "127.0.0.1",
    "192.168.201.49",   #harbor master服务器
    "192.168.201.59",   #以后准备创建的harbor slave服务器,现在没有,但是提前写入证书避免后面重新生成
    "registry.k8s.yayun.com"  #指定harbor的域名
  ],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "ST": "BeiJing",
      "L": "BeiJing",
      "O": "k8s",
      "OU": "4Paradigm"
    }
  ]
}
EOF
#scp ca-key.pem ca.pem ca-config.json root@ip:/opt/ssl # 将k8s中master的ca证书及ca-json复制到harbor中,用于签名
#cfssl gencert -ca=/opt/ssl/ca.pem -ca-key=/opt/ssl/ca-key.pem -config=/opt/ssl/ca-config.json -profile=kubernetes harbor-csr.json  | cfssljson -bare harbor # 签署证书 
#ls
ca-config.json  ca-key.pem  ca.pem  harbor.csr  harbor-csr.json  harbor-key.pem  harbor.pem

安装harbor

#tar -xvf harbor-offline-installer-v1.10.3-rc2.tgz  #下载harbor离线包,https://github.com/goharbor/harbor/releases
#vi /opt/harbor/harbor.yml
hostname: registry.k8s.yayun.com
certificate: /opt/ssl/ca.pem
private_key: /opt/ssl/ca-key.pem
#/opt/harbor/prepare    #根据配置文件生成所需文件
#/opt/harbor/install
#systemctl restart docker

验证

浏览器直接访问https://ip,并使用admin,Harbor12345访问

node节点

不配置证书方式(不配置证书与配置证书选一种)

#mkdir -p /etc/docker/certs.d/registry.k8s.yayun.com #新建目录
#vi /etc/docker/daemon.json
{
        "insecure-registries": ["registry.k8s.yayun.com"] #填入配置的harbor域名
}
#systemctl daemon-reload
#systemctl restart dockerd
#vi /etc/hosts
192.168.201.49  registry.k8s.yayun.com #在hosts中添加域名

配置证书方式(不配置证书与配置证书选一种)

#mkdir -p /etc/docker/certs.d/registry.k8s.yayun.com #新建目录
#scp ca.pem [email protected]:/etc/docker/certs.d/registry.k8s.yayun.com/ca.crt #将harbor上的ca根证书复制node节点并修改名称
#update-ca-trust #更新证书
#systemctl restart dockerd
#vi /etc/hosts
192.168.201.49  registry.k8s.yayun.com #在hosts中添加域名

harbor使用验证

#docker login -u admin -p Harbor12345 registry.k8s.yayun.com #登录
#docker images #查看本地镜像
#docker tag nginx:latest registry.k8s.yayun.com/library/nginx:v1 #对本地镜像打标签,其中library是harbor默认的项目
#docker push registry.k8s.yayun.com/library/nginx:v1 #将镜像推送到harbor上

知识点1:
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

知识点2:
harbor已安装,修改了harbor.yml配置文件的,需要
./prepare #更新配置
docker-compose up -d #启动harbor ,另外 docker-compose down -v #关闭harbor服务

知识点3:
Harbor docker login x509 certificate signed by unknown authority
未配置Insecure Registry

知识点4:
关闭了防火墙后,无法正常启动harbor
在这里插入图片描述

知识点5:
cfssl在拉取安装时报截图中错误,主要原因是时间问题
在这里插入图片描述

知识点6:
快速查找文件中字符串
在这里插入图片描述

知识点7:
重启docker-compose时报错Can’t find a suitable configuration file xxxx。
需要进入到harbor解压的目录下执行即可。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章