一、认识容器编排

  • docker machine

  • docker compose

  • docker swarm

    • docker service
    • docker stack
  • kubernetes

  • mesos+marathon

二、认识kubernetes

在这里插入图片描述

官方地址 —— 中文官方地址 —— 中文社区

希腊语:舵手、飞行员, 来自于谷歌Borg, 使用golang语言开发

简称为k8s, 现归属于CNCF

  • 云原生计算基金会

  • 是一个开源软件基金会,致力于使云计算普遍性和持续性

kubernetes版本

  • 2014年9月第一个正式版本
  • 2015年7月1.0版本正式发布
  • 现在稳定版本为1.23
  • 主要贡献者:Google,Redhat,Microsoft,IBM,Intel
  • 代码托管github
    在这里插入图片描述
    在这里插入图片描述
    用户
  • 2017年docker官方宣布原生支持kubernetes
  • RedHat公司 PaaS平台 OpenShift核心是kubernetes
  • Rancher平台核心是kubernetes
  • 现国内大多数公司都可使用kubernetes进行传统IT服务转换,以实现高效管理等。

三、kubernetes架构

kubernetes是具有中心节点的架构,也就是说有master管理节点

节点角色分为:

  • Master Node manager
  • Minion Node worker

架构图示

在这里插入图片描述
在这里插入图片描述

Master节点组件介绍

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

Master组件包括:

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

控制器包括:

  • 节点(Node)控制器
  • 副本(Replication)控制器:负责维护系统中每个副本中的pod
  • 端点(Endpoints)控制器:填充Endpoints对象(即连接service&pods)
  • Service Account和Token控制器:为新的NameSpaces创建默认帐户访问API Token

Node节点组件介绍

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

Node组件包括:

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

Add-ons介绍

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

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

在这里插入图片描述

下一篇:kubeadm部署k8s集群

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐