kubernetes文档中文翻译-Kubernetes是什么(What is Kubernetes)

简介: Kubernetes简介

Kubernetes概述

  • 回顾历史
  • 你为什么需要Kubernetes,它能为我们做什么
  • Kubernetes不适宜的场景
  • 接下来的内容

Kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的场景和服务,Kubernetes有利于声明性的配置和自动化运维。Kubernetes拥有庞大的,快速发展的生态系统。Kubernetes拥有广泛的服务,支持和工具。
Kubernetes的名字源于希腊,它的含义是舵手和飞行员。google在2014年开源了该项目。Kubernetes构建在google的15年大规模生产环境部署运维的经验上,同时结合和社区的创意和经验。

回顾历史

我们通过回顾历史来阐述为什么Kubernetes的意义
1567243110744
传统部署应用方式:早期,企业在物理机上部署应用程序。在这种部署模式下,无法限制应用程序使用物理机的资源、并且导致了资源分配的问题。例如,如果物理机上运行多个应用程序,可能存在一个应用程序占用过多的物理机资源,从而造成其他的应用程序性能下降。该问题的解决方案是在不同的物理机上运行每一个应用程序,这种方式资源利用率低,并且不能扩展、企业维护大量的物理机的运维成本很高。

虚拟机部署应用方式:为了解决传统部署应用带来的问题,引入了虚拟化的解决方案。它允许你在单一的物理机上运行多个虚拟机。虚拟化能够在多个虚拟机之间进行隔离,并且提供一定程度的安全性,使得不同的虚拟机之间不能自由访问对方。虚拟化能够更好的利用物理机资源,并且提供了可扩展性,因为添加和更新应用程序更加方便,同时降低了硬件成本。每个VM都是在硬件虚拟化上运行所有的组件,包括其自己的操作系统。

容器化部署方式:容器类似于VM,但是他们具有宽松的隔离属性,可在应用之间共享操作系统。所以,容器被认为是轻量化的。和VM类似,容器具有自己的文件系统、CPU、内存和进程空间等。容器和底层基础架构分离,它们可以跨云和OS进行移植。
容器越来越受到欢迎,它可以给你带来很多好处,下面列出容器的一些优势:

  • 敏捷的应用程序构建和部署。和VM镜像相比,构建容器镜像更加容易和便捷。
  • 持续开发、集成和部署。通过快速和简便的回滚,提供了可靠和快捷的容器的构建和部署。
  • dev和ops分离的考虑。在构建和发布时创建容器镜像,从而将应用程序和基础架构分离。
  • 可观测性。不仅仅是OS级别的监控指标,还可以显示应用程序的健康状况和其他信息。
  • 开发、测试和生产的环境一致性。在笔记本电脑上运行和在云上运行一致。
  • 云和OS发布的可移植性。可以在Ubuntu, RHEL, CoreOS, on-prem, Google Kubernetes Engine等上运行
  • 以应用为中心的管理。提高抽象层次,从虚拟化硬件上运行操作系统到使用逻辑资源在OS上运行应用程序
  • 松耦合、分布式、弹性,开放的微服务。应用程序被拆分为更小的独立单元,可以动态部署和管理,而不是单体应用
  • 资源隔离。可预测的应用性能
  • 资源利用,高效和高密度的利用资源。

我们为什么需要Kubernetes,它能做什么

容器是运行应用程序的一种好的方式,在生产环境中,你需要管理运行应用程序的容器,并且确保它不宕机,如果一个容器宕机,需要启动另外一个容器来补充。如果系统处理这种情况,是不是使生产环境运维更加容易?
Kubernetes为您提供了一种弹性运行分布式系统的架构。Kubernetes负责您的应用扩展需求,故障转移,部署模式等。例如,Kubernetes可以轻松的管理系统金丝雀部署。
Kubernetes提供了如下功能:

  • 服务发现和负载均衡
    Kubernetes可以通过DNS的名称或者容器的IP对外暴露服务,如果请求量比较大,Kubernetes能够负载均衡和分配请求来确保部署的稳定。
  • 存储编排
    Kubernetes允许你自动挂载您选择的存储系统,例如本地存储,公有云提供商。
  • 自动部署和回滚
    你可以使用Kubernetes描述你部署应用的期望状态,并且以受控的速率将实际状态修改成期望的状态。例如,你可以自动让Kubernetes为您的部署创建新的容器,移除现有的容器并将所有的资源用于新的容器。
  • 自动装箱
    Kubernetes允许指定每个容器的CPU和内存的需求,当容器指定了资源请求时,Kubernetes可以更好的管理容器的资源。
  • 自我恢复
    Kubernetes重启宕机的容器,替换容器,杀死无法响应用户自定义健康检查的容器。
  • 秘钥和配置管理
    Kubernetes允许你存储和管理敏感的信息,例如密码,OAuth tokens和ssh keys。你可以部署和更新应用程序配置,而不用重新构建容器的镜像,也不需要在您大量配置中暴露您的秘钥。

Kubernetes不是什么

Kubernetes不是传统的,包罗万象的Paas系统,因为Kubernetes运行在容器层次而不是硬件层次,它提供Paas产品的一些通用的功能,例如部署、扩展、负载均衡、日志和监控。然而,Kubernetes并不是一个庞大的系统,这些默认的功能是可选的和可插拔的,Kubernetes提供了构建开发者平台的可选的能力,在重要的地方保留了用户的选择和灵活性。
Kubernetes:

  • Kubernetes不限制支持的应用的类型,Kubernetes目标是支持各种运行场景,包括无状态的应用场景、有状态的应用场景、数据处理应用场景,如果应用程序可以在容器中运行,那么它应该在Kubernetes中运行的很好。
  • 不部署源代码和不构建您的应用程序,持续集成、交付、部署(CI/CD)的工作流程由企业的约定规则和技术要求来决定。
  • 不提供应用程序层次的服务,例如中间件(例如消息总线),数据处理框架(例如spark),数据库(例如mysql),缓存,分布式存储(例如Ceph)来作为内置的服务,这些组件可以在Kubernetes中运行,或者通过方便的机制(例如Open Service Broker)能够让运行在Kubernetes中的容器访问。
  • 并不指定日志、监控、报警系统,它提供了一些概念的集成组件,一种机制来采集、暴露指标。
  • 不提供,更没有强制规定一种配置语言。它提供一种声明式的API,通过任意形式的声明性规范来实现。
  • 没有提供或者采用任何全面的机器配置,维护,管理或自我修复系统。
  • 此外,Kubernetes不仅仅是一个编排系统,事实上,它消除了编排的需求。编排的技术性定义是执行定义的工作流程。首先做A,然后做B,最后做C。相反,Kubernetes由一组独立的,可组合的控制处理器组成。这些控制处理器将容器的当前状态更改成你所期望的状态。你不用关心如果从A到C。集中的控制系统是不需要的,这使得系统更容易使用、更强大、更健壮、更有弹性、并且可以扩展。
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6月前
|
缓存 Kubernetes 数据安全/隐私保护
k8s1.18多master节点高可用集群安装-超详细中文官方文档
k8s1.18多master节点高可用集群安装-超详细中文官方文档
|
存储 运维 Kubernetes
终于读完了阿里云p9专家分享云原生Kubernetes全栈架构师实战文档
Kubernetes(简称K8s)发布至今已经被越来越多的公司所接纳,其受欢迎程度更是超过了人们的想象,已逐渐成为很多公司的标配,尤为重要的是掌握Kubernetes几乎成为所有互联网技术人员必备的一项技能。 Kubernetes的诞生象征着下一代云计算的时代已经来临,它的出现让很多应用和架构逐步实现了统一化、标准化、简单化,降低了公司因为架构设计不合理带来的问题,而且也大大减少了运维成本,使用Kubernetes可以轻轻松松管理上千台服务器、上万个容器节点。
|
6月前
|
Kubernetes 应用服务中间件 API
kubernetes HPA-超详细中文官方文档
kubernetes HPA-超详细中文官方文档
|
6月前
|
Kubernetes Linux 网络安全
k8s1.18高可用集群安装-超详细中文官方文档
k8s1.18高可用集群安装-超详细中文官方文档
|
9月前
|
JSON Kubernetes 前端开发
保姆级二进制安装高可用k8s集群文档(1.23.8)
市面上有很多方式,最终主要分两种,kubeadmin 和二进制.
1362 0
|
11月前
|
弹性计算 运维 Kubernetes
计算巢Kubernetes集群部署(Ack-Distro)服务实例部署文档
## 概述 Kubernetes集群部署(Ack-Distro)是计算巢官方提供的基于Ack-Distro部署K8S集群的服务。关于Ack-Distro,请参见[Ack-Distro](https://github.com/AliyunContainerService/ackdistro/)。 本文向您介绍根据该服务部署实例的流程和使用说明。 ## 计费说明 Kubernetes集群部署(A
232 0
|
Kubernetes Unix Linux
Kubernetes部署文档 使用cri-docker部署K8s集群
Kubernetes部署文档 使用cri-docker部署K8s集群
|
机器学习/深度学习 分布式计算 Kubernetes
Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载
Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载
93 0
Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载
|
Kubernetes Cloud Native 架构师
靠686页云原生Kubernetes全栈架构师实战文档成功上岸阿里高级岗
辛辛苦苦三个月,每天都遨游在知识的海洋当中,不知不觉已经把云原生Kubernetes给搞透了,并且拿到了阿里架构高级岗! 说实话,是真的有点佩服自己的毅力和吸收能力,人要是狠起来自己都害怕! 那我就不藏着掖着了,直接把这个PDF分享出来给大家共同钻研!希望大家能够珍惜!

推荐镜像

更多