k8s架构

1.k8s整体架构图

一个k8s集群由Control Plane 和 node节点组成。

2.Control Plane

2.1 控制平面组件说明

Control Plane节点主要有以下几个组件:kube-apiserver、etcd、kube-scheduler、kube-controller-manager、cloud-controller-manager

  • kube-apiserver:为k8s提供api接口服务。kube-apiserver支持支持水平扩展。
  • kube-scheduler:绑定Pod到Node上,主要做资源调度。
  • kube-Controller-Manager:控制管理器。资源对象的自动化控制中心,Kubernetes集群有很多控制器。

常用控制器类型:

  • 节点控制器:负责节点故障时的通知和响应。
  • 作业控制器:监视表示一次性任务的作业对象,然后创建Pods来运行这些任务直至完成。
  • 端点控制器:填充端点对象(即连接Services & Pods)。
  • 服务帐户和令牌控制器:为新名称空间创建默认帐户和API访问令牌
  • cloud-controller-manager:云控制管理器。用于管理运行于公有云上的k8s集群。如果不使用云商部署k8s集群,则集群没有此控制管理器。
  • Etcd:所有持久化的状态信息存储在Etcd中,这个是Kubernetes集群的数据库。

3.Node

Node节点是Kubernetes集群的工作节点,在Node节点上主要运行了kubelet、kube-proxy、Container runtime

  • Container runtime:容器运行时。
  • Kubelet:安装在Node上的代理服务,用来管理Pods以及容器、镜像、Volume等,实现对集群对节点的管理。
  • Kube-proxy:安装在Node上的网络代理服务,提供网络代理以及负载均衡,实现与Service通讯。

4.Addons

  • DNS:k8s集群应该有一个dns服务,用于为k8s集群提供服务。
  • Web UI(Dashboard)
  • Container Resource Monitoring: 容器监控插件
  • Cluster-level Logging:日志处理插件,将群集级别的日志保存到日志存储中心。

5.客户端工具

  • kubectl
Previous Post

随记

Next Post

使用kubeadm安装集群

Related Posts