1、PostgreSQL 容器化与云服务张连壮青云科技&PostgreSQL Leader容器化容器化的原理与实现&容器化完整运行组件&PostgreSQL容器化的实现云服务PostgreSQL云服务的实现multi_platform_postgresql支持 K8S 与 云服务 双平台的PostgreSQL operator容器化与云服务容器化容器化的原理与实现什么是容器容器是一种虚拟化技术,用于将应用程序及其所有依赖项打包在一个独立的容器中,以便能够在不同的计算环境中运行。容器技术的一些关键特点和概念:隔离性:容器提供了应用程序级别的隔离,确保一个容器中的应用程序不会干扰或影响其他容器中的应用
2、程序。这种隔离可以解决依赖冲突和安全性问题。轻量级:容器是轻量级的,因为它们共享主机操作系统的内核。这降低了资源开销,使容器在启动和停止方面非常快速。可移植性:容器可以在不同的计算环境中运行,无论是本地开发环境、云计算平台还是物理服务器。提供了一种一致的方式来部署应用程序,无需担心环境差异。自包含:容器包含了应用程序及其所有依赖项,包括库、配置文件和运行时环境。这使得容器变得自包含,应用程序的部署更加可预测和一致。管理工具:容器技术通常与容器编排工具(例如Docker Swarm、Kubernetes等)结合使用,以便自动化进行容器的部署、扩展和管理。Docker 是容器技术中最广泛使用的工具
3、之一,它使容器的创建和管理变得相对简单。容器技术已经在软件开发、持续集成和持续交付(CI/CD)、微服务架构等领域广泛应用,有助于简化应用程序的部署和维护。容器技术底层实现命名空间(Namespaces):Linux 内核使用不同的命名空间来隔离各种系统资源,如进程、网络、文件系统等。每个容器拥有自己的命名空间,使其看起来像一个独立的操作系统。控制组(Cgroups):Cgroups 允许限制和控制容器内资源的使用,包括 CPU、内存、磁盘和网络带宽等。这有助于确保容器之间不会相互干扰。容器的镜像OCI:Linux 容器镜像的标准规范由 Open Container Initiative(OC
4、I)维护和制定,OCI 是一个开放的标准组织,旨在定义容器运行时和容器镜像的标准规范。镜像是一个合集,包含操作系统的文件、配置和目录,但并不包括操作系统内核。在容器进程启动之前使用chroot重新挂载它的整个根目录/。所以同一台机器上的所有容器,都会共享宿主机操作系统的内核。docker&CRIDocker 和 Container Runtime Interface(CRI)是两个不同但相关的概念,它们在容器生态系统中扮演不同的角色。Docker:Docker 是一种完整的容器化平台,包括容器运行时(container runtime)、容器镜像、容器编排和管理工具。Docker 使用自己的容
5、器运行时运行镜像。Docker是最流行容器的工具。CRI(Container Runtime Interface):CRI 是一个开放标准,定义了容器运行时(container runtime)与容器编排系统之间的接口。它的目的是将容器编排系统(如Kubernetes)与容器运行时(如Docker、containerd、CRI-O等)解耦,使得容器编排系统可以支持多种不同的容器运行时。Docker只支持自己。CRI 可以支持多个容器运行时,包括 Docker、containerd、CRI-O 等。docker&CRI因为 OCI 镜像标准的规范,不论是docker还是CRI 的containe
6、r runtime都可以运行同一个镜像。容器化的性能测试工具:benchmarksql单位:tpmc性能损失:10%操作系统:ubuntu:20.04(docker image也是ubuntu:20.04)连接数主机docker10022675.9819799.3720015920.014234.234009871.219582.578006039.765898.94容器化的性能CPU:差距不大容器化的性能内存:差距不大容器化的性能磁盘IO:差距不大容器化的性能容器化的性能下降的主因:Nat网络命令:iptables-save网络流量的转发,是性能下降的主因容器化的性能网络性能损坏测试,性能下