原文地址:

https://github.com/feiskyer/kubernetes-handbook/blob/master/zh/SUMMARY.md

目录:

   第二章 核心原理
    2.1 架构原理
    2.2 设计理念
    2.3 核心组件
    2.4 etcd
    2.5 kube-apiserver
        2.5.1 访问 API
        2.5.2 扩展 API
    2.6 kube-scheduler
    2.7 kube-controller-manager
    2.8 kubelet
        2.8.1 容器运行时
    2.9 kube-proxy
    2.10 kube-dns
    2.11 Federation
    2.12 kubeadm
    2.13 hyperkube
    2.14 kubectl

正文:

   Kubernetes 最初源于谷歌内部的 Borg,提供了面向应用的容器集群部署和管理系统。Kubernetes 的目标旨在消除编排物理 / 虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营。Kubernetes 也提供稳定、兼容的基础(平台),用于构建定制化的 workflows 和更高级的自动化任务。 Kubernetes 具备完善的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度机制、多粒度的资源配额管理能力。 Kubernetes 还提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。

Borg 简介

    Borg 是谷歌内部的大规模集群管理系统,负责对谷歌内部很多核心服务的调度和管理。Borg 的目的是让用户能够不必操心资源管理的问题,让他们专注于自己的核心业务,并且做到跨多个数据中心的资源利用率最大化。

    Borg 主要由 BorgMaster、Borglet、borgcfg 和 Scheduler 组成,如下图所示

         

  • BorgMaster 是整个集群的大脑,负责维护整个集群的状态,并将数据持久化到 Paxos 存储中;
  • Scheduer 负责任务的调度,根据应用的特点将其调度到具体的机器上去;
  • Borglet 负责真正运行任务(在容器中);
  • borgcfg 是 Borg 的命令行工具,用于跟 Borg 系统交互,一般通过一个配置文件来提交任务。

Kubernetes 架构

Kubernetes 借鉴了 Borg 的设计理念,比如 Pod、Service、Labels 和单 Pod 单 IP 等。Kubernetes 的整体架构跟 Borg 非常像,如下图所示

      










Logo

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

更多推荐