k8s学习笔记(二):k8s的组件介绍

文章详细介绍了Kubernetes集群的关键组件,包括控制平面的kube-apiserver、etcd、kube-scheduler、kube-controller-manager和cloud-controller-manager,以及Node节点上的Kubelet和kube-proxy。此外,还提到了网络组件如Calico和flannel,以及CoreDNS服务和DashboardUI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

k8s组件介绍

架构图

在这里插入图片描述

角色

  • Master:是集群的网关和中枢枢纽,主要作用:暴露API接口,跟踪其他服务器的健康状态、以最优方式调度负载,以及编排其他组件之间的通信。单个的Master节点可以完成所有的功能,但是考虑单点故障的痛点,生产环境中通常要部署多个Master节点,组成Cluster。包括所有的控制平面组件
  • Node:是Kubernetes的工作节点,负责接收来自Master的工作指令,并根据指令相应地创建和销毁Pod对象,以及调整网络规则进行合理路由和流量转发。生产环境中,Node节点可以有N个。包括所有node节点。

控制平面组件(Control Plane Components)

控制平面组件会为集群做出全局决策,比如资源的调度。 以及检测和响应集群事件,例如当不满足部署的 replicas 字段时, 要启动新的 pod)。

控制平面组件可以在集群中的任何节点上运行。 然而,为了简单起见,设置脚本通常会在同一个计算机上启动所有控制平面组件, 并且不会在此计算机上运行用户容器。

kube-apiserver

API 服务器是 Kubernetes 控制平面的组件, 该组件负责公开了 Kubernetes API,负责处理接受请求的工作。 API 服务器是 Kubernetes 控制平面的前端。

apiserver是整个集群的网关

K8S对外的唯一接口,提供HTTP/HTTPS RESTful API,即kubernetes API。所有的请求都需要经过这个接口进行通信。主要负责接收、校验并响应所有的REST请求,结果状态被持久存储在etcd当中,所有资源增删改查的唯一入口

端口
[root@k8s-master ~]# netstat -anplut|egrep LISTEN.*apiserver

在这里插入图片描述

容器
[root@k8s-master ~]# docker ps|grep apiserver
c09166f7c313   ca9843d3b545                                        "kube-apiserver --ad…"   3 minutes ago   Up 3 minutes             k8s_kube-apiserver_kube-apiserver-k8s-master_kube-system_2fc27474246553d4d73cbb5d364b9726_6
8f9429e1d4e6   registry.aliyuncs.com/google_containers/pause:3.2   "/pause"                  5 minutes ago   Up 5 minutes             k8s_POD_kube-apiserver-k8s-master_kube-system_2fc27474246553d4d73cbb5d364b9726_5

etcd

一致且高可用的键值存储,用作 Kubernetes 所有集群数据的后台数据库

负责保存k8s 集群的配置信息和各种资源的状态信息,当数据发生变化时,etcd会快速地通知k8s相关组件。etcd是一个独立的服务组件,并不隶属于K8S集群。生产环境当中etcd应该以集群方式运行,以确保服务的可用性。

etcd不仅仅用于提供键值数据存储,而且还为其提供了监听(watch)机制,用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值