Kubernetes基础自学系列 | Kubernetes组件介绍

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kubernetes基础自学系列 | Kubernetes组件介绍相关的知识,希望对你有一定的参考价值。

视频来源:B站《2021 年末倾力打造 Kubernetes 入门至精通 - 2022 年幸福的开胃菜》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Kubernetes基础自学系列 | 汇总_COCOgsta的博客-CSDN博客


发展经历

IAAS:OpenStack

PAAS:曾经三足鼎立,Docker Swam、Apache Mesos、Kubernetets

2019年美国西部时间5月2日下午7点,Twitter公司在旧金山总部举行了一次技术发布会兼Meetup。会上,Twitter计算平台(Twitter Computing Platform)产品与技术负责人David McLaughlin正式宣布,Twitter的基础设施将从Mesos全面转向Kubernetes

Borg是谷歌内部的大规模集群管理系统,负责对谷歌内部很多核心服务的调度和管理。Borg的目的是让用户能够不必操心资源管理的问题,让他们专注于自己的核心业务,并且做到跨多个数据中心的资源利用率最大化

Kubernetes特点:

  • 轻量级
  • 开源
  • 弹性伸缩
  • 负载均衡

Kubernetes组件

etcd

etcd的官方将它定位成一个可信赖的分布式键值存储服务,它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转

Raft从一开始就被设计成一个易于理解和实现的共识算法。每一个Raft集群中都包含多个服务器,在任何时刻,每一台服务器只可能处于Leader、Follower以及Candidate三种状态;在处于正常的状态时,集群中只会存在一个Leader,其余的服务器都是Follower

推荐在Kubernetes集群中使用etcd v3,v2版本已在Kubernetes v.11中弃用

Kubernetes API Server

作为Kubernetes系统的入口,其封装了核心对象的增删改查操作,以Restful API接口方式提供给外部客户和内部组件调用。维护的REST对象持久化到Etcd中存储

Kubernetes Scheduler

新建立的Pod进行节点(node)选择(即分配机器),负责集群的资源调度。组件抽离,可以方便替换成其他调度器

Controller Manager

负责维护集群的状态,比如故障检测、自动扩展、滚动更新等

Kubelet

负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理

Container runtime

负责镜像管理以及Pod和容器的真正运行(CRI)

Kube-proxy

负责为Service提供cluster内部的服务发现和负载均衡

CoreDNS

负责为整个集群提供DNS服务

Ingress Controller

为K8S中的服务提供外网入口

Prometheus

为整个集群提供资源监控能力

Dashboard

提供B/S的访问体系,允许用户通过web进行集群管理及设置

Federation

提供跨可用区的集群,提供不同数据中心的K8S集群的管理能力

以上是关于Kubernetes基础自学系列 | Kubernetes组件介绍的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes基础自学系列 | Kubernetes基本概念

Kubernetes基础自学系列 | Kubernetes高可用

Kubernetes基础自学系列 | Kubernetes资源清单

Kubernetes基础自学系列 | 集群搭建

Kubernetes基础自学系列 | 部署prometheus

Kubernetes基础自学系列 | 污点和容忍