阿里云容器镜像服务的运维总结
一、背景
容器镜像服务,作为一个可选付费产品,主要作用是存储docker的镜像仓库,供k8s拉取到Pod节点里。 你可以自己搭建一个harbor镜像仓库,在公司的开发环境下,将image推送到仓库;然后在生产k8s从仓库拉取image到本地。
如下图的方案二所示,阿里云的容器镜像服务,其实也就是一个镜像仓库。它可以被harbor/nexus等私有部署所替代。
-
方案一

-
方案二

既然是一个镜像仓库,那么需要运维的地方就和harbor类似,存储空间的治理就显得非常重要。
本文主要介绍,我们在运维阿里云镜像仓库过程中,需要主要的一些问题。
二、实例
规格选择基础版,对于我们生产环境来说,足够使用。


- 总仓库数,已使用138个
- 总命名空间,已使用3个
- OSS存储容量5.7TB,这块涉及到的OSS费用,需要引起关注。
三、仓库管理-命名空间
阿里云容器镜像仓库服务,支持你新建多个命名空间,用于支持不同镜像的部署。

四、仓库管理-镜像仓库

-
创建仓库

-
删除仓库
这一点,建议产品设计做交互的时候,向阿里云学习。点击“删除”,弹出确认删除的提示框,让你再次勾选后才触发删除。
第二步,删除后,列表的整行背景变灰,不允许用户再次去删除。并且在表格的状态列,展示“删除中”的字眼。
第三步,待服务端将该仓库删除完成,客户端界面将被删除的那行从表格里移除。
背后的技术实现,删除是异步操作,可能是以下两种:
- 客户端和服务端建立长连接,可以是websocket协议。服务端彻底删除记录后,发送ws消息推送给客户端。这样,客户端就能实时感知得到服务端的删除结果。
- 客户端采用Long Polling的http协议,相当于定期轮询服务端的操作结果,好处是不用频繁创建http连接,性能更佳。
五、仓库管理-版本管理
作为存储空间的优化重点,我们需要对镜像进行定期清理。
阿里云的策略比较简单,不会像harbor那么复杂,当然也足够受用了。


因为是但环境下的镜像仓库,所以用不上什么正则匹配。
选择保留最近构建的3个镜像,再早的就自动废弃了。
每周会跑定时任务。(具体周几的几点,阿里云对于我们使用的用户来说,都是透明的)

我这里等不及定时清理了,所以点击了一次“立即执行”,可以看到,在用的实例下成功地清理掉了671个image,总花费6分钟的时间。
这里,建议产品经理们学一下它这里是如何设计异步操作交互。
单独的一个刷新按钮,而非整个页面刷新。
清理的Tag数,会随着手动刷新而逐渐变多,直至清理状态是“已完成”。点击“查看”,可以看到清理的明细进度。
六、总结
本文主要是介绍了一下阿里云的容器镜像服务,需要主要的一些运维问题,希望可以帮助到你。
相关文章:
阿里云容器镜像服务的运维总结
一、背景 容器镜像服务,作为一个可选付费产品,主要作用是存储docker的镜像仓库,供k8s拉取到Pod节点里。 你可以自己搭建一个harbor镜像仓库,在公司的开发环境下,将image推送到仓库;然后在生产k8s从仓库拉取…...
修炼k8s+flink+hdfs+dlink(七:flinkcdc)
一 :flinkcdc官网链接。 https://ververica.github.io/flink-cdc-connectors/release-2.1/content/about.html 二:在flink中添加jar包。 在flink lib目录下增加你所需要的包。 https://kdocs.cn/join/gv467qi?f101 邀请你加入共享群「工作使用重要工具…...
排查问题流程
1、问题定义和描述: 确定问题的性质、表现和影响。 收集和整理相关的问题描述和报告。 2、问题复现: 尝试在适当的环境中重现问题。 确定问题发生的条件、步骤和触发器。 3、问题分析: 收集和分析相关的日志、错误消息或警报。 使用适当的工…...
【nlp】2.2 传统RNN模型
传统RNN模型 1 传统RNN模型1.1 RNN结构分析1.2 使用Pytorch构建RNN模型1.3 传统RNN优缺点1 传统RNN模型 1.1 RNN结构分析 结构解释图: 内部结构分析: 我们把目光集中在中间的方块部分, 它的输入有两部分, 分别是h(t-1)以及x(t), 代表上一时间步的隐层输出, 以及此时间步的…...
C/C++---------------LeetCode第49.字母异位词分组
字母异位词分组 题目及要求哈希算法在主函数内使用 题目及要求 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”…...
spark调优案例分享
做了一个Spark调优案例的分享 最近在整理了Spark相关的调优案例,并做了以下分享:spark调优案例 ,注意是Mac Keynote...
阿里达摩院开源DAMO-YOLO
1.简介 DAMO-YOLO是一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法,在实现SOTA的同时,保持了很高的推理速度。DAMO-YOLO是在YOLO框架基础上引入了一系列新技术,对整个检测框架进行了大幅的修改。具体包括…...
【异常检测小集】
目录 【2018 ICLR】DAGMM:Deep Autoencoding Gaussian Mixture Model for Unsupervised Anomaly Detection【2021 TNNLS】无名:Feature Encoding with AutoEncoders for Weakly-supervised Anomaly Detection 【2018 ICLR】DAGMM:Deep Autoen…...
Mybatis-Plus的IPage和Page
Mybatis-Plus 中的分页查询接口主要有两个:IPage 和 Page。 IPage 接口: IPage 是 Mybatis-Plus 中的分页结果集接口,它继承了 Mybatis 的 RowBounds 接口,提供了一系列的分页查询方法。该接口主要用于返回分页后的数据结果。 Pa…...
jupyter lab常用插件集合
❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...
centos 6.10 安装 boost 1.78.0
下载地址 找到对应的版本,下载源码,而不是二进制文件。 解压文件 cd boost_1_78_0 ./bootstrap.sh ./b2 install -perfix /usr/local/boost1.78.0/...
Vue 3.0 + vite + axios+PHP跨域问题的解决办法
最后一个Web项目,采用前后端分离。 前端:Vue 3.0 viteelement plus 后端:PHP 运行时前端和后端是两个程序,前端需要时才向后端请求数据。由于是两个程序,这就会出现跨域问题。 比如前端某个地方需要请求的接口如下…...
软件外包开发的开发文档
软件开发文档是一个重要的工具,用于记录和传达项目信息,帮助开发团队和利益相关者理解项目的各个方面。以下是一般性的软件开发文档编写格式,不同组织和项目可能有所不同,但这些通用准则可以帮助确保文档的清晰性和易读性…...
如何清理C盘文件
设置-系统-存储 在里面处理 搜索磁盘清理 然后选择系统文件,清理windows old等乱七八糟的东西 转移虚拟内存 关闭系统休眠功能 【管理员:命令提示符】窗口,输入命令:powercfg -h off,然后回车就可以关闭系统休眠…...
从测试的角度看待南航机票bug事件
事件描述 11月8日晚间,多名消费者反映南方航空多条成都进出港航线票价(不含机建燃油费)低至10元、20元、30元不等。上述超低价机票不仅在南方航空App可以购买,多家在线旅游平台也都能抢到。 11月9日,南航官方发布公告…...
通过 dump 虚拟机线程方法栈和堆内存来分析 Android 卡顿和 OOM 问题
作者:Tans5 Android 中的性能问题无非就是卡顿和 OOM,虽然总体就这两种,但是造成这两种性能问题的原因却是非常多,需要具体的原因具体分析,而且这是非常复杂的。本篇文章只是简单介绍如何找到造成这些问题的直接原因的…...
layui 框架的upload上传文件的data参数传到后端的方法
因为特殊性,upload.render初始化的data:{id:"sss"}不能传参到后台。 经过大量测试及参数网上方法,才发现,需要特殊处理: 1、如果直接给{id:"sss"}无效,但如果在before里,this.data.i…...
Java虚拟机的垃圾回收机制
Java虚拟机的垃圾回收机制 Java语言会对程序运行过程中产生的垃圾进行自动回收,不需要我们手动地写语句主动地对垃圾进行回收。 什么是垃圾? 在C语言中不再被使用的内存空间被称为垃圾,因为在C语言中如果我们使用到一些自定义类型的结构体&am…...
时间序列基础->数据标签、数据分割器、数据加载器的定义和讲解(零基础入门时间序列)
一、本文介绍 各位小伙伴好,最近在发时间序列的实战案例中总是有一些朋友问我时间序列中的部分对数据的操作是什么含义,我进行了挺多的介绍和讲解但是问的人越来越多,所以今天在这里单独发一篇文章来单独的讲一下时间序列中对数据的处理操作…...
【图论】最小生成树(python和cpp)
文章目录 一、声明二、简介三、代码C代码Python代码 一、声明 本帖持续更新中如有纰漏望指正! 二、简介 (a)点云建立的k近邻图(b)k近邻图上建立的最小生成树 最小生成树 (Minimum Spanning Tree,简称 M…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
