阅读本文大概需要 3 分钟。
来源:UCloud云计算
熟悉Kubernetes的程序员,都是最帅的人吧。
在资源编排的宇宙里,有哪些秘密可以探索呢?这里以漫画的形式整理一份K8S知识点清单,所有你知道的、不知道的基础知识点,都在这里了。
1. 虚拟机
如果将各式各样的应用一起放到一个虚拟机里,虚拟机就会被变得杂乱无章,应用与应用之间还有可能因为抢资源打起来,但如果为他们每人分配一个独立的虚拟机,服务器就变得特别笨重,资源浪费严重,真的是费水费电费钱!
2. 容器
然后,小鲸鱼出现了,带来了容器。将依赖的库和配置直接打包,为应用程序提供了一个独立的运行环境。
装进容器后,应用一样运行。对于应用程序开发工程师来说,“一次构建、到处运行”(Build one,Run anywhere);对于运维工程师来说,“一次配置,运行所有。”(Congifure Once,Run Anything)。
简单说,无论晴天、雨天还是暴风雪,都是应用程序运行的一天。
3. Kubernetes
容器多了之后,资源调度和编排的效率问题就会凸显出来,这时候就需要资源编排专家“Kubernetes” 了。
在希腊语中Kubernetes是舵手或是飞行员的意思,可以帮助你管理生产环境中运行的数千个容器。它具体怎么解决问题的呢?
4. Label
Label(标签)是Kubernetes 非常有特色的功能之一,可以使用它来标识任何资源对象,完成的是对资源分类的功能,通过它可以提升管理效率。
虽然吧,Label可以让你按照自己的喜好来标识资源对象,但实践过程中,一个好的程序员都会尽量保持简单,做到“见名知义”。
5. Pod的三种资源对象
在Kubernetes中,Pod代表一个可运行的工作单元,是最小的调度单元。通常,你会在Pod中运行一个容器,但你不会直接部署及管理Pod对象,而是借助控制器来管理Pod。而ReplicaSet、DaemonSet和StatefulSet是pod的三种资源对象。
ReplicaSet和DaemonSet常用于管理无状态应用和常驻应用,对于有状态应用的管控,则由StatefulSet来完成。
6. 升级 & 回滚
滚动更新升级可以是说一种近乎无缝的平滑的升级方式了,可以在不停止对外提供服务的前提下,通过逐!个!替!换!的策略来完成应用的更新,使应用平滑的升级。
另外,滚动升级结束后你还是可以回滚到任何历史版本的,这样也就避免出现问题后带来的影响了。
7. HPA
HPA,全名Horizontal Pod Autoscale,学名叫Pod的水平自动扩缩,俗称横向扩缩。当工作负载升高的时候,K8S将会自动扩容pod数量,当工作负载下降的时候,K8S将自动缩容pod数量,犹如鸣人的分身一般好用。
伸缩都是自动化的,是不是好酷!
8. Cloud Native
最后,要说的是云原生,它是一个思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等,以及根据商业能力对公司进行重组。Cloud Native既包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定律,重组等)。Cloud Native也可以说是一系列Cloud技术、企业管理方法的集合。
后台回复“加群”,带你进入高手如云交流群
推荐阅读:
▼
喜欢,就给我一个“在看”
10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024」,即可免费获取!