计算机系统应用教程网站

网站首页 > 技术文章 正文

kubernetes 基础概念 kubernetes的作用

btikc 2024-10-10 04:50:27 技术文章 5 ℃ 0 评论

学习K8s架构之前,需要了解一些K8s特有的概念:

  • Cluster 集群 K8s可利用的主机、存储和网络资源的集合
  • Node 结点 单台主机,可以是物理的或虚拟的计算机。结点分为主结点(master)和工作结点(worker)。
  • Pod K8s中的工作单元,K8s是以Pod而非容器为单位排程的。Pod可以理解为Docker单机环境,每个Pod中包含一至多个容器,总是被启动在一个结点;一个Pod的容器在K8s集群中有相同的地址和端口范围,即容器暴露于K8s集群的端口号不可重复。
  • etcd 一款开源软件。提供可靠的分布式数据存储服务,用于持久化存储K8s集群的配置和状态
  • K8s API server 用户程序(如kubectl)、K8s其它组件之间通信的接口。K8s其它组件之间不直接通信,而是通过API server通信的。这一点在上图的连接中可以体现,例如,只有API server连接了etcd,即其它组件更新K8s集群的状态时,只能通过API server读写etcd中的数据。Scheduler 排程组件,为用户应用的每一可部署组件分配工作结点。
  • Controller Manager 执行集群级别的功能,如复制组件、追踪工作结点状态、处理结点失败等。Controller Manager组件是由多个控制器组成的,其中很多控制器是按K8s的资源类型划分的,如Replication Manager(管理ReplicationController 资源),ReplicaSet Controller,PersistentVolume controller。
  • kube-proxy 在应用组件间负载均衡网络流量。
  • Kubelet 管理工作结点上的容器。
  • Container runtime Docker, rkt等实际运行容器的组件。

除了核心组件,还有一些推荐的Add-ons:

  • kube-dns 负责为整个集群提供DNS服务
  • Ingress Controller 为服务提供外网入口
  • Heapster 提供资源监控
  • Dashboard 提供GUI
  • Federation 提供跨可用区的集群
  • Fluentd-elasticsearch 提供集群日志采集、存储与查询
  • COREDNS 可以为集群中svc (Service的简称)创建一个域名IP 的对应关系解析
  • DASHBOARD: 给K8s 提供B/S 结构访问体现
  • INGRESS CONROLLER: 官方只能实现四层代理,INGRESS 可以实现七层代理
  • PROMETHEUS(普罗米修斯) : 提供K8s 集群的监控能力
  • ELK:提供K8S集群日志的统一分析接入平台

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表