(一)K8s学习笔记——简介

文章目录

  • 一、K8s功能
  • 二、架构组件及插件
    • 1.Master节点组件
    • 2.Node节点组件
    • 3.其他插件
  • 三、Pod
    • 1.Pod概念
    • 2.Service

一、K8s功能

(1)自动装箱:基于容器对应用运行环境的资源配置要求自动部署容器。
(2)自我修复:容器宕机时自动对容器进行重启。部署的Node出现问题时,对容器进行重新部署和调度。容器未通过监控检查时,将关闭容器知道容器正常运行时才对外提供服务。
(3)水平扩展:对容器进行规模扩展或缩小
(4)服务发现:用户不需使用额外的服务发现机制就能基于K8s自身能力实现服务发现和负载均衡。
(5)滚动更新:对容器中的镜像进行分批更新。
(6)版本回退:对容器中运行的镜像版本进行回退。
(7)密钥和配置管理:不需重新构建镜像即可部署和更新密钥和应用配置,类似热部署。
(8)存储编排:自动实现存储系统挂载,对有状态应用实现数据持久化很重要。存储可以来自本地目录、NFS或者公有云等。
(9)批处理:提供一次性任务和定时任务,蛮族批量数据处理和分析的场景。

二、架构组件及插件

K8s有两种节点:Master(主控节点)和Node(工作节点)。

1.Master节点组件

(1)Api Server:集群中所有服务统一入口,与etcd交互,实现数据持久化。
(2)Controller Manager:集群中资源管理和常规后台任务管理,一个资源对应一个Controller Manager,维持期望副本的数目。确保所有的Node运行同一个Pod。执行一次性任务和定时任务。
(3)Scheduler:负责集群调度工作,接收任务并分发任务到合适的节点。
(4)etcd:负责持久化,内部采用raft协议作为一致性算法,基于Go语言实现的键值对数据库,存储K8s集群的所有重要信息。

2.Node节点组件

Kubelet:Master派到Node节点的管理员,直接与容器引擎交互,对容器的声明周期、创建容器等进行管理。
Kube-proxy:负责网络代理、负载均衡等,写入规则至iptables、ipvs等,实现服务映射访问。

3.其他插件

CoreDNS:为集群中的SVC创建域名ip关系解析,通过域名访问集群中的容器,用于负载均衡。
Dashboard:为K8s集群提供B/S结构访问体系。
Ingress Controller:官方只能实现四层代理,它可以实现七层代理
Federation:提供一个可以跨集群中心多K8s统一管理的功能
Prometheus:提供K8s集群监控
ELK:提供K8s集群日志统一分析介入平台

三、Pod

1.Pod概念

(1)Pod是K8s集群中的最小部署单元,一个Pod里面包含无数容器,是一组容器的集合。
(2)同一个Pod中的容器共享网络,假设其中一个容器监听80端口,Pod中其他容器也会监听80端口。
(3)Pod的生命周期短暂。
(4)Pod分为两种:自主式Pod和受控制器管理的Pod。前者是孤儿,死了也没有人管;后者由家长管理。

2.Service

定义一组Pod的访问规则。

你可能感兴趣的:(K8s学习笔记)