这篇文章主要为大家介绍了k8s入门集群组件的介绍及概念理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
k8s是谷歌以Borg为前身,基于谷歌15年生产环境经验的基础上开源的一个项目。
k8s致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台。
k8s集群包含master节点和node节点,是一个主从架构,通常我们会用3台服务器已高可用的形式作为主节点,不进行业务部署(可以设置要不要在主节点上部署应用);从节点作为工作节点。
以下为集群组件及功能:
master节点:集群的控制中枢
kube-apiserver:集群的控制中枢,各模块间信息交互需要经过kube-apiserver,同时它也是集群管理、资源配置、集群安全机制的入口。
controller-manager
:集群的状态管理器,保证pod等资源始终达到一个期望的效果,需要和apiserver进行通信,在需要的时候创建、更新或删除所管理的资源。
scheduler
:集群的调度中心,他会根据指定的一系列条件选择最佳节点部署pod;就是说如果我们有5个node节点,当我们创建一个pod时候,是由scheduler决定这个pod部署在哪个节点上。
etcd cluster
:键值数据库,存放集群信息;生产环境中最好etcd与集群分离,建议3个以上节点(奇数),使用ssd硬盘安装。
node节点:工作节点,也叫worker节点
kubelet
:负责监听节点上pod状态,同时负责上报节点与节点上pod状态,负责与master节点通信,并管理pod。
kube-proxy:负责pod之间的通信和负载均衡,将指定的流量分发到后端机器上。
查看kube-proxy工作模式:
curl 127.0.0.1:10249/proxyMode
我使用的是ipvs。
ipvs
:监听master节点增加和删除service以及endpoint的消息,调用netlink接口创建相应对的ipvs规则。通过ipvs规则,将流量转发至相应的pod上。
iptables
:监听master节点增加和删除service以及endpoint的消息,对于每一个service,他都会创建一个iptables规则,并将service的clusterIP代理到后端相应的pod。
kube-system命名空间:系统组件pod
calico
:符合CNI标准的网络插件,给每个pod生成一个唯一额IP地址,并且将每个节点当做一个路由器(实现或节点通信)。
coreDNS
:用于k8s集群内部service解析,可以让pod把service名称解析为IP地址,然后通过service的IP地址进行连接到对应应用上。
docker
:容器引擎,负责对容器的管理
metrics-server
:查看pod占用资源情况
以上就是k8s入门-集群组件介绍的详细内容,更多关于k8s入门-集群组件介绍的资料请关注编程学习网其它相关文章!
本文标题为:k8s入门集群组件介绍及概念理解


基础教程推荐
- 服务器添加git钩子的步骤 2022-12-12
- Apache Hudi数据布局黑科技降低一半查询时间 2022-10-06
- linux之conda环境安装全过程 2023-07-11
- IIS 6 的 PHP 最佳配置方法 2022-09-01
- centos 7 安装及配置zabbix agent 2023-09-24
- 实战Nginx_取代Apache的高性能Web服务器 2023-09-29
- nginx.conf(centos7 1.14)主配置文件修改 2023-09-23
- Apache服务器配置攻略3 2022-09-01
- linux下安装apache与php;Apache+PHP+MySQL配置攻略 2023-08-07
- apache和nginx结合使用 2023-09-10