Harbor设置https访问

Harbor安装参考
https://www.cnblogs.com/minseo/p/8905736.html

  1. 在Harbor设置https证书
    修改harbor配置文件,根据解压到对应的目录
# /opt/harbor/harbor.yaml

image
设置好重新安装一下使配置生效

# ./install.sh

设置好之后浏览器使用https访问
假设域名是harbor.test.com

https://harbor.test.com

客户端登录和pull使用域名即刻不需要加https
则登录docker使用以下命令

# docker login harbor.test.com
  1. 在Nginx设置反向代理
    如果在Nginx设置反向代理则不能在harbor设置https证书,如果在nginx和harbor配置文件都设置了https证书则访问会出现多重定向的问题导致无法访问
INFO[0010] Error logging in to endpoint, trying next endpoint  error="Get \"https://harbor.test.com:443/v2/\": stopped after 10 redirects"

本次使用Ingress反向代理,svc和ingress配置文件如下

# cat harbor-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: harbor-outside-svc # Service的名称,跟Endpoints名称保持一致
spec:
  type: NodePort # Service的类型,需要对外提供服务的话,使用NodePort,如不需要外部访问,只限于内部访问,则使用ClusterIP
  ports:
  - name: out-agent-port # 端口名称,跟Endpoints的端口名称保持一致
    port: 80 #集群內部访问端口
    nodePort: 42008 # 对外提供服务的端口,仅NodePort模式下生效
    protocol: TCP # 协议类型
  sessionAffinity: None
---
apiVersion: v1
kind: Endpoints 
metadata:
  name: harbor-outside-svc # Endpoints的名称,跟Service名称保持一致
subsets:
- addresses:
  - ip: 192.168.3.11 # 需要被代理出去的服务器的IP,即我们上面部署了httpd服务的IP
  ports:
  - port: 80 # httpd服务的端口
    protocol: TCP # 协议类型,需要跟Service的保持一致
    name: out-agent-port # 端口名称,跟Service的端口名称保持一致

ingress配置文件

# cat harbor-ingress.yaml 
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  generation: 1
  name: harbor-ingress
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 4096m
spec:
  rules:
  - host: harbor.test.com
    http:
      paths:
      - backend:
          serviceName: harbor-outside-svc
          servicePort: 80
        path: /
  tls:
  - hosts:
    - harbor.test.com
    secretName: test.com

应用配置文件

# kubectl apply -f harbor-svc.yaml
# kubectl apply -f harbor-ingress.yaml

访问和上面配置访问是一样的

可以使用https加域名访问,在内网也可以使用http加ip地址访问,如果使用http访问则需要设置以下信息

# cat /etc/docker/daemon.json 
{
          "insecure-registries": ["192.168.3.61"]
}
posted @   minseo  阅读(475)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2023-05-15 将CSV导入到MySQL数据库
2021-05-15 Zabbix5之二:Zabbix监控项配置详解
2021-05-15 Zabbix5之一:Zabbix5的安装部署
2020-05-15 使用Docker和K8s搭建FastDFS分布式文件系统
2019-05-15 Saltstack之使用salt安装es6.0以上的head插件
2017-05-15 Python之JSON序列
点击右上角即可分享
微信分享提示