云资源优化服务 SpotMax 无缝集成了 Kubernetes,可便捷实现容器的治理与自动化公布。==>> 戳链接理解 SpotMax
在往期的“云”住民生存训练营 – 玩转 k8s 直播中,汇量科技技术 VP、首席工程架构师蔡超 介绍了一系列实用的k8s 一线实践经验。以下是文字版内容节选。关上你的小本本,开始做笔记吧!
Make the Things Immutable
CI/CD 过程是⼀个一直将 “可变”转化为“不可变” 的过程,即让利用公布变得 稳固、可反复。
如图,整个流程中,咱们顺次锁定了业务逻辑、运行环境、拓普部署构造等。最初加上相干的运行时配置, 如 ConfigMap 中配置,就构建出了整个服务的运行时。
不可变基础设施(immutable infrastructure)是云原生畛域中一个重要概念。同样地,带着 将“mutable”转为“immutable”的思维,咱们将更能领会 k8s 的设计理念与其深层逻辑。
Map Your Organization into K8s
为何须要 Map Your Organization into K8s(在 K8s 中映射组织架构)?
晚期云原生的定义蕴含了 4 个局部:微服务 、 容器化 , 继续公布 CD,DevOps。在这背地,人们经常会提到 康威定律:
“零碎的架构肯定要合乎组织的架构,有什么样的组织,也会设计出什么样的软件系统的架构。”——Melvin E. Conway
康威定律曾经被大量麻利的组织所验证无效,例如 Amazon 等云原生和微服务的先行者。因而,在 k8s 中映射组织架构,是 DevOps 和微服务等云原生实际的重要一步。
Kubernetes 不仅是容器编排引擎,更是 DevOps 和继续公布的外围——开发、部署、整个继续公布的过程都构建在 k8s 上。
其中,Namespace 的概念不仅能够用来组织微服务,同样能够用来 实现多租户治理,这一过程可无效配合微服务和 DevOps 的开发理念、并恪守了康威定律。
咱们能够将整个应⽤相干的多个微服务、以及与之对应的我的项目、开发团队映射到 K8S 中,实现 更高效地构建 CD、放弃不同环境的一致性 ,从而 便捷实现人员的权限管制和治理。
构建镜像:Less is more
制作 docker 时,镜像的 size 越小越好,即 less is more——更小的镜像,也会有 更少的破绽,从而更加平安。
此外,如果镜像太大,每次启动新的 container/pod 时,pull 镜像的工夫将会过长,因而,更小的镜像也能够实现疾速 scaling。
dockerfile 中的 base 抉择不同,会带来很大差异。比拟两个罕用根底镜像的大小:
ubuntu:72.8M
alpine:5.59M
当然,更小的镜像,镜像中的工具就会更少——这是一个 Trade-Off。
然而在 production 时,仍然应该尽量将镜像的 size 管制得更小,可把调试做在 Dev 镜像 外面,让非生产环境实现这一工作。在生产环境中,咱们应该用更小的镜像,实现更快的启动速度,保障更高的安全性。
————————————
完整版直播视频回放,请戳:
https://www.bilibili.com/vide…
扫描下方二维码,即可获取完整版 PPT,理解更多内容!