1. 使用nfs共享存储搭建的pvc(此次都放在一个vpc下);
  2. harbor使用nodePort方式部署,不使用ssl;
  1. 准备工作:

    • 准备好harbor用的pvc;

    • 安装好helm,添加好可用源;

    • 因为使用的nfs创建的pvc,要给足权限,要不数据库的pod创建时会报错;

      chmod -R 777 /data/nfs-harbor/
    • 创建好harbor的namespace,以后的所有资源都创建在这个命名空间里(包括harbor用的pvc);

      kubectl create namespace harbor
  2. 下载harbor包:

    #添加harbor的helm仓库
    helm repo add harbor https://helm.goharbor.io #下载最新的harbor包
    helm pull harbor/harbor
  3. 解压tgz包,修改values.yaml文件

    #values.yaml文件很长,只需要修改一部分
    
    expose:
    type: nodePort #修改为nodePort
    tls:
    enabled: false #不使用ssl,修改为false
    ......
    externalURL: http://10.1.129.121:30002 #修改为其中一个node节点的IP+端口,以后harbor使用这个URL访问
    ......
    persistence:
    enabled: true
    resourcePolicy: "keep"
    persistentVolumeClaim:
    registry:
    existingClaim: "nfs-pvc-harbor" #修改为之前创建好的pvc
    storageClass: ""
    subPath: "registry" #修改为对应名字,以后的数据存在此目录中
    accessMode: ReadWriteOnce
    size: 5Gi
    chartmuseum:
    existingClaim: "nfs-pvc-harbor" #修改为之前创建好的pvc
    storageClass: ""
    subPath: "chartmuseum" #修改为对应名字,以后的数据存在此目录中
    accessMode: ReadWriteOnce
    size: 5Gi
    jobservice:
    existingClaim: "nfs-pvc-harbor" #修改为之前创建好的pvc
    storageClass: ""
    subPath: "jobservice" #修改为对应名字,以后的数据存在此目录中
    accessMode: ReadWriteOnce
    size: 1Gi
    database:
    existingClaim: "nfs-pvc-harbor" #修改为之前创建好的pvc
    storageClass: ""
    subPath: "database" #修改为对应名字,以后的数据存在此目录中
    accessMode: ReadWriteOnce
    size: 1Gi
    redis:
    existingClaim: "nfs-pvc-harbor" #修改为之前创建好的pvc
    storageClass: ""
    subPath: "redis" #修改为对应名字,以后的数据存在此目录中
    accessMode: ReadWriteOnce
    size: 1Gi
    trivy:
    existingClaim: "nfs-pvc-harbor" #修改为之前创建好的pvc
    storageClass: ""
    subPath: "trivy" #修改为对应名字,以后的数据存在此目录中
    accessMode: ReadWriteOnce
    size: 5Gi
    ......
  4. 安装harbor:

    helm install harbor harbor/harbor -f values.yaml -n harbor
    
    #等一会查看pod创建是否成功,默认密码为admin/Harbor12345
    kubectl get pod -n harbor #使用之前配的URL即可登录harbor页面
  5. 配置harbor镜像仓库: /

    #修改docker添加http为信任仓库
    vim /etc/docker/daemon.json "insecure-registries": ["10.1.129.121:30002"] #重启docker
    systemctl restart docker #配置用户名密码
    docker login 10.1.129.121:30002 #测试推送
    docker push 10.1.129.121:30002/k8s.gcr.io/kube-apiserver:v1.23.1

使用Helm安装harbor的更多相关文章

  1. 通过helm 安装 harbor 不成功问题处理

    helm 安装 harbor 安装不成功处理过程 通过安装脚本 helm install c7n/harbor \ --set expose.ingress.hosts.core=harbor.ls. ...

  2. kubernetes实战(十):k8s使用Helm安装harbor

    1.基本概念 对于复杂的应用中间件,需要设置镜像运行的需求.环境变量,并且需要定制存储.网络等设置,最后设计和编写Deployment.Configmap.Service及Ingress等相关yaml ...

  3. 通过helm搭建Harbor

    文章转载自:http://www.mydlq.club/article/66/ 系统环境: kubernetes 版本:1.20.1 Traefik Ingress 版本:2.4.3 Harbor C ...

  4. 1.在 Kubernetes 在快速安装 Harbor

    网址:https://www.qikqiak.com/post/harbor-quick-install/ 安装 Harbor Harbor 支持多种安装方式,源码目录下面默认有一个安装脚本(make ...

  5. 安装harbor私有镜像仓库

    有朋友安装harbor的过程中遇到很多问题,为此写一篇最简单安装harbor的文档,希望能帮助所有刚开始接触harbor的新手.harbor的架构不做探究. 实验验环境:os --> cento ...

  6. kubernetes包管理工具Helm安装

    helm官方建议使用tls,首先生成证书. openssl genrsa -out ca.key.pem openssl req -key ca.key.pem -new -x509 -days -s ...

  7. kubernetes(k8s) helm安装kafka、zookeeper

    通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...

  8. 安装Harbor

    一.安装Harbor 1. Harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Dock ...

  9. debian8安装harbor

    这里的系统版本是debian8.8,harbor版本为1.1.2. 1.安装docker-ce 1.1.Install packages to allow apt to use a repositor ...

随机推荐

  1. Python实现查询12306火车票信息

    例子来源于马哥的公众号,看了几遍,有些地方存在些疑问,然后就自己查找些资料,重写的一下,但是对于获取到的信息,并不能有效的解析出来,而且对于中文字符处理,并不是很好,请大神指教下!谢过! 1.接口设置 ...

  2. /etc/passwd详解

    root:x:0:0:root:/root:/bin/bash  bin:x:1:1:bin:/bin:/sbin/nologin  daemon:x:2:2:daemon:/sbin:/sbin/n ...

  3. linux系统别名

    目录 一:系统别名 一:系统别名 alias 格式: alias xxx='命令' alias : 查看系统别名 alias rm='xxx' : 设置系统别名 改别名 别名 执行这个命令 [root ...

  4. STC8H开发(八): NRF24L01无线传输音频(对讲机原型)

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  5. django 验证和授权

    User模型 一. User模型简介 1. 是验证和授权框架的核心模型,完整路径为:django.contrib.auth.models.User 2. 模型中拥有的字段: 1. username:用 ...

  6. FFT通过傅里叶级数图解频域补零时域内插

    在时域频域的信号分析的过程中,一个常见的说法叫:频域数据补零会让时域数据内插. 意思是在频域数据中多补几个零,再做ifft(逆傅里叶变换)后的时域数据,会变得更加"细腻",分辨率会 ...

  7. Matplotlib 3.0 秘籍·翻译完成

    原文:Matplotlib 3.0 Cookbook 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交 ...

  8. 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)

    Unicode与UTF-8互转(C语言实现):http://blog.csdn.net/tge7618291/article/details/7599902 汉字 Unicode 编码范围:http: ...

  9. storyboard文件的认识

    - 作用:描述软件界面 - 程序启动的简单过程     - 程序一启动,就会加载`Main.storyboard`文件     - 会创建箭头所指的控制器,并且显示控制器所管理的软件界面 - 配置程序 ...

  10. new方法实现原理

    new方法实现原理 完整的创建一个可用的对象:Person *p=[Person new]; new方法的内部会分别调用两个方法来完成3件事情: (1)使用alloc方法来分配存储空间(返回分配的对象 ...