K8s-架构简述

简介kubernetes

kubernetes是谷歌开源,提供了面向容器的集群部署和管理系统,k8s的宗旨是消除编排物理计算,网络和存储基础设置的负担

核心的概念:容错与扩展

Kubernetes具备完善的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度机制、多粒度的资源配额管理能力。 Kubernetes 还提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。

关键组件

核心组件:
Etcd,存储集群状态
Apiserver,集群唯一资源操作入口,并地宫认证、授权、访问控制、API注册和发现等机制
Controller manager,维护集群的状态,故障检测、自动扩展、滚动更新
Scheduler,负责资源的调度,按照预定的策略来调度Pod到相应的机器
Kubelet,负责维护容器生命周期,同时负责CSI与CNI管理
Container runtime,负责镜像管理以及Pod和容器的真正运行CRI
Kube-proxy,负责为Service提供集群内部的服务发现和负载均衡

其他组件:
CoreDNS,负责集群内的DNS服务
Ingress Controller,为服务提供外网入口
Prometheus,提供资源监控
Dashboard,提供Web UI
Federation,提供跨集群调度
架构图

组件调用关系

Apiserver是与Etcd交互的唯一,Etcd挂了Apiserver也没办法启动
Controller manager通过访问Apiserver来实现自己的功能
Scheduler也通过访问Apiserver来实现自己的功能
用户也通过访问Apiserver来操作集群
Kubelet也通过Apiserver来操作集群
如图通信协议与调用关系:
调用

了解分层理念

核心层:k8s最核心功能,对外提供PI构建高层应用,对内提供插件式应用执行环境
应用层:部署和路由
管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动态 Provision 等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy 等)
接口层:kubectl命令,客户端SDK,集群联邦
生态系统:
k8s外部:日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS 应用、ChatOps 等
k8s内部:CRI、CNI、CSI,镜像仓库等等
在这里插入图片描述

K8s内部开放接口

CRI,容器运行时接口,提供计算资源
CNI,容器网络接口,提供网络资源
CSI,容器存储接口,提供存储资源
三者是分布式操作系统最基础的资源类型
在这里插入图片描述

CRI

CRI,定义了容器和镜像服务的接口,容器和镜像的声明周期是不同的,所以CRI定义了两个接口,RuntimeService和ImageService,RuntimeServicegRPC服务,容器和Sandbox运行时管理,如容器的增删改查启停等方法。ImageServicegRPC服务,提供了从镜像仓库拉取、查看、和移除镜像的RPC。
Container Runtime,实现了CRI接口,包括RuntimeService和ImageService,作为gRPC Server监听本地Unix socket。grpc的客户端是kubelet
在这里插入图片描述
CRI启用,实现了CRI容器运行时接口的都可以被K8s编排了,新版本默认kubelet指定使用Docker作为容器运行时
在这里插入图片描述

CNI

CNI,容器网络接口,由一组用于配置Linux容器的网络接口的规范和库组成,同时还包含了一些插件。CNI仅关心容器创建时的网络分配,和当容器被删除时释放的网络资源,K8s内置CNI代码
CNI接口,CNI接口仅定义了四个方法,添加网络、删除网络、链家网络列表、删除网络列表
CNI插件,必须是一个可执行文件,文件可以被容器管理系统调用,CNI插件负责将网络接口插入容器网络命名空间(如veth的一端),并在主机上将veth的另一端连接网桥。将IP分配给接口,并通过插件管理网络
在这里插入图片描述
IPAM插件,为了减轻CNI负担,IP管理策略于CNI插件类型解耦,使用IPAM插件来管理网络,CNI来调用IPAM插件,IPAM插件确定好IP/subnet,网关,路由,将此信息返回主插件应用配置。IPAM插件也是可执行的二进制文件

CSI

CSI,容器网络存储接口,旨在能为容器编排引擎和存储系统间建立一套标准的存储调用接口

文档

Kubernetes Handbook——Kubernetes 中文指南/云原生应用架构实践手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值