![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
云原生
文章平均质量分 91
云晓DwanCloud
云晓
展开
-
浅析Resource Quota中limits计算机制
在生产环境中,通常需要通过配置资源配额(Resource Quota)来限制一个命名空间(namespace)能使用的资源量。在资源紧张的情况下,常常需要调整工作负载(workload)的请求值(requests)和限制值(limits),以确保工作负载能够顺利部署。本文将从Kubernetes源码的角度,简要分析Kubernetes如何计算Pod中的限制值(limits)对资源配额(Resource Quota)限制的影响。原创 2024-06-27 19:41:33 · 998 阅读 · 0 评论 -
Pod安全上下文与Linux Capabilities浅析
在云原生时代,Kubernetes 已经成为容器编排的事实标准,提供了强大的功能以支持各种规模和复杂度的应用部署。然而,随着 Kubernetes 在企业中的广泛应用,安全性问题也日益凸显。为了确保集群安全,我们必须对运行在 Kubernetes 中的容器和 Pod 进行严格的安全管控。Pod 安全上下文(Security Context)是 Kubernetes 提供的关键特性之一,它允许在 Pod 和容器级别设置安全相关的参数,以实现对容器的细粒度安全控制。原创 2024-04-01 12:25:29 · 1383 阅读 · 0 评论 -
ConfigMap和Secret配置Pod环境变量与热更新
在云原生应用开发和部署过程中,ConfigMap 和 Secret 是非常重要的资源对象,用于存储和管理应用程序的配置信息和敏感数据。然而,当我们更新 ConfigMap 或 Secret 的内容时,对于已经运行的 Pod,其中引用的环境变量和挂载的文件是否会自动更新呢?原创 2024-03-31 23:19:24 · 776 阅读 · 0 评论 -
Kubernetes之Projected Volume
在 Kubernetes 中,有几类特殊的 Volume,它们存在的意义不是为了存放容器里的数据,也不是用来进行容器和宿主机之间的数据交换。这些特殊 Volume 的作用是为容器提供预先定义好的数据。从容器的角度来看,这些 Volume 里的信息就好像是被 Kubernetes "投射"(Project)进入容器当中的,这就是 Projected Volume 的含义。原创 2024-03-31 22:39:25 · 897 阅读 · 0 评论 -
Kubernetes NetworkPolicy 网络策略浅析
在 Kubernetes 中,NetworkPolicy 是一种用于控制 Pod 之间网络通信的资源对象。它允许用户定义一组规则,规定哪些 Pod 可以相互通信,从而实现网络隔离和安全性。NetworkPolicy 基于标签选择器来识别应用策略的 Pod,并使用入站(Ingress)和出站(Egress)规则来控制流量,提供Pod级别和 Namespace级别网络访问控制基于标签选择器:通过标签选择器来选择应用策略的 Pod。入站和出站规则:定义允许的入站和出站流量规则。原创 2024-03-30 23:57:58 · 804 阅读 · 0 评论 -
CKS之安全沙箱运行容器:gVisor
gVisor是Google开源的一种容器沙箱技术,其设计初衷是在提供较高安全性的同时,尽量减少对性能的影响。通过创建一个用户空间内核,gVisor拦截并处理容器内应用程序的系统调用,从而实现对容器内进程与宿主机内核间交互的隔离。这种设计有效防止了恶意程序利用内核漏洞对宿主机造成影响。gVisor兼容OCI标准,可以无缝集成到Docker和Kubernetes(K8s)中,使其部署和使用变得更为便捷。:增强了容器的安全性,有效隔离了容器与宿主机内核的直接交互。原创 2024-03-30 23:42:26 · 1583 阅读 · 1 评论 -
CKS之Kubernetes审计日志
Kubernetes集群中,API Server的审计日志详细记录了用户、服务对集群资源的请求操作. 通过对API Server的审计,可以监控分析API流量,检测安全隐患.管理节点:controller-manager、scheduler工作节点:kubelet、kube-proxy集群服务:CoreDNS、Calico、HPA等客户端工具:kubectl、API、Dashboard。原创 2024-03-29 13:07:13 · 1032 阅读 · 0 评论 -
Kubernetes YAML语言入门
YAML (YAML Ain't Markup Language) 是一种人性化的数据序列化语言,创建于 2001 年。它的设计目标是方便人类读写,同时也让计算机易于解析和生成。尽管名字中带有 "YA"(Yet Another)的字样,但实际上 YAML 与 XML 有着本质上的不同。原创 2024-03-29 11:51:37 · 458 阅读 · 0 评论 -
浅析Kubernetes健康检查与优雅终止
在 Kubernetes 生态中,容器的生命周期管理和应用的优雅上下线至关重要。Kubernetes 通过 Pod 探针和生命周期钩子等机制,为容器提供了精细的健康监测和状态管理能力。Pod 探针确保只有处于健康状态的容器能够服务请求,而生命周期钩子则在容器启动和终止时执行定制化操作,从而实现应用的平滑启动和优雅终止。这些机制共同保障了应用的稳定运行和数据一致性,是 Kubernetes 高效管理容器化应用不可或缺的工具。原创 2024-03-28 21:53:26 · 1116 阅读 · 0 评论 -
Nginx官方镜像Dockerfile浅析
综上所述,exec "$@" 这行命令的作用是执行传递给入口点脚本的命令(如 nginx -g "daemon off;"),并且以这个命令为容器的主进程。这保证了容器直接运行指定服务,如 Nginx,并且当该服务停止时,容器也会停止。在设计其他镜像时,尤其是需要处理信号或需要确保容器优雅停止的场景中,使用exec "$@"可以提供类似的优势。例如,数据库镜像、Web 服务器镜像或任何长期运行的服务都可以从这种模式中受益。它确保了容器能够接收到停止信号并优雅地终止,同时也避免了资源泄漏的问题。原创 2024-03-28 15:22:31 · 2720 阅读 · 0 评论 -
CKS之容器进程分析工具:Sysdig
Sysdig 是一款集多种功能于一体的强大系统监控、分析和故障排查工具。它综合了 strace、tcpdump、htop、iftop 以及 lsof 等工具的功能,能够提供系统资源利用率、进程活动、网络连接以及系统调用等详细信息。Sysdig 不仅能够捕获大量系统运行数据,还具备强大的数据分析能力Sysdig 通过在内核中嵌入驱动模块来挂钩系统调用。这使得在系统调用执行和完成时,它能够捕获相关信息,并将其传输至一个特定的缓冲区。随后,用户空间的组件对这些数据进行处理,包括解压、解析和过滤等操作。原创 2024-03-27 20:20:58 · 498 阅读 · 0 评论 -
Calico配置路由反射器 (RR) 模式
在 Calico 网络中,默认使用 Node-to-Node Mesh 全互联模式,即集群中的每个节点之间都会相互建立 BGP 连接,用于路由交换。然而,随着集群规模的扩大,全互联模式会导致连接数成倍增加,产生性能问题。为了解决这个问题,可以使用路由反射器(Route Reflector,简称 RR)模式。在 RR 模式下,选择一个或多个 Calico 节点充当路由反射器,集中分发路由信息。其他节点作为 RR 的客户端,从 RR 节点获取路由信息,而不需要与所有其他节点建立 BGP 连接。原创 2024-03-27 19:20:25 · 1572 阅读 · 0 评论 -
CKS之镜像漏洞扫描工具:Trivy
Trivy是一款用于扫描容器镜像、文件系统、Git仓库等的漏洞扫描工具它可以发现目标软件存在的漏洞、配置错误、敏感信息等安全问题Trivy易于安装和使用,可与CI系统集成。原创 2024-03-26 21:19:58 · 926 阅读 · 0 评论 -
Docker in Docker(DinD)浅析
Docker in Docker(简称 DinD)是一种在 Docker 容器内运行 Docker 容器的技术。它允许在已经运行的 Docker 容器中再次运行 Docker 容器,从而实现嵌套的容器环境。原创 2024-03-26 13:11:14 · 1342 阅读 · 0 评论 -
Kubernetes弹性伸缩之水平扩缩容HPA
Kubernetes弹性伸缩之水平扩缩容HPA原创 2024-03-25 08:00:00 · 758 阅读 · 0 评论 -
基于Google云原生工程师的kubernetes最佳实践(三)
kubernetes最佳实践(三)原创 2024-03-24 01:35:08 · 1106 阅读 · 1 评论 -
基于Google云原生工程师的kubernetes最佳实践(二)
kubernetes最佳实践(二)原创 2024-03-24 01:28:38 · 1338 阅读 · 1 评论 -
浅析Pod调度
浅析Pod调度原创 2024-03-23 22:33:01 · 1386 阅读 · 1 评论 -
CKS之k8s安全基准工具:kube-bench
CKS之kube-bench介绍以及基础使用原创 2024-03-20 09:00:00 · 1199 阅读 · 2 评论 -
故障分析:部署在某些Node上的所有Pod无法访问svc
通过分析解决部署在某几个Node上的所有Pod无法访问svc的问题原创 2024-03-19 16:48:28 · 1273 阅读 · 1 评论 -
基于Google云原生工程师的kubernetes最佳实践(一)
基于Google云原生工程师的kubernetes最佳实践原创 2024-03-13 13:54:28 · 1018 阅读 · 0 评论 -
构建镜像Dockerfile文件优化
构建镜像Dockerfile文件优化原创 2024-03-12 23:39:06 · 1238 阅读 · 1 评论 -
Ingress Controller暴露三种常用生产实战方案
Ingress Controller暴露三种常用生产实战方案原创 2024-03-03 18:49:25 · 1034 阅读 · 0 评论 -
浅析容器技术实现原理之Cgroups
Linux Cgroups 的全称是 Linux Control Group。它最主要的作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。在 Linux 中,Cgroups 给用户暴露出来的操作接口是文件系统,即它以文件和目录的方式组织在操作系统的 /sys/fs/cgroup 路径下。原创 2024-02-28 18:03:07 · 932 阅读 · 1 评论 -
浅析容器技术实现原理之Namespace
浅析容器技术实现原理之Namespace原创 2024-02-26 12:10:26 · 1033 阅读 · 1 评论 -
浅析command、args、CMD、ENTRYPOINT之间关系
当您在 Kubernetes 中使用command和args时,请确保理解这些设置会如何影响容器的启动行为。如果您的容器依赖于 Dockerfile 中定义的ENTRYPOINT或CMD,更改这些值可能会导致容器以意外的方式运行或启动失败。总结来说,Kubernetes 中的command对应于 Docker 的ENTRYPOINT,而args对应于 Docker 的CMD,并且在 Kubernetes Pod 定义中指定这些会覆盖 Docker 镜像中的相应设置。原创 2024-02-24 08:30:00 · 2611 阅读 · 0 评论 -
多种方法修改容器应用参数
针对需要重启应用才生效的参数,且容器无法通过configmap的方式改变参数,多种方法修改容器应用参数原创 2024-02-23 12:06:28 · 1552 阅读 · 0 评论 -
如何让containerd从搭建的私有http harbor仓库拉取镜像
配置containerd从http harbor仓库拉取镜像原创 2024-02-22 21:48:18 · 2167 阅读 · 1 评论