前言

对于传统开发时代,我们的环境经常成为生产环境部署的一个大问题,在这台机能跑起来的程序在另一台机就不一定能跑起来,或者因为版本等问题导致的程序错误,版本更新管理在程序中是非常麻烦的一个事情,因为我们引入的各种框架或其他开源项目,经常性会因为版本升级修复之前的bug而导致当前版本与其他依赖不兼容。
在这样的一个背景下docker应运而生,docker最强大的地方就是环境容器化,相当于装在了一个盒子里面。

Dokcer

docker正如上图一样,一群小鲸鱼就是docker上面的容器就是每一个独立的系统环境,在系统环境中安装着不同的应用程序包括redis、nginx、mysql,不过这里不推荐mysql使用容器化,因为容器化安装mysql有存储问题,以及出问题不好排查,所以所有的数据库不推荐使用docker去做,但是如果是小项目,还是可以靠docker compose去做容器自动化管理的。

对于技术人来说,掌握 Docker 技术,是进入大厂的敲门砖,也是升职加薪的必须选项。

Docker上手很容易,但如果将其应用于生产环境,则需要对它有更深入的理解。只有这样,才能确保应用符合我们的预期,或在遇到问题时可及时解决。所以,要想真正掌握Docker的核心知识,只靠网络上零散的信息往往是不够的,必须系统性地学习。

**这里整理这份以Docker的最新版本为基础,对比旧版本及Docker上游发展的差异,并对每个核心知识点进行由浅入深、从实践到内部原理的讲解。

话不多说先看看总目录

内容展示

Kubernetes

Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。

对于要求快速扩展的云原生应用而言(例如借助 Apache Kafka 进行的实时数据流处理),Kubernetes 是理想的托管平台。

作为云原生的“基石”,Kubernetes 是云原生浪潮中最重要也绕不开的一个话题。国内诸多大厂已经将核心业务系统运行在 Kubernetes 上(比如淘宝双十一、京东618等)。同时,无数中小企业也都在进行业务容器化探索以及云原生化改造。对于技术人来说,掌握 Kubernetes 不仅是提高职场竞争力的加分项,也是进阶高级架构师的必须选项。

Kubernetes理论到实战进阶指南—理论篇

在现在这个信息发达的社会下,谁能比别人领先一步掌握新技术,谁就在竞争中赢得了先机。 然而,在了解一个大的系统时,应该尽量先了解其基本概念、术语及核心原理。这个模块将从Kubernetes 的基本概念、术语及核心原理。

Kubernetes理论到实战进阶指南—实战篇

这个模块结合大量案例由浅入深地讲解了 Kubernetes的各个方面,包括平台架构、基础核心功能、网络、安全和资源管理以及整个生态系统的组成,旨在全面深入地掌握 Kubernetes+Docker的底层技术堆栈。

内容展示

理论篇

  • 第一部分:理解控制器
  • 第二部分:网络详解
  • 第三部分:伸缩原理
  • 第四部分:认证与调度
  • 第五部分:服务原理
  • 第六部分:镜像自动拉取

     

     

     

实战篇

  • 第七部分:节点就绪问题之一
  • 第八部分:节点就绪问题之二
  • 第九部分:命名空间删除问题
  • 第十部分:集群安全组配置管理
  • 第十一部分:二分之一活的微服务
  • 第十二部分:服务网格证书过期问题

     

总结
在写文章的过程中,很多读者留言询问 K8s 弃用 Docker 的事,担心现在学习 Docker 是否还值得,是不是该切换到 containerd 或其他运行时。
这些怀疑有一定的道理。两年前,K8s 发布“弃用 Docker”的消息时,确实在社区引起了“轩然大波”,影响甚至蔓延到了社区之外,K8s 不得不写了好几篇博客来重复解释原因。
两年过去了,虽然 K8s 1.24 已经实现了“弃用 Docker”的目标,但很多人似乎对这一点还不是很清楚。

其实,如果你了解了涉及的两个项目CRI,containerd你就会知道,K8s 的这一举动并不奇怪,一切都是“自然”的:其实只是“弃用 dockershim ”,也就是dockershim搬出kubelet,并不是“弃用 Docker”的软件产品。
因此,“弃用 Docker”对 K8s 和 Docker 的影响不大,因为它们都已经将底层改为开源containerd,原有的 Docker 镜像和容器仍然可以正常运行。唯一的变化是K8s绕过了Docker,直接调用Docker内部的containerd。
总的来说,Docker虽然在容器编排大战中败下阵来,被K8s挤到了墙角,但依然具有很强的生命力。多年积累的众多忠实用户和大量应用形象是其最大的资本和后盾。足以支持它在另一条不与 K8s 正面交锋的道路上。
对于初学者来说,Docker简单易用,工具链完整,界面友好,市面上很难找到与之相媲美的软件。应该说是入门级学习容器技术和云原生的“最佳选择”。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐