前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >09 May 2019 kubernetes生态系统

09 May 2019 kubernetes生态系统

作者头像
俊采
发布2023-10-17 10:47:27
1350
发布2023-10-17 10:47:27
举报
文章被收录于专栏:LEo的网络日志

本文主要简单介绍kubernetes生态系统中的相关软件、组件、特性及缩写,持续更新中,更新的原则就是:我在学习kubernetes过程觉得重要或者记不住。

1 软件、组件及特性

  • alertmanager:展示告警信息,支持集成第三方通知系统,如email、slack等
  • calico:提供容器网络服务
  • chart:用于描述创建kubernetes应用实例所需要的相关信息
  • cronjob:定时执行的批处理作业,kubernetes中一种资源对象
  • docker:容器运行时的具体实现,提供容器创建、运行等功能
  • elasticsearch:分布式搜索引擎
  • elk:elasticsearch + logstash + kibana
  • envoy:专为面向服务架构设计的7层代理和通信总线,istio中的sidecar官方标配,是一个面向服务架构的高性能网络代理
  • etcd:分布式键值存储系统,提供高可用性和数据一致性
  • exporter:收集监控信息
  • felix:calico的核心组件,负责设置路由、iptables等信息
  • filebeat:日志采集代理,负责收集日志
  • grafana:展示系统监控信息
  • helm:kubernetes包管理工具,负责应用部署、升级,类似apt-get和ubuntu的关系,主要由客户端helm和服务端tiller组成
  • icp:ibm私有云管理平台,提供微服务治理、多集群管理、混合云管理、devops等功能
  • istio:微服务治理系统,提供服务发现、服务注册、服务追踪、服务拓扑结构展示、限流、分流、熔断等功能
  • jenkins:可扩展的持续集成工具
  • kibana:数据分析和可视化平台,提供如柱状图、现状图、饼状图等功能
  • kube-apiserver:提供restful api,方便对kubernetes进行控制,例如对集群中所有资源的增删改查,是控制kubernetes集群的唯一入口
  • kube-controller-manager:kubernetes的控制器管理系统,负责管理运行的各种控制器
  • kube-proxy:网络代理服务,在kubernetes中负责service的具体实现,维护节点上的网络规则和执行网络转发,实现网络代理和负载均衡功能
  • kube-scheduler:kubernetes的调度器,负责将pod按不同的资源需求调度到集群中的node节点运行
  • kubelet:主要用于和master节点及各种接口通信,例如与container runtime interface通信,将容器在node节点创建并运行起来
  • kubernetes:容器管理、编排系统
  • knative:是谷歌开源的一套serverless架构方案,它扩展了kubernetes,提供了一组中间件,提高了构建可在本地、云和第三方数据中心等地方运行的现代化、以源为中心且基于容器的应用的能力
  • serverless:指的是由开发者实现的服务端逻辑运行在无状态的计算容器中,它由事件触发, 完全被第三方管理,其业务层面的状态则被开发者使用的数据库和存储资源所记录
  • kubebuilder:是一个基于crd来构建kubernetes api的框架,可以使用crd来构建api、controller和 admission webhook
  • admission:kubernetes中的一种控制器,用于对api对象进行一些初始化性质的工作,对象被创建之后立即调用,支持默认(admission)和动态(dac/initializer)2种方式,istio就是通过dac功能自动注入sidecar到pod,和应用一起在同一个pod工作
  • logstash:日志收集,提供分析过滤功能
  • operator:是由coreos开发的,用来扩展kubernetes api,特定的应用程序控制器,它用来创建、配置和管理复杂的有状态应用,如数据库、缓存和监控系统,可以认为是crd + controller,crd实现资源的定义,而需要通过controller监控crd实例的增删改查事件,从而实现相应的业务逻辑
  • operatorhub:operator仓库,详见https://www.operatorhub.io
  • prometheus:容器监控服务,设置告警策略,将告警信息发送给alertmanager
  • service catalog:kubernetes的api扩展,方便kubernetes集群内部应用访问第三方提供的服务
  • super version:kubernetes中表示一种资源类型的所有版本字段全集,用于描述用户提交的yaml配置文件,通过它可以实现用一种对象管理不同版本的yaml文件
  • terraform:iaas层接口
  • tiller:helm的服务端,用于管理应用发布
  • validation:基于openapi v3 schema的验证机制,检验用户提交的资源定义是否符合规范,检验通过的api对象就是一个有效的kubernetes api对象
  • registry:kubernetes中的一种数据结构,用于存储validation通过的api对象
  • finalizer:crd中的用于实现控制器的异步删除钩子
  • subresources:crd的子资源定义功能
  • categories:对crd进行分组
  • moby:docker的开源实现
  • aggregation:一种扩展kubernetes api的方法,实现不修改kubernetes核心代码的同时扩展kubernetes api,将第三方服务注册到 kubernetes api中,实现通过kubernetes api访问外部服务,另外一种扩展kubernetes api的方法是crd
  • global tags:kubernetes代码中用于控制全局的代码生成功能
  • k8s.io/code-generator:kubernetes提供的代码生成工具,用于为crd自动生成clientset、informer、lister,用于实现crd的controller
  • kiali:istio的可观察性工具,可视化服务网格拓扑、断路器、请求率和分布式追踪功能
  • service graph:和kiali功能差不多的istio服务观察工具
  • cadvisor:一种用于监控资源使用情况,并分析容器性能的开源代理
  • liveness probe:主动监控容器是否存活的机制
  • kustomize:允许用户以一个应用描述文件(yaml 文件)为基础(base yaml),然后通过overlay的方式生成最终部署应用所需的描述文件,使用了类似git diff和patch的原理实现维护多份yaml文件且不存在冗余数据,更易维护yaml
  • readiness probe:主动监控容器是否健康或者提供的服务的机制
  • horizontal pod autoscaler(hpa):通过分析不同的指标信息,动态调整集群pod的数量

2 缩写

  • crd:custom resource definition,自定义api资源,新版tpr,kubernetes的一种api插件机制,用户提交的新类型定义的yaml就是crd的实例,叫cr(customer resource),借助crd,kubernetes才能识别用户提交的cr
  • cr:crd实例
  • cds:集群发现服务
  • rds:路由规则发现服务
  • eds/sds:节点发现服务
  • lds:监听器发现服务
  • oci:开放容器计划,负责制定容器基础架构中的基础组件的标准
  • tpr:third party resource,老版本的crd
  • dac:dynamic admission control,也称initializer,一种控制器,用于对创建的api对象进行一些初始化的工作,kubernetes默认就提供了一些initializer
  • cidr:classless inter-domain routing,无类域内路由选择
  • cc:customer controller,自定义控制器,一个死循环,通过不断对比api对象的实际状态和期望状态,以此为依据实现相应的业务逻辑
  • mvcc:多版本并发控制,kubectl apply的实现机制
  • rabc:role based access control,基于角色的访问控制
  • poc: proof of concept,概念验证
  • uas:user aggregated apiserver,一种扩展kubernetes api的机制,类似crd

未完待续 ……

LEo at 00:12

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 软件、组件及特性
  • 2 缩写
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档