摘要:
1、概述 在Docker容器中,每个容器都有一个或多个网络接口(网卡),用于连接容器内部与宿主机或其他容器进行通信。这些网络接口中的一些可能是veth pair,也就是虚拟以太网对,它们以成对的方式存在,一侧连接到容器内部,另一侧连接到宿主机的网络命名空间。veth pair 的一侧称为 "veth 阅读全文
该文被密码保护。 阅读全文
摘要:
Istio 支持通过 Envoy 代理进行分布式追踪,代理自动为其应用程序生成追踪 span,只需要应用程序转发适当的请求上下文即可。Istio 支持很多追踪系统,包括 Zipkin, Jaeger,Lightstep 和 Datadog,其中 Jaeger 目前已经成为 Istio 默认的分布式追 阅读全文
摘要:
1、简介 1.1 Jaeger是什么 Jaeger 是受到 Dapper 和 OpenZipkin 启发的由 Uber Technologies 作为开源发布的分布式跟踪系统,兼容 OpenTracing 以及 Zipkin 追踪格式,目前已成为 CNCF 基金会的 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
摘要:
1、概述 通过《浅析开源容器标准——OCI》、《浅析容器运行时》和《浅析Kubernetes CRI》这三篇博文我们了解了容器标准OCI、容器运行时以及Kubernetes CRI,在本文以当前最火的容器运行时containerd为例,讲解下它是如何运行和管理容器进程的。 在讲解containerd 阅读全文
摘要:
1、概述 健康检查(Health Check)用于检测您的应用实例是否正常工作,是保障业务可用性的一种传统机制,一般用于负载均衡下的业务,如果实例的状态不符合预期,将会把该实例“摘除”,不承担业务流量。 Kubernetes中的健康检查使用存活性探针(liveness probes)和就绪性探针(r 阅读全文
摘要:
1、概述 Kubelet 垃圾回收(kubelet-garbage-collection)负责自动清理节点上的无用镜像和容器。Kubelet 每隔 1 分钟进行一次容器清理,每隔 5 分钟进行一次镜像清理(截止到 v1.15 版本,垃圾回收间隔时间都是在源码中固化的,不可自定义配置)。如果节点上已经 阅读全文
摘要:
1、Deployment概述 Deployment 是 Kubernetes 控制器的一种高级别实现,它构建于 ReplicaSet 控制器之上,它可用于为 Pod 和 ReplicaSet 资源提供声明式更新,并能够以自动方式实现跨多个 ReplicaSet 对象的滚动更新功能。相比较来说,Pod 阅读全文
摘要:
1、概述 在 CRI 出现之前(也就是 Kubernetes v1.5 之前),Docker 作为第一个容器运行时,Kubelet 通过硬编码的方式直接调用 Docker API,进而达到一个面向终态的效果。 在这之后,又出现了一种新的容器运行时 rkt,它也想要成为 Kubernetes 支持的一 阅读全文
摘要:
1、概述 首先要明确一个知识点就是容器本质上就是一个特殊的进程,通过 Namespace 实现资源(网络、文件系统等)隔离,通过 Cgroups 实现资源(CPU、内存)限制,让我们使用起来就感觉像在操作虚拟机一样,但其和虚拟机有本质上的区别,那就是容器和宿主机是共享同一个内核的。为了将我们的应用进 阅读全文
摘要:
1、导语 容器技术火起来了以后,Docker的容器镜像和容器运行时已然成为行业的标准。此后,为了推进容器生态的健康发展。在Linux基金会的主导下,Docker和各大云厂商Google, Amazon, CloudFoundary, Microsoft积极响应于2015年成立了 "Open Cont 阅读全文
摘要:
1、概述 在Pod的spec中有一个restartPolicy字段,如下: apiVersion: v1 kind: Pod metadata: name: xxx spec: restartPolicy: Always ... restartPolicy的值有三个:Always、OnFailure 阅读全文
摘要:
1、概述 GoRoutineMap 定义了一种类型,可以运行具有名称的 goroutine 并跟踪它们的状态。它防止创建具有相同名称的多个goroutine,并且在上一个具有该名称的 goroutine 完成后的一段退避时间内可能阻止重新创建 goroutine。 使用GoRoutineMap场景: 阅读全文