虚拟化 - 容器化
2023-06-09 11:40:28 0 举报
AI智能生成
虚拟化 - 容器化
作者其他创作
大纲/内容
容器间网络
网络虚拟化
网络通信模型
Socket
TCP/UDP
IP
Device
Driver
干预网络通信
Netfilter 过滤器
Xtables
预置行为
规则表
虚拟化网络设备
网卡:tun/tap、veth
tun/tap
隧道技术
veth
直连线序、交叉线序
交换机:Linux Bridge
二层转发
接入三层
配置例子
网络:VXLAN
软件定义网络(Software Defined Network)
跨主机容器间通信:VXLAN
虚拟局域网(VLAN)
存在问题
三层虚拟化网络
存在问题
副本网卡:MACVLAN
单臂路由
网卡模拟交换机
容器间通信
预置
桥接模式
主机模式
空置模式
自定义
容器模式
MACVLAN 模式
Overlay 模式
容器网络生态
kubernet
网络插件
基本能力
管理网络创建与删除
管理 IP 地址分配与回收
支持模式
Overlay 模式
Flannel:VXLAN 模式
Calico:IPIP 模式
Weave
Underlay 模式
路由模式
Flannel:HostGateway 模式
Calico:BGP 模式
容器和宿主机在同一网络
MACVLAN
SR-IOV
持久化存储
存储设计
Mount 和 Volume
Bind 模式
存在问题
Volume 模式
tmpfs 模式
静态存储分配
动态存储分配
容器存储生态
存储架构
FlexVolume 与 CSI
从 In-Tree 到 Out-of-Tree
存储插件
块存储
文件存储
对象储存
资源管理
主要分类
创建、销毁、更新、扩缩 Pod
Pod
Autoscaling
CronJob
DaemonSet
Deployment
Job
ReplicaSet
StatefulSet
配置信息设置与更新
ConfigMap
Secret
持久性存储文件或 Pod 间文件共享
Volume
LocalVolume
PersistentVolume
PersistentVolumeClaim
StorageClass
维护网络通信和服务访问安全
SecurityContext
ServiceAccount
Endpoint
NetworkPolicy
定义服务与访问
Ingress
Service
EndpointSlice
划分虚拟集群、节点和资源配额
Namespace
Node
ResourceQuota
控制器管理框架
必须启用
默认启用但可选
默认禁止但可选
资源调度
资源模型
服务质量与优先级
驱逐机制
默认调度器
核心技术
指令集虚拟化(ISA Level Virtualization)
硬件抽象层虚拟化(Hardware Abstraction Level Virtualization)
操作系统层虚拟化(OS Level Virtualization)
运行库虚拟化(Library Level Virtualization)
语言层虚拟化(Programming Language Level Virtualization)
基本能力
隔离文件:chroot
隔离访问:namespaces
隔离资源:cgroups
封装系统:LXC
封装应用:Docker
与 LXC 的比较
跨机器的绿色部署
以应用为中心的封装
自动构建
多版本支持
组件重用
共享
工具生态
子系统与模块
Docker Client
Docker Client
Docker Registry
Docker Container
Graph
Driver
libcontainer
发展历程
封装集群:Kubernetes
构建系统
隔离与协作
容器封装单应用
容器间信息交换
Docker Compose
容器组:Pod
隔离与共享
Pod 名称空间共享
原子性调度
韧性与弹性
故障自动恢复:ReplicaSet
滚动更新不中断:Deployment
手动维护
自动调整
封装应用
Kustomize
主要价值
存在问题
Helm 与 Chart
主要价值
存在问题
Operator 与 CRD
StatefulSet
存在问题
开放应用模型
OAM 定义
服务组件(Components)
服务组件(Components)
服务组件(Components)
应用边界(Application Scopes)
应用配置(Application Configuration)
0 条评论
下一页