K8S原理剖析:云原生技术的前世今生

简介: K8S原理剖析:云原生技术的前世今生

大纲

  • CNCF云原生介绍
  • 容器技术发展介绍
  • Kubernetes技术架构


CNCF云原生介绍

CNCF ToC: CNCF Cloud Native Definition v1.0

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建

和运行可弹性扩展的应用。云原生的代表技术包括容器、 服务网格、 微服务、
不可变基础设施和声明式API。

这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的

自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大

变更。

云原生计算基金会( CNCF)致力于培育和维护一个厂商中立的开源生态系统

来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。


云计算的发展历程

“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像水电一样使用IT基础设施。

云计算的发展历程


云计算伴随云原生技术步入新时代

云计算伴随云原生技术步入新时代


容器是云原生技术发展的第一波热潮

容器是云原生技术发展的第一波热潮


容器服务的目标就是打造Cloud Native应用的运行环境

容器服务的目标就是打造Cloud Native应用的运行环境


CNCF当前项目介绍

CNCF当前项目介绍

CNCF当前项目介绍

CNCF当前项目介绍


容器技术发展介绍

容器技术发展历史

容器虚拟化( LXC) :提供应用隔离运行的能力;

Docker:基于容器提供统一的应用分发平台

容器技术发展历史


容器的三大好处, 为应用而生

容器的三大好处, 为应用而生


Docker – Build, Ship, and Run Any App, Anywhere

Docker – Build, Ship, and Run Any App, Anywhere

 

容器底层关键技术 - Linux Cgroup

Docker使用Linux Cgroup技术来实现容器实例的资源管理

cgroup子系统 资源管理 对应的docker接口
memory 限制cgroup中的任务所能使用的内存上限 -m
--memory-swap
--memory-reservation
--kernal-memory
--oom-kill-disable
--memory-swappiniss
cpu 使用调度程序提供对CPU的cgoup任务访问 -c
--cpu-period
--cpu-quota
Cpuset 为cgroup中的任务分配独立CPU和内存节点 --cpuset-cpus
--cpuset-mems
Blkio 为块设备设定输入/输出限制 --blkio-weight
--blkio-weight-device
--device-read-bps
--device-write-bps
--device-read-iops
--device-write-iops


容器底层关键技术 - Linux Namespace

Docker使用linux namespace技术来实现容器实例间的资源隔离

Namespace 系统调用参数 隔离内容
PID namespace CLONE_NEWPID 隔离不同用户的进程,不同的namespace中可以有相同的pid。
允许嵌套,可以方便实现docker in docker
UTS namespace CLONE_NEWUTS 允许每个容器拥有独立的hostname和domain name,使其在网络上可
以被视为独立的节点。
IPC namespace CLONE_NEWIPC 保证容器间的进程交互,进行信号量、消息队列和共享内存的隔离。
Network namespace CLONE_NEWNET 实现网络隔离,每个net namespace有独立的network devices、 ip
addresses、 ip routing tables、 /proc/net目录。
Mount namespace CLONE_NEWNS 隔离不同namespace的进程看到的目录结构,每个namespace的容器在
/proc/mounts的信息只包含所在namespace的mount point。
User namespace CLONE_NEWUSER 允许每个容器可以有不同的user和group id


容器底层关键技术 – 联合文件系统

容器底层关键技术 – 联合文件系统

概念:一个基于文件的接口,通过把一组目录交错起来,形成一个单一视图。

优点:

1、多个容器可以共享image存储,节省存储空间;

2、部署多个容器时, base image可以避免多次拷贝,实现快速部署;

Docker目前支持的联合文件系统种类包括devicemapper、 overlay2、 aufs、 btrfs、 vfs和


新一代Kata容器实现多租户容器强隔离

新一代Kata容器实现多租户容器强隔离

  • 虚拟化层的存在,保障了容器在多租户场景下的安全性。
  • 高度裁剪和优化过的KVM, guest OS保证了VM启动时间极短,性能损耗极小。
  • 接口层支持对接docker引擎或crio,镜像完全兼容docker镜像,无需修改。完美融入K8S容器生态。


Kubernetes技术架构

什么是Kubernetes?

什么是Kubernetes?

Kubernetes系统组件

Kubernetes系统组件


Kubernetes架构

Kubernetes架构

Declarative (申明式API) vs Imperative (命令式API)

Declarative (申明式API) vs Imperative (命令式API)

 

Declarative (申明式API) vs Imperative (命令式API)


Kubernetes Controllers

Kubernetes Controllers


Kubernetes基于list-watch机制的控制器架构

 

Kubernetes基于list-watch机制的控制器架构


Kubernetes架构分层


K8S社区架构中对各层的详细定


Kubernetes生态系统范畴

• 容器内 – 多样化工作负载

• K8S南向 – 多样化的环境

– 容器、网络、存储插件

– 镜像仓库

– 多云插件

– 集群管理配置

– 认证系统

• K8S北向 – 多样化的服务和工具

– 日志&监控

– 配置语言

– 编排部署

– 持续集成

– PaaS

– 工作流

– 函数服务

– 数据处理服务

– 对象事务服务 (数据库、存储)

– 互联网应用

 


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
监控 Cloud Native Java
Quarkus 云原生Java框架技术详解与实践指南
本文档全面介绍 Quarkus 框架的核心概念、架构特性和实践应用。作为新一代的云原生 Java 框架,Quarkus 旨在为 OpenJDK HotSpot 和 GraalVM 量身定制,显著提升 Java 在容器化环境中的运行效率。本文将深入探讨其响应式编程模型、原生编译能力、扩展机制以及与微服务架构的深度集成,帮助开发者构建高效、轻量的云原生应用。
387 44
|
6月前
|
运维 Kubernetes Cloud Native
智联招聘 × 阿里云 ACK One:云端弹性算力颠覆传统 IDC 架构,打造春招技术新范式
在 2025 年春季招聘季的激战中,智联招聘凭借阿里云 ACK One 注册集群与弹性 ACS 算力的深度融合,成功突破传统 IDC 机房的算力瓶颈,以云上弹性架构支撑千万级用户的高并发访问,实现招聘服务效率与稳定性的双重跃升。
|
2月前
|
Kubernetes Cloud Native 云计算
云计算与云原生技术探索
🌟蒋星熠Jaxonic,云原生探索者!以代码为舟,遨游技术星河。专注容器化、微服务、K8s与DevOps,践行GitOps理念,拥抱多云未来。用架构编织星辰,让创新照亮极客征途!
云计算与云原生技术探索
|
7月前
|
人工智能 Cloud Native 安全
云原生+AI 为企业出海提供全新技术引擎!明天见
5月22日 14:00「飞天发布时刻」,阿里云云原生应用平台产品负责人李国强将重磅揭晓面向 AI 场景的云原生产品体系升级,通过弹性智能的全球一体化架构、开箱即用的云原生 AI 工程化能力,为中国企业出海提供全新技术引擎。
|
2月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
364 2
|
8月前
|
Cloud Native 关系型数据库 分布式数据库
|
9月前
|
存储 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:单机性能优化篇
阿里云PolarDB云原生数据库在TPC-C基准测试中,以20.55亿tpmC的成绩打破性能与性价比世界纪录。此外,国产轻量版PolarDB已上线,提供更具性价比的选择。
|
8月前
|
存储 关系型数据库 分布式数据库
|
9月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
|
8月前
|
存储 关系型数据库 分布式数据库

推荐镜像

更多