Git Product home page Git Product logo

kubernetes-faq's Introduction

What Is Kubernetes?

kubernetes官方对自己的定义是:“生产级别的容器编排系统:用于自动部署,扩展和管理容器化应用程序”。但是我们能从这样一个“容器编排系统”中获得什么呢?不同的角色恐怕会得到不同的答案,我们先将一个公司IT系统中人员做一个简单的划分:

  • 基础运维:负责基础平台的建设,为所有业务应用提供运行环境
  • 业务开发:负责业务应用的开发、交付、运维
  • 微服务架构:全局掌控微服务的状态

基础运维工程师

对基础运维工程师来讲,Kubernetes是一个可以管理众多机器的系统,如果没有合适的工具辅助,单人管理的机器数量上百台就快要接近极限了,而Google的SRE可以依靠kubernetes的前身(Borg)每人管理上万台机器,那么对基础运维工程师来说,Kubernetes为我们的工作带来了哪些便利?

  • 云上快速的创建/销毁集群和上/下线节点的能力
  • 在云上提供计算资源的自动伸缩能力,兼顾任务的执行效率和资源的利用率
  • 在一个集群内给不同的团队逻辑上的资源隔离和限制
  • 将云上的基础设施能力暴露给上层的业务人员,比如SLB、云盘、NAS等

业务开发工程师

随着Devops理念的盛行,越来越多的开发人员职责发生转变,逐渐从“编码”过渡到“交付可用的服务”,那么对业务开发人员来讲,Kubernetes这样一个“应用运行平台”又有什么过人之处呢?

  • Application as Code:改变一切的声明式API
    • 提供故障自愈的能力
    • 提供水平伸缩的能力
    • 提供自定义调度的能力
    • 提供自定义健康检查的能力
    • 提供自定义服务暴露的能力
    • ......
  • Pod的设计提供了进程组间隔离,进程组内共享的能力

微服务架构师

随着服务规模的扩大,利用微服务理念重构几乎是所有企业的必经之路,在这方面Kubernetes又提供了哪些能力呢?

  • 天然的进程隔离
  • 无成本的多语言支持
  • 自带基于DNS的服务注册发现

当然上面这些能力还不足以称之为一个完备的微服务平台,通常要配合Service Mesh的领域的工具,比如Istio来做微服务的实现

另外,对于AI/大数据领域的人员来讲,Kubernetes也是一个很好的任务调度和资源管理平台

kubernetes-faq's People

Contributors

hymian avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.