K8s: 公有镜像中心和私有镜像中心的搭建

2024-04-27 05:04

本文主要是介绍K8s: 公有镜像中心和私有镜像中心的搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

公有镜像中心的搭建和使用


1 )在 官方docker镜像中心推送

  • 在 hub.docker.com 上注册账号 (国内一般访问不了,原因不多说)

  • 找到 Create Repository 按钮就行仓库的创建

  • 这样就在官方创建了一个仓库,比如地址为: xx/y-y

    • xx 是我的账户名
    • y-y 是刚创建的仓库名
  • 现在,我将本地的docker镜像,推送到这个仓库里

    • 没有登录过,先使用 docker login 进行登录
    • 假设本地的 nginx:latest 镜像,现在我要对其进行打一个新的tag
    • $ docker tag nginx xx/y-y:latest
    • 之后,将其推送到远程
    • $ docker push xx/y-y:latest
  • 如果 hub.docker.com 在国内无法访问,可以在阿里云上创建 docker hub

  • 为官方docker镜像中心加速

  • 配置国内 Docker 镜像源 $ vi /etc/docker/daemon.json

    {"registry-mirrors": ["https://registry.docker-cn.com"],"live-restore": true
    }
    
  • 配置之后,需要重启 $ systemctl restart docker

2 )在阿里云docker镜像中心搭建

  • 在阿里云控制台,选择 容器镜像服务
  • 为何选择阿里云,因为当你下载的时候,会走cdn来加速
  • 进入实例列表,有两种,个人版和企业版本
  • 可以选择个人版实验一下,创建后,在 仓库管理/镜像仓库即可进行管理

搭建私有镜像中心

  • 我们现在用的私有docker镜像中心是JCR,也就是 JFrog Container Registry
  • 这个和开源的harbor有点类似,但是这个比harbor更加的好用,更加的强大
  • 因为它不仅能管这个通用仓库,还有helm仓库,harbor是没有通用类型仓库的

整体架构图如下

  • docker client 连接的是 JCR, JCR 一般连的是 docker.io/library 这个远程
  • JCR 是部署在本地私有环节中的, JCR 对外除了连接官方的,还可以连接阿里云容器服务
  • JCR 在这里做了一个远程代理的作用,JCR里面可以有多种不同的仓库

安装 JCR (JFrog Container Registry)

  • 在 master 节点上执行以下命令
    • 设置环境变量
      • $ vi ~/.bash_profile 增加 JFROG_HOME 环境变量
        export JFROG_HOME=~/jfrog
        
      • $ source ~/.bash_profile 生效
    • 设置目录和文件
      • $ sudo mkdir -p $JFROG_HOME/artifactory/var/etc
      • $ cd $JFROG_HOME/artifactory/var/etc
      • $ sudo touch ./system.yaml
      • $ sudo chown -R 1030:1030 $JFROG_HOME/artifactory/var
      • $ sudo chmod -R 777 $JFROG_HOME/artifactory/var
    • 运行docker
      • docker 镜像可以先行下载,比较大
      • $ docker pull releases-docker.jfrog.io/jfrog/artifactory-jcr:latest
        • 注意,这个镜像在 Mac 上正常运行,在 centos 9 上会有问题
        • 如果在 c9 上运行,按照官方下载 jcr 版本的 Linux版自行安装, 不再赘述
      • $ docker run --name artifactory-jcr -v $JFROG_HOME/artifactory/var/:/var/opt/jfrog/artifactory -d -p 8081:8081 -p 8082:8082 releases-docker.jfrog.io/jfrog/artifactory-jcr:latest
      • $ sudo docker ps | grep jcr 查看运行状态
      • 在Mac客户端浏览器上访问master节点上的服务 master.k8s:8081
        • 在访问前,可能需要先等一会儿

这篇关于K8s: 公有镜像中心和私有镜像中心的搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939581

相关文章

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Java 单元测试之Mockito 模拟静态方法与私有方法最佳实践

《Java单元测试之Mockito模拟静态方法与私有方法最佳实践》本文将深入探讨如何使用Mockito来模拟静态方法和私有方法,结合大量实战代码示例,带你突破传统单元测试的边界,写出更彻底、更独立... 目录Mockito 简介:为什么选择它?环境准备模拟静态方法:打破“不可变”的枷锁传统困境解法一:使用M