搭建自己的多平台镜像站

news2024/10/6 12:26:19
# 1. 拉取代码
$ git clone https://github.com/wzshiming/crproxy.git
$ cd crproxy/examples/default

# 2. 修改网关域名
使用vim编辑start.sh文件,将第五行的gateway变量值修改为你自己设定的域名。
原:gateway=cr.zsm.io 
修改为:gateway=XS.rapha.top #改成你自己的域名

# 3. 启动服务
$ ./start.sh

# 4. 拉取镜像示例
如果域名为xs.rapha.top,可以通过添加前缀的方式拉取镜像
$ docker pull xs.rapha.top/registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1

# 5. 设置别名
如果需要使用前缀替换方式拉取镜像,需要执行setup-alias.sh脚本,并为别名申请证书。

# 6. 重启服务
$ ./reload.sh

这个方式在k8s中不太实用。

推荐别名方式

第一个参数前缀替换的域名 第一个参数是源站的域名 第三个参数是在start.sh脚本里配置的网关域名

./setup-alias.sh k8s-gcr.rapha.top k8s.gcr.io xs.rapha.top

为别名申请证书
update-tls.sh k8s-gcr.rapha.top

最后这样

GETEWAY=rapha.top
DM=xs.rapha.top

./setup-alias.sh docker.${GETEWAY} docker.io ${DM}
./setup-alias.sh gcr.${GETEWAY} gcr.io ${DM}
./setup-alias.sh ghcr.${GETEWAY} ghcr.io ${DM}
./setup-alias.sh k8s-gcr.${GETEWAY} k8s.gcr.io ${DM}
./setup-alias.sh k8s.${GETEWAY} registry.k8s.io ${DM}
./setup-alias.sh quay.${GETEWAY} quay.io ${DM}

./update-tls.sh docker.${GETEWAY}
./update-tls.sh gcr.${GETEWAY}
./update-tls.sh ghcr.${GETEWAY}
./update-tls.sh k8s-gcr.${GETEWAY}
./update-tls.sh k8s.${GETEWAY}
./update-tls.sh quay.${GETEWAY}

#重启服务
./reload.sh

k8s中使用

apiVersion: v1
kind: Namespace
metadata:
  name: registry-proxy

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: registry-proxy
  namespace: registry-proxy

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: registry-proxy
rules:
- apiGroups: [""]
  resources: ["namespaces", "configmaps", "secrets"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: ["admissionregistration.k8s.io"]
  resources: ["mutatingwebhookconfigurations"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: registry-proxy
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: registry-proxy
subjects:
- kind: ServiceAccount
  name: registry-proxy
  namespace: registry-proxy

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: registry-proxy
  namespace: registry-proxy
spec:
  selector:
    matchLabels:
      app: registry-proxy
  template:
    metadata:
      labels:
        app: registry-proxy
    spec:
      serviceAccountName: registry-proxy
      containers:
      - name: registry-proxy
        image: registry.cn-hangzhou.aliyuncs.com/ketches/registry-proxy:v1.2.0
        imagePullPolicy: Always
        resources:
          requests:
            memory: "64Mi"
            cpu: "50m"
          limits:
            memory: "256Mi"
            cpu: "200m"
        ports:
        - containerPort: 443

---
apiVersion: v1
kind: Service
metadata:
  name: registry-proxy
  namespace: registry-proxy
spec:
  selector:
    app: registry-proxy
  ports:
  - port: 443
    targetPort: 443
  type: ClusterIP

会生成一个configmap

#编辑
 kubectl edit cm -n registry-proxy registry-proxy-config
添加你域名

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1816204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

go语言 | 快速生成数据库表的 model 和 queryset

就是生成 model 目录的 xxx.go 和 xxx_gen.go 文件 使用的工具: 快速生成 model:gentool:https://github.com/go-gorm/gen/tree/master/tools/gentool 根据 model 生成 queryset:go-queryset:https://github.com/jirfa…

layuimini框架实现点击菜单栏回到起始页

在layui页面中,如果使用了 window.location.href""进行了页面跳转,再点击菜单栏是不会显示起始页,而是跳转后的页面, 解决: 在miniTab.js文件中找到:listen方法 将其中修改为: if …

全球首创4090推理!昆仑万维开源Skywork-MoE模型

昆仑万维近期宣布开源了其2千亿参数规模的稀疏大模型Skywork-MoE。这个模型是基于他们之前开源的Skywork-13B模型中间checkpoint扩展而来的,并且宣称是首个完整应用MoE Upcycling技术的开源千亿MoE大模型。此外,它也是首个支持使用单台RTX 4090服务器&am…

MyBatisPlus代码生成器(交互式)快速指南

引言 本片文章是对代码生成器(交互)快速配置使用流程,更多配置方法可查看官方文档: 代码生成器配置官网 如有疑问欢迎评论区交流! 文章目录 引言演示效果图引入相关依赖创建代码生成器对象引入Freemarker模板引擎依赖支持的模板引擎 MyBat…

Day 20:2806. 取整购买后的账户余额

Leetcode 2806. 取整购买后的账户余额 一开始,你的银行账户里有 100 块钱。 给你一个整数purchaseAmount ,它表示你在一次购买中愿意支出的金额。 在一个商店里,你进行一次购买,实际支出的金额会向 最近 的 10 的 倍数 取整。换句…

【QT5】<总览二> QT信号槽、对象树及常用函数

文章目录 前言 一、QT信号与槽 1. 信号槽连接模型 2. 信号槽介绍 3. 自定义信号槽 二、QT的对象树 三、添加资源文件 四、样式表的使用 五、QSS文件的使用 六、常用函数与宏 前言 承接【QT5】<总览一> QT环境搭建、快捷键及编程规范。若存在版…

Python使用tkinter库设置背景图片、label显示位置和label设置显示图片

tkinter 设置背景图片 label显示位置 label设置显示图片 from tkinter import * import tkinter as tk from PIL import ImageTk from PIL import Imagedef get_img(filename, width, height):im Image.open(filename).resize((width, height))im ImageTk.PhotoImage(im)…

网络仿真方法综述

目录 1. 引言 2.仿真器介绍 2.1 NS-2 2.2 NS-3 2.3 OPNET 2.4 GNS3 3.仿真对比 4.结论 参考文献 1. 引言 网络仿真是指使用计算机模拟网络系统的行为和性能的过程。在网络仿真中,可以建立一个虚拟的网络环境,并通过模拟各种网络设备、协议和应用程…

this关键字,构造函数(构造器)

文章目录 thisthis是什么应用场景 构造器注意事项代码演示 this this是什么 this就是一个变量,可以在方法中,拿到当前对象 应用场景 解决变量名称 冲突问题 构造器 注意事项 必须和类名相同没有返回值只要参数不同(个数不同&#xff0…

【C语言】10.操作符详解

一、操作符分类 • 算术操作符&#xff1a; 、- 、* 、/ 、% • 移位操作符: << 、 >> • 位操作符: & 、|、^、 ~ • 赋值操作符: 、 、 - 、 、 / 、% 、<< 、>> 、& 、| 、^ • 单目操作符&#xff1a; &#xff01;、、–、&、、、…

postman教程-20-Newman安装入门

上一小节我们学习了Postman mock测试的方法&#xff0c;本小节我们讲解一下Postman Newman的安装方法。 Newman是Postman团队开发的一个命令行工具&#xff0c;它允许用户通过命令行接口&#xff08;CLI&#xff09;运行Postman集合&#xff08;Collections&#xff09;和环境…

样式的双向绑定的2种方式,实现样式交互效果

与样式标签实现双向绑定 通过布尔值来决定样式是出现还是消失 show代表着布尔值&#xff0c;show的初始值是false所以文本不会有高亮的效果&#xff0c;当用户点击了按钮&#xff0c;就会调用shows这个函数&#xff0c;并将show的相反值true赋值并覆盖给show,此时show的值为tru…

0602 差分式放大电路

差分式放大电路 差分放大电路的基本概念直接耦合放大电路中的零点漂移 6.2.1 差分式放大的基本概念 6.2.2 直接耦合放大电路中的零点漂移 6.2.3 BJT射极耦合差分式放大电路 差分放大电路的基本概念 直接耦合放大电路中的零点漂移

.NET Core 服务注册步骤总结

总结一下 .NET Core 服务注册的步骤&#xff1a; .NET Core Web Api 项目服务注册步骤&#xff1a; 创建一个接口&#xff0c;和实现类 比如&#xff1a;IMyService, CnService 在 Program.cs 的 var app builder.Build(); 语句之前加上&#xff1a; var builder WebApplic…

鸿蒙开发:【线程模型】

线程模型 线程类型 Stage模型下的线程主要有如下三类&#xff1a; 主线程 执行UI绘制。管理主线程的ArkTS引擎实例&#xff0c;使多个UIAbility组件能够运行在其之上。管理其他线程的ArkTS引擎实例&#xff0c;例如使用TaskPool&#xff08;任务池&#xff09;创建任务或取消…

使用 PNPM 从 0 搭建 monorepo,测试并发布

1 目标 通过 PNPM 创建一个 monorepo&#xff08;多个项目在一个代码仓库&#xff09;项目&#xff0c;形成一个通用的仓库模板。 这个仓库既可以用于公司存放和管理所有的项目&#xff0c;也可以用于将个人班余的所有积累整合其中。 2 环境要求 核心是 PNPM 和 Node.js&…

SpringAI调用OpenAI Demo

Spring AI 在maven的setting.xml <mirror> <id>spring-milestones</id> <name>Spring Milestones</name> <mirrorOf>spring-milestones</mirrorOf> <url>https://repo.sprin…

RV32A\CSR\Counters 指令集

RV32A\CSR\Counters指令集 一、RV32A指令集1、Load-Reserved/Store-Conditional InstructionsLR.WSC.W2、Atomic Memory OperationsAMOSWAP.WAMOADD.WAMOAND.WAMOXOR.WAMOOR.W二、CSR(Control and Status Register) 指令集CSRRWCSRRSCSRRCCSRRWICSRRSICSRRCI三、"Zicntr…

uniapp上传头像并裁剪图片

第一步写上uniapp自带的选择图片button按钮 点击之后会弹出选择图片的方式 拍照或从相册选择图片后将会跳到图片裁剪 然后我们裁剪完之后点击确定在上传图片 这里是上传图片的接口 拿到本地图片 上传的话自己想以那种方式上传都可以

Multimodal Dynamics:用于多模态融合背景下的分类

Multimodal Dynamics&#xff08;MD&#xff09;是可信赖的多模态分类算法&#xff0c;该算法动态评估不同样本的特征级和模态级信息量&#xff0c;从而可信赖地对多模态进行融合。 来自&#xff1a;Multimodal Dynamics: Dynamical Fusion for Trustworthy Multimodal Classi…