• 【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor


    私有仓库Harbor

    https://goharbor.io/
    内容学习于马士兵云原生课程

    Harbor部署

    部署docker及docker-compose

    获取Harbor安装文件

    https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
    tar -zxvf harbor-offline-installer-v2.4.1.tgz
    
    • 1
    • 2

    在这里插入图片描述

    在这里插入图片描述

    获取TLS文件

    云服务器厂商,即可申请

    #-bash: unzip: 未找到命令
    yum -y install unzip zip
    
    #解压证书
    unzip 6864844_kubemsb.com_nginx.zip 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    #移动证书文件到harbor目录下
    mv 68* ./harbor
    
    • 1
    • 2

    在这里插入图片描述

    修改harbor配置文件

    #修改配置文件名
    mv harbor.yml.tmpl harbor.yml
    
    #安装vim
    yum -y install vim*
    #编辑配置文件
    #修改证书path
    #修改域名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    执行预备脚本

    ./prepare
    
    • 1

    在这里插入图片描述

    执行安装脚本

    ./install.sh
    
    • 1

    在这里插入图片描述

    验证运行情况

    在这里插入图片描述

    测试访问

    #用户名密码在,harbor.yml中配置
    admin
    Harbor12345
    
    • 1
    • 2
    • 3

    配置域名解析,使用域名访问则是安全的
    在这里插入图片描述
    在这里插入图片描述

    Docker使用Harbor

    修改docker daemon.json配置文件

    #增加如下内容
    "insecure-registries": ["www.kwzone.cloud"]
    
    • 1
    • 2

    在这里插入图片描述

    #重启加载daemon配置
    systemctl daemon-reload
    #重启docker
    systemctl restart docker
    
    #重启之后,发现harbor服务只有5个,正常为9个
    #重启harbor服务
    #停止并删除容器
    docker-compose down
    #后台启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述
    在这里插入图片描述

    镜像推送拉取

    #镜像打标记
    docker tag centos:latest www.kwzone.cloud/library/centos:v1
    
    • 1
    • 2

    在这里插入图片描述

    #登录harbor仓库
    #不加域名,默认是登录到docker hub
    docker login www.kwzone.cloud
    
    #推送镜像到harbor容器仓库
    docker push www.kwzone.cloud/library/centos:v1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    在这里插入图片描述
    查看harbor
    在这里插入图片描述
    拉取镜像

    docker pull www.kwzone.cloud/library/centos@sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
    #或者直接
    docker pull www.kwzone.cloud/library/centos:v1
    
    • 1
    • 2
    • 3

    KubeSphere使用Harbor

    测试Harbor是否可用

    #在k8s宿主机,测试harbor服务是否可用
    docker pull www.kwzone.cloud/library/centos:v1
    
    • 1
    • 2

    配置镜像仓库密钥

    这里使用的是免费证书 ,直接可以验证成功;

    如果使用的是自建证书,则不会校验成功,需要先挂载自建证书到ks-apiserver
    参考:https://mp.weixin.qq.com/s/Y8eCArLuiHEEZCSk-frSFw

    在这里插入图片描述

    创建工作负载-使用Harbor

    虽然验证成功,但是搜索镜像报错
    在这里插入图片描述

    Get "https://www.kwzone.cloud/v2/library/centos/manifests/v2": dial tcp: lookup www.kwzone.cloud on 10.96.0.10:53: no such host
    
    • 1

    因为是使用的非公网域名,所以k8s集群内部Pod无法识别这个域名.

    解决方法:需要配置域名解析

    #kubectl edit cm -n kube-system coredns
    #192.168.8.88为harbor服务所在主机
    
    #增加如下配置
    hosts {
      192.168.8.88 www.kwzone.cloud
      fallthrough
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    测试成功
    在这里插入图片描述

  • 相关阅读:
    简单对比Java、Python、Go、Rust等常见语言计算斐波拉契数的性能
    离线部署 python 3.x 版本
    牛市源码定制,抖音矩阵系统源头开发,here
    SwiftUI Bluetooth 使用
    java计算机毕业设计综合测评系统源码+数据库+系统+部署+lw文档
    TCP/IP模型原理(理论)
    可以动态改变刻度背景色的车速仪表盘
    JUC下的常用类
    c++中利用指针或应用如何安全的获取数据
    潮流计算专栏
  • 原文地址:https://blog.csdn.net/qq_36762765/article/details/132654958