k8s组件和pod的介绍

k8s介绍

k8s是全称kubernetes,k和s之间由8个字母组成,所以简称k8s(这个也是看其他人这么说的,不知道真的假的)

它是由谷歌的borg架构演变过来的属于borg架构的开源版

特点:

轻量级,消耗资源小(go语言编写)

弹性伸缩

负载均衡

开源

高可用

k8s组件

master端

APIserver:所有服务访问统一的入口,负责各个组件直接相互通信

crontrollermanager:控制器,维持副本期望数目(控制器的类型有很多,后面会详细介绍)

scheduler:调度器,负责接收任务,选择合适的节点进行分配任务

etcd:键值对数据库 存储k8s集群所有重要信息(持久化)

node端

kubelet:直接跟容器引擎交互实现容器的生命周期管理

kube-proxy:负责写入规则至IPTABLES、IPVS实现服务映射访问

COREDNS:可以为集群中的svc创建一个域名ip的对应关系解析

dashboard:给k8s集群提供一个B/s结构访问体系

INGRESS controller 官方只能实现四层代理 INGRESS可以实现七层代理

FEDETATION:提供一个可以跨集群中心多K8s统一管理功能

Prometheus:提供一个k8s集群的监控能力

ELK:提供k8s集群日志统一分析接入平台

Pod介绍

pod是k8s中最小的调度单元,经常有人把pod比作豌豆荚,容器就是豌豆荚里的豌豆,那么豌豆有可能是一个,也有可能是多个,为什么不直接使用容器呢,而是用pod来封装一个或多个容器呢

我这里举个例子,如果有一套lnmp架构的系统,一般不会运行在一个容器中,而是在多个容器中,但是这样他们之间的相互连接就变得十分困难,而pod提供了共享网络和存储(由于网络是共享的所以端口不能重复),所以他们可以通过localhost进行内部的通信,虽然网络和存储是共享的,但是cpu和内存就不是,也是就说我们可以单独对pod中的容器做资源使用的限制

猜你喜欢

转载自blog.csdn.net/weixin_50801368/article/details/113124243