kubernetes详细介绍
admin
2023-02-02 03:19:55
0

这篇文章的知识点包括:kubernetes的简介、kubernetes的功能、kubernetes的架构以及kubernetes的架构和组件,阅读完整文相信大家对kubernetes有了一定的认识。

1. kubernetes简介

1.1 kubernetes介绍

Kubernetes是google开源的一套微服务,容器化的编排引擎,是google内部容器十多年实战沉淀的结晶,已战胜Swarm,Messo成为容器编排的行业标准。kuberntes内置有很多非常优秀的特性使开发者专注于业务本身,其包含的功能如下:

  • Service discovery and load balancing,服务发现和负载均衡,通过DNS实现内部解析,service实现负载均衡
  • Storage orchestration,存储编排,通过plungin的形式支持多种存储,如本地,nfs,ceph,公有云快存储等
  • Automated rollouts and rollbacks,自动发布与回滚,通过匹配当前状态与目标状态一致,更新失败时可回滚
  • Automatic bin packing,自动资源调度,可以设置pod调度的所需(requests)资源和限制资源(limits)
  • Self-healing,内置的健康检查策略,自动发现和处理集群内的异常,更换,需重启的pod节点
  • Secret and configuration management,密钥和配置管理,对于敏感信息如密码,账号的那个通过secret存储,应用的配置文件通过configmap存储,避免将配置文件固定在镜像中,增加容器编排的灵活性
  • Batch execution,批处理执行,通过job和cronjob提供单次批处理任务和循环计划任务功能的实现
  • Horizontal scaling,横向扩展功能,包含有HPA和AS,即应用的基于CPU利用率的弹性伸缩和基于平台级的弹性伸缩,如自动增加node和删除nodes节点。

1.2 kubernetes架构

kubernetes详细介绍

kubernetes包含两种角色:master节点和node节点,master节点是集群的控制管理节点,作为整个k8s集群的大脑。

  • 负责集群所有接入请求(kube-apiserver),在整个集群的入口;
  • 集群资源调度(kube-controller-scheduler),通过watch监视pod的创建,负责将pod调度到合适的node节点;
  • 集群状态的一致性(kube-controller-manager),通过多种控制器确保集群的一致性,包含有Node Controller,Replication Controller,Endpoints Controller等;
  • 元数据信息存储(etcd),数据持久存储化,存储集群中包括node,pod,rc,service等数据;

通常由3或5个节点组成高可用集群,其中etcd内置的集群组成,kube-apiserver由haproxy或nginx做负载分发,kube-scheduler和kube-controller-manager内置的选举机制保障,确保集群内同一个时刻只有一个leader节点,其他处于阻塞状态,防止脑裂。

node节点是实际的工作节点,负责集群负载的实际运行,即pod运行的载体,其通常包含三个组件:Container Runtime,kubelet和kube-proxy

  • Container Runtime是容器运行时,负责实现container生命周期管理,如docker,containerd,rktlet;
  • kubelet负责镜像和pod的管理,
  • kube-proxy是service服务实现的抽闲,负责维护和转发pod的路由,实现集群内部和外部网络的访问。

其他组件还包括

  • cloud-controller-manager,用于公有云的接入实现,提供节点管理(node),路由管理,服务管理(LoadBalancer和Ingress),存储管理(Volume,如云盘,NAS接入),需要由公有云厂商实现具体的细节,kubernetes提供实现接口的接入,如腾讯云目前提供CVM的node管理,节点的弹性伸缩(AS),负载均衡的接入(CLB),存储的管理(CBS和CFS)等产品的集成;
  • DNS组件由kube-dns或coredns实现集群内的名称解析;
  • kubernetes-dashboard用于图形界面管理;
  • kubectl命令行工具进行API交互;
  • 监控系统用于采集node和pod的监控数据,如prometheus,heapster+influxdb+grafana;
  • 日志采集系统,用于收集容器的业务数据,实现日志的采集,存储和展示,实现有Fluentd+ELK(ElasticSearch+Logstash+Kiabana)。
  • 看完上述内容,你们对kubernetes有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。

相关内容

热门资讯

特朗普的关税保护伞,反成了北美... (文/张志峰 编辑/吕栋)近日多家外媒报道,7月以来,北美最大的白电制造商惠而浦在艾奥瓦州阿马纳的冰...
专访郭列:做出脸萌、FaceU... 文|周鑫雨 编辑|张雨忻 什么样画像的AI创业者会饱受瞩目?不同投资人心里或许有不同的答案,但其中一...
亚太唯一!阿里云入选Gartn... 据阿里云消息,近日,Gartner发布2025年《Magic Quadrant™ for Obser...
重庆物联网远程控制系统公司的应... 在工业制造、环保监测及商贸流通等领域,重庆物联网远程控制系统公司所提供的产品与服务正逐渐成为配套设施...
拒绝踩坑!2026年云手机推荐... 到底云手机哪个好用?2026年云手机市场品牌众多,低价套路、配置虚标、隐形消费、挂机掉线等问题也越来...
选购新能源电池包切割机器人标准... 在新能源电池回收与拆解领域,电池包切割机器人已成为标配设备。但面对市场上多款产品,采购方常陷入困惑:...
给“AI”发身份证,国内首个智... IT之家 7 月 23 日消息,据央视新闻今日报道,《人工智能 智能体互联》系列国家标准应用推进专题...
西门子洗衣机开始键不启动只滴滴... 1、可能是由于洗衣机的门盖没有关严,这时候如果衣服放的太多的话,洗衣机的门盖没关好,这时也会发生西门...
西门子洗衣机不启动滴滴响 1、可能是因为水龙头没有打开导致的;2、可能是出现了故障代码的导致的;3、可能是洗衣机门开关坏了导致...
西门子洗衣机用其他档位还是不启... 1、可能是电源线及插头存在断路的情况。2、可能是因为电脑板电源变压器损坏。3、可能是因为漏电空气开关...