【K8S系列】第一讲:基础概念入门

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 【K8S系列】第一讲:基础概念入门

Kubernetes是什么意思?K8S

Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”K8s是将8个字母“ubernete”替换为“8”的缩写。

Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。


Kubernetes 特点

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

可扩展: 模块化, 插件化, 可挂载, 可组合

自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展


传统部署方式:

传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。


新的部署方式:

新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。

容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚机轻量、更“透明”,这更便于监控和管理。


容器优势总结:

快速创建/部署应用:与VM虚拟机相比,容器镜像的创建更加容易。

持续开发、集成和部署:提供可靠且频繁的容器镜像构建/部署,并使用快速和简单的回滚(由于镜像不可变性)。

开发和运行相分离:在build或者release阶段创建容器镜像,使得应用和基础设施解耦。

开发,测试和生产环境一致性:在本地或外网(生产环境)运行的一致性。

云平台或其他操作系统:可以在 Ubuntu、RHEL、 CoreOS、on-prem、Google Container Engine或其它任何环境中运行。

Loosely coupled,分布式,弹性,微服务化:应用程序分为更小的、独立的部件,可以动态部署和管理。

资源隔离

资源利用:更高效


k8s能实现:


k8s的误解:

Kubernetes并不是传统的PaaS(平台即服务)系统。

Kubernetes不限制支持应用的类型,不限制应用框架。不限制受支持的语言runtimes (例如, Java, Python, Ruby),满足12-factor applications 。不区分 “apps” 或者“services”。 Kubernetes支持不同负载应用,包括有状态、无状态、数据处理类型的应用。只要这个应用可以在容器里运行,那么就能很好的运行在Kubernetes上。

Kubernetes不提供中间件(如message buses)、数据处理框架(如Spark)、数据库(如Mysql)或者集群存储系统(如Ceph)作为内置服务。但这些应用都可以运行在Kubernetes上面。

Kubernetes不部署源码不编译应用。持续集成的 (CI)工作流方面,不同的用户有不同的需求和偏好的区域,因此,我们提供分层的 CI工作流,但并不定义它应该如何工作。

Kubernetes允许用户选择自己的日志、监控和报警系统。

Kubernetes不提供或授权一个全面的应用程序配置 语言/系统(例如,jsonnet)。

Kubernetes不提供任何机器配置、维护、管理或者自修复系统。


另一方面,大量的Paas系统都可以运行在Kubernetes上,比如Openshift、Deis、Gondor。可以构建自己的Paas平台,与自己选择的CI系统集成。

由于Kubernetes运行在应用级别而不是硬件级,因此提供了普通的Paas平台提供的一些通用功能,比如部署,扩展,负载均衡,日志,监控等。这些默认功能是可选的。

另外,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
相关文章
|
3月前
|
Kubernetes 负载均衡 Perl
kubernetes—五个概念入门(二)
kubernetes—五个概念入门(二)
68 0
|
3月前
|
Kubernetes 应用服务中间件 数据中心
kubernetes—五个概念入门(一)
kubernetes—五个概念入门(一)
78 0
|
5月前
|
Kubernetes 关系型数据库 MySQL
k8s教程(基础篇)-入门及案例
k8s教程(基础篇)-入门及案例
553 0
|
6月前
|
存储 Kubernetes 调度
【K8S系列】第二讲:Pod入门
【K8S系列】第二讲:Pod入门
77 0
|
4月前
|
Kubernetes API 调度
Kubernetes 入门
一、Kubernetes 简介 二、Kubernetes 架构
88 1
|
1月前
|
Kubernetes 开发工具 Docker
K8S 极速入门
K8S 极速入门
54 0
|
6月前
|
Kubernetes Cloud Native Go
Kubernetes实践:从入门到实践
Kubernetes实践:从入门到实践
93 0
|
2月前
|
Kubernetes 网络协议 API
玩转Kubernetes—基础概念篇
玩转Kubernetes—基础概念篇
60 1
|
5月前
|
存储 运维 Kubernetes
K8s Operator总结----(一、)基础概念
如何基于k8s,进行二次定制化开发,系列文章,小试一下。
68 1
|
5月前
|
存储 Kubernetes API
(二)容器从入门到深入-初识Kubernetes
(二)容器从入门到深入-初识Kubernetes

推荐镜像

更多