欢迎来到代码驿站!

Nginx

当前位置:首页 > 服务器 > Nginx

k8s入门集群组件介绍及概念理解

时间:2022-06-06 09:32:43|栏目:Nginx|点击:

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占用资源情况

上一篇:Nginx 代理与负载均衡详解

栏    目:Nginx

下一篇:没有了

本文标题:k8s入门集群组件介绍及概念理解

本文地址:http://www.codeinn.net/misctech/203931.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有