《自己动手写Docker》书摘之二: Linux Cgroups
Linux Cgroups介绍 上面是构建Linux容器的namespace技术,它帮进程隔离出自己单独的空间,但Docker又是怎么限制每个空间的大小,保证他们不会互相争抢呢?那么就要用到Linux的Cgroups技术。
Quartz与Spring集成 Job如何自动注入Spring容器托管的对象
在Spring中使用Quartz有两种方式实现:第一种是任务类继承QuartzJobBean,第二种则是在配置文件里定义任务类和要执行的方法,类和方法可以是普通类。很显然,第二种方式远比第一种方式来的灵活。
如何实现Docker应用的自定义弹性伸缩
简介 现在有很多客户很关心应用的自动弹性伸缩,有些客户也有自己的监控框架,并希望能跟阿里云容器服务进行集成。阿里云容器服务提供了服务弹性伸缩触发器,并能够跟监控框架集成来实现自定义的服务自动弹性伸缩。 阿里云容器服务会自动采集容器的监控数据,并可以通过集成将监控数据发送到三方的监控框架中。有了监
DevOps与阿里云容器服务(二)
## 前言 在本文中,将会通过一个简单的例子来介绍使用阿里云容器服务进行containerOps的实践与经验。 ## 第一个E2E的containerOps的例子 从DevOps的角度来讲,最核心的本质是从开发到部署的流程。传统的DevOps的流程大致的步骤如下。
registry逻辑解析:启动与配置加载
Docker社区中有丰富的文档介绍,registry如何使用,但对于registry内部的处理逻辑却鲜有人知。下面对于registry的代码进行了一些阅读,下文将讲述registry的一些关键逻辑。 首先,是启动过程。参照下图:
docker进入容器
进入容器的三种方式: sshd nsenter exec sshd 在容器中开启一个SSHD的服务,通过SSH的协议登录到容器中,把容器看出一个vm nsenter: nsenter包含在util-linux包中,用来进入一个进程的Namespace 获取一个容器的进程ID: docker inspect --format "{{ .
【赵渝强老师】Kubernetes中Pod的调度策略
Kubernetes中Pod的调度是指将Pod分配到最合适的Node节点上运行。默认情况下,调度器根据资源需求和均衡策略自动选择节点。在特殊场景下,用户可通过nodeName和nodeSelector字段指定调度约束。本文详细介绍了Pod的创建过程及调度机制,并通过示例演示了如何使用nodeName和nodeSelector实现自定义调度策略。
基于虚拟服务配置的渐进式迁移实践:Istio集群至ASM集群的平滑切换
本文介绍了从Istio+k8s环境迁移到阿里云ASM+ACK环境的渐进式方法,通过配置虚拟服务和入口服务实现新老集群间的服务调用与流量转发,确保业务连续性与平滑迁移
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
使用WASM插件扩展ASM中监控指标的维度信息
ASM提供多个内置监控指标及其维度,帮助用户了解应用运行状态。本文介绍如何通过WASM插件为ASM的监控指标添加自定义维度,如将请求头中的user-name解码后作为新维度加入istio_requests_total指标中,以实现更精细的监控与分析。
Fluid支持分层数据缓存本地性调度(Tiered Locality Scheduling)
依赖容器化带来的高效部署、敏捷迭代,以及云计算在资源成本和弹性扩展方面的天然优势,以 Kubernetes 为代表的云原生编排框架吸引着越来越多的 AI 与大数据应用在其上部署和运行。但是数据密集型应用计算框架的设计理念和云原生灵活的应用编排的分歧,导致了数据访问和计算瓶颈。 CNCF开源项目Fluid作为 AI 与大数据云原生应用提供一层高效便捷的数据抽象,将数据从存储抽象出来,针对具体的场景(比如大模型),加速计算访问数据。
最强swarm集群一键部署+氢弹级容器管理工具介绍
k8s越来越重!越来越重!越来越重………… 大版本一年更新两三个!不算周边生态的更新迭代! 不过也好,催生出不少k8s运维工程师的岗位,薪资待遇还不错! 之前一直在跟大家聊k8s也实时更新了其重要版本的一键部署脚本!最起码让大家入门不至于那么困难!
Docker 可以通过创建多个容器,分别部署 Linux、Nginx、MySQL 和 PHP 等组件,为什么不可以一个容器包含所有呢?底层原理是什么?
Docker 可以通过创建多个容器,分别部署 Linux、Nginx、MySQL 和 PHP 等组件,为什么不可以一个容器包含所有呢?底层原理是什么?
Docker 镜像(image)& 容器(container)
什么是 Docker 镜像(image)? 镜像由多个层组成,每层叠加之后,从外部看来就如一个独立的对象; 镜像内部是一个精简的操作系统(OS),同时还包含应用运行所必须的文件和依赖包; 镜像可以运行一个或多个容器,同时镜像也可以停止某个容器的运行,并从中创建新的镜像;【镜像(iamge)的分类】...
影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入
使用过NAS(Network Attached Storage)的朋友都知道,它可以通过局域网将本地硬盘转换为局域网内的“网盘”,简单理解就是搭建自己的“私有云”,但是硬件和网络成本都太高了,有点可望而不可及的意思。Alist开源库则可以满足我们,它能将公共网盘反过来变成一种联网的本地硬盘,使用Web页面来统一挂载和管理,网盘类型包含但不限于:百度网盘、阿里云盘、迅雷网盘等等。
【C++要笑着学】list 常用接口介绍 | 支持任意位置O(1)插入删除的顺序容器 list(二)
一听 list ,我们就知道是个双向带头循环链表。list 在实际的运用中用的没有 vector 多,包括大家在刷题的时候 list 也出现的很少,因为 list 不支持随机访问,有很多数据堆在那里你可能还需要排序一下,list 要排序,就是一个大问题,所以用 vector 的情况较多。
【云原生 | 从零开始学Kubernetes】十三、k8s的容器探测以及启动探测
许多应用程序经过长时间运行,最终过渡到无法运行的状态,除了重启,无法恢复。通常情况下,K8S 会发现应用程序已经终止,然后重启应用程序 pod。有时应用程序可能因为某些原因(后端服务故障等)导致暂时无法对外提供服务,但应用软件没有终止,导致 K8S 无法隔离有故障的 pod,调用者可能会访问到有故障的 pod,导致业务不稳定。K8S 提供 livenessProbe 来检测容器是否正常运行,并且对相应状况进行相应的补救措施。
Longhorn,企业级云原生容器分布式存储 - 支持 ReadWriteMany (RWX) 工作负载(实验性功能)
Longhorn,企业级云原生容器分布式存储 - 支持 ReadWriteMany (RWX) 工作负载(实验性功能)
史上最全的Java容器集合之基础数据结构(手撕链表)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
(1)将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署
(1)将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署 第一步 环境准备,安装docker环境:
Kubernetes容器监控原理与源码分析(一)——API与数据来源
## 前言 本系列主要基于v1.24.0版本的Kubelet部分源代码,进行Kubernetes中容器监控的底层原理介绍与代码分析。 ## Kubelet中的监控API 在Kubelet Server提供的监控API中,大致可以分为两类:stats(统计数据)和metrics(指标数据)。从命名和实际作用来看,前者提供了粗粒度的基础监控能力,目前用于各种内置组件;而后者用于持久化地进行细粒度的容器
Spring基于注解配置的容器
Spring 容器的元数据可以基于注解配置,它比 XML 配置更简洁,而且提供了更多的上下文配置。 两种配置方式各有优缺点,XML 配置不会侵入源代码,配置修改后不需要重新编译源文件。 你可以在项目中任意选择哪种配置方式,或者两者混合使用。