• Kubernetes弃用Docker?别误解!这份理论实战都具备的手册还得继续学习呀


    前言

    对于传统开发时代,我们的环境经常成为生产环境部署的一个大问题,在这台机能跑起来的程序在另一台机就不一定能跑起来,或者因为版本等问题导致的程序错误,版本更新管理在程序中是非常麻烦的一个事情,因为我们引入的各种框架或其他开源项目,经常性会因为版本升级修复之前的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简单易用,工具链完整,界面友好,市面上很难找到与之相媲美的软件。应该说是入门级学习容器技术和云原生的“最佳选择”。

  • 相关阅读:
    活体检测综述 Deep Learning for Face Anti-Spoofing: A Survey 阅读记录
    如何实现简单的分布式链路功能?
    Linus Torvalds接受来自微软的Linux Hyper-V升级
    校园安保巡逻机器人
    Vhr项目技术学习知识点总结
    【转】推送消息&推送机制
    Go语言接口
    新式茶饮品牌如何写出生活感软文
    猿创征文|微信小程序扫描二维码如何跳转小程序内指定页面并传递参数给目标页面?
    【React】高频面试题
  • 原文地址:https://blog.csdn.net/LBWNB_Java/article/details/127684222