【Kubernetes】以LOL的视角打开K8s

前言

对于大部分后端程序员乃至于非后端程序员来说,在当前的云原生时代,Kubernetes(后称K8s)都是绕不开的一项技术;同时,对于这个时代的程序员来说,“英雄联盟”(后称LOL)也是陪伴包括我在内的很多人成长的一款游戏。

在我的工作经历中,常常在组内有小伙伴需要使用到K8s的时候对K8s没有必要的概念,但是我发现和他们聊起LOL却总能找到共同语言,所以我就在想,既然K8s本身的学习曲线不是那么平缓,那么是不是可以借助LOL来帮大家理解什么是K8s呢?

目的

本系列文章的目的是借助LOL,帮大家更好地理解K8s,入门K8s,上手K8s。

设计的内核

每一项产品都有它的一个设计的内核,对于LOL来说,它本质是一款游戏,它的内核就是“通过各种手段,摧毁对方的基地”,不管你是通过兵线运营、击杀对手、控制中立资源,这所有的一切都是围绕最终的目的:摧毁对方的基地,来服务的

那么对于K8s来说,设计的内核就是更好的进行容器的管理(对于什么是容器,不在本文的讨论范围内,可以自行搜索一下),不管是我们创建deployment,service,statefulset,我们最终的目的,都是对容器进行管控,让封装在容器内的应用更好的运行。

LOL的英雄 - K8s的容器

LOL的一局游戏是根据这局游戏中的10位英雄展开的。不同的英雄有不同的定位:有些是AP英雄、有些是AD英雄;有些擅长输出,有些擅长辅助。
在这里插入图片描述

同样,对于K8s来说,一套K8s集群都是围绕着集群中的容器在运转,就像k8s官方描述的那样,它是一个容器编排平台。搭载不同业务的容器有不同的编排方式:有些需要持久化数据,有些只用处理一些无状态的请求;有些需要对外暴露端口,有些则在容器内自己玩就行。

LOL的英雄定位 - K8s的工作负载资源

在LOL中,有了英雄,我们要给它分配不同的定位:上路、中路、下路、打野、辅助,不同场景需要不同定位的英雄,比如作为辅助的风女就是没办法替代盲僧取野区刷野,作为战士的盖伦也没法替代女枪在后期作为射手提供输出。
在这里插入图片描述

K8s也是一样,有了镜像或者说应用,我们要给它配置不同的工作负载资源Workload Resources。K8s中的工作负载资源(Workload Resources)是用于管理应用的部署、扩展和操作的核心概念。这些资源帮助用户定义应用程序的期望状态,并自动处理实际状态与期望状态之间的差异。以下是几种主要的工作负载资源及其适用场景:

🌀 ​​Deployment​

​功能​​:管理无状态应用的 Pod 副本集,支持声明式更新、滚动升级和回滚。
​核心特性​​:

  • ​滚动更新​​:通过 maxUnavailable(最大不可用 Pod 数)和 maxSurge(最大额外
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThisIsClark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值