认识kubernetes

kubernetes含义、起源、归属

含义

希腊语:舵手、飞行员 在这里插入图片描述

起源

● 源自于谷歌Borg ● 使用golang语言开发 ● 简称为k8s

归属

现归属于CNCF ● 云原生(CloudNative)计算基金会 ● 是一个开源软件基金会,致力于使云计算普遍性和持续性 ● 官方:http://www.cncf.io 在这里插入图片描述

kubernetes版本

● 2014年9月第一个正式版本 ● 2015年7月1.0版本正式发布 ● 现在稳定版本为1.23 ● 主要贡献者:Google,Redhat,Microsoft,IBM,Intel ● 代码托管github:https://github.com/kubernetes/ 在这里插入图片描述

Kubernetes网址

● 官方网址 https://kubernetes.io/ 在这里插入图片描述 https://kubernetes.io/zh/ 在这里插入图片描述 中文社区: 在这里插入图片描述

kubernetes架构

软件架构说明

● 有中心节点分布式架构
  ○ hadoop集群
  ○ ceph集群
● 无中心节点分布式架构
  ○ glusterFS
● kubernetes是具有中心节点的分布式架构,也就是说有master管理节点
  ○ Master Node
    ■ 中心节点
    ■ manager
    ■ 简单叫法
      ● master节点
  ○ Minion Node
    ■ 工作节点
    ■ worker
    ■ 简单叫点
      ● node节点
      ● worker节点

Kubernetes架构图示图

在这里插入图片描述

Kubernetes集群节点组件

Master节点组件

master节点是集群管理中心,它的组件可以在集群内任意节点运行,但是为了方便管理所以会在一台主机上运行Master所有组件,并且不在此主机上运行用户容器

Master组件包括:

  • kube-apiserver:用于暴露kubernetes API,任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。
  • kube-controller-manager:控制器管理器,用于对控制器进行管理,它们是集群中处理常规任务的后台线程。
  • kube-scheduler:监视新创建没有分配到Node的Pod,为Pod选择一个Node运行。
  • ETCD是kubernetes提供默认的存储系统,保存所有集群数据。

Node节点组件介绍

node节点用于运行以及维护Pod, 管理volume(CVI)和网络(CNI),维护pod及service等信息

Node组件包括:

  • kubelet:负责维护容器的生命周期(创建pod,销毁pod),同时也负责Volume(CVI)和网络(CNI)的管理
  • kube-proxy :通过在主机上维护网络规则并执行连接转发来实现service(iptables/ipvs),随时与apiserver通信,把Service或Pod改变提交给apiserver,保存至etcd(可做高可用集群)中,负责service实现,从内部pod至service和从外部node到service访问。
  • Container Runtime
    • 容器运行时(Container Runtime)
    • 负责镜像管理以及Pod和容器的真正运行
    • 支持docker/containerd/Rkt/Pouch/Kata等多种运行时

Add-ons介绍

Add-ons(附件)使功能更丰富,没它并不影响实际使用,可以与主体程序很好结合起来使用

  • coredns/kube-dns: 负责为整个集群提供DNS服务
  • Ingress Controller 为服务提供集群外部访问
  • Heapster/Metries-server 提供集群资源监控(监控容器可以使用prometheus)
  • Dashboard 提供集群GUI
  • Federation 提供跨可用区的集群
  • Fluentd-elasticsearch 提供集群日志采集、存储与查询

results matching ""

    No results matching ""