kubernetes开发指南

这篇具有很好参考价值的文章主要介绍了kubernetes开发指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

选题背景,市场需求,产品定位

云原生的迅速崛起让越来越多开发者进入容器领域,作为云原生的核心项目kubernetes更是从业者最需要掌握的一门技术,市场上关于使用和入门类书籍非常之多,但是开发类书籍基本还是一个空缺,同样社区的官方文档也少之又少。本书希望为开发提供一定的指导作用,在开发中少走弯路,适合已经具备一定容器技术基础和编程能力基础的读者阅读,属于kubernetes进阶类书籍。

内容简介

kubernetes具备极强的扩展性,本书通过深入浅出的方式介绍如何开发kubernetes, 包含上层的client-go使用,CRD开发,adminssion webhook, 和底层三大接口实现开发(CNI CSI CRI),以及核心组件的定制,如定制调度器,apiserver,kubelet等。通过学习这些开发技巧能更深入的理解技术原理以及在系统之上实现我们自己想要的功能。

大纲目录

第一章. 开发环境与编译测试

  • 1.1. 编译kubernetes源码
  • 1.2. CI/CD自动化编译源码
  • 1.3. Makefile与编译脚本分析

第二章. client-go开发指南

  • 2.1. 环境构建
  • 2.2. 一个简单的示例
  • 2.3. 认识证书与kubeconfig
  • 2.4. client-go架构分析
  • 2.5. dynamic client
  • 2.6. rest client
  • 2.7. cache client
  • 2.8. informer

第三章. CRD与adminssion webhook开发

  • 3.1. 一个Cronjob示例
  • 3.2. API版本
  • 3.3. CRD编码
    • 3.3.1. 生成CRD
    • 3.3.2. 使用Finalizers
    • 3.3.3. admission controller原理
    • 3.3.4. admission webhook
    • 3.3.5. 代码生成标记
    • 3.3.6. contoller生成命令行工具
    • 3.3.7. 编写测试用例
    • 3.3.8. metrics

第四章. CRI实现

  • 4.1. pod接口
  • 4.2. 容器接口
  • 4.3. 镜像接口
  • 4.4. 实现一个简单的CRI

第五章. CNI实现

  • 5.1. CNI概览
  • 5.2. CNI命令与参数
  • 5.3. CNI命令返回值
  • 5.4. 网络配置参数
  • 5.5. IP地址分配
  • 5.6. 动手实现CNI

第六章. CSI实现

  • 6.1. sidecar容器
  • 6.2. CSI对象
  • 6.3. CSI特性
  • 6.4. 部署CSI驱动
  • 6.5. 测试驱动
  • 6.7. 实现一个本地存储CSI

第七章. 扩展apiserver

  • 7.1. 认证模块
  • 7.2. 授权模块
  • 7.3. 准入控制
  • 7.4. 聚合server
  • 7.5. 存储接口

第八章. 定制kube-sheduler

  • 8.1 认识调度器cache
  • 8.2 调度算法
  • 8.3 预选与优选
  • 8.4 调度队列
  • 8.5 定制支持深度学习批任务

第九章. 定制kubelet

本书特色

全面

本书从上层开发到底层云内核(指kubernetes)云驱动(指CNI CSI CRI等)开发都会涉及。

实用

书中内容是kubernetes开发必然会涉及到的一些主流方法,能够帮助我们快速实现一些想要的功能,以及在原生特性不满足时如何进行改造扩展。

注重原理

很多一些细节知识,如某个接口某个函数是会经常发生变化,所以本书更侧重透过代码看本质,看原理理念与标准等,细节东西读者可能会忘记,但是这些理念性的东西会永远沉淀下来成为读者的宝贵财富。

不乏实践

书中开发例子会针对一些特定场景来设计一些demo,我们鼓励读者多实践从而加深对原理的理解,案例代码我们也会放到github上进行长期更新,书中更多设计一些重要逻辑。

重要信息

读完本书读者应当掌握以下内容:文章来源地址https://www.toymoban.com/news/detail-422277.html

  1. 熟练使用client-go进行上层开发,理解client中的cache informal等原理
  2. 熟悉CRD adminsion webhook开发,并深入掌握一个CRD框架的使用与原理
  3. 熟悉各核心组建的原理并理解整体框架,具备扩展任何一个核心组件的能力,理解核心组件中的“套路”,以不变应万变
  4. 掌握自研CNI CSI CRI的能力
  5. 学会kubernetes开发中的一些技巧运用到自己别的项目中

到了这里,关于kubernetes开发指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一招解决开发环境问题——远程容器开发指南

    使用C++作为主要开发语言的程序猿们应该会认同搭建开发环境是一件烦人的事情。为了编译一个程序不仅需要下载各种依赖包,还可能面临本地系统不兼容、编译器版本不一致、包版本冲突等各种问题。笔者在运营iLogtail开源社区的过程中发现开发和调试环境问题也是成员问

    2024年01月16日
    浏览(52)
  • 智能合约平台开发指南

    随着区块链技术的普及,智能合约平台已经成为了这个领域的一个重要趋势。智能合约可以自动化执行合同条款,大大减少了执行和监督合同条款所需的成本和时间。那么,如何开发一个智能合约平台呢?以下是一些关键步骤。 一、选择合适的区块链平台 智能合约通常运行

    2024年04月14日
    浏览(34)
  • ZEPHYR 快速开发指南

    国内小伙伴在学习zephyr的时候,有以下几个痛点: 学习门槛过高 github访问不畅,下载起来比较费劲。 这篇文章将我自己踩的坑介绍一下,顺便给大家优化一些地方,避免掉所有的坑。 首先用 virtualbox 来安装一个ubuntu22.04 本文适应的是ubuntu的操作系统 github.com 有时候无法访问

    2024年02月15日
    浏览(47)
  • LuatOS 开发指南

    下载软件 下载官方NDK例程压缩包到本地,并解压。可以看到目录如下: doc: 文档教程 env: 编译环境 example: NDK示例 platform: 需要编译的平台(air72x/air8xx) tools: 其他辅助软件 VSCode 使用VSCode打开NDK文件夹,并可以在VSCode中进行代码的编写和编译。 编译 打开终端,并进入到 exa

    2024年02月10日
    浏览(52)
  • 服务器(容器)开发指南——SSH打洞开发

    在进行定制化的服务开发时,我们有时候只能在固定的服务器上进行服务的开发。此时,通过命令行的方式进行开发的难度较大。我们可以考虑通过SSH打洞的方式,通过本地IDE的SSH连接功能来获取远程的环境进行代码的开发修改。 随着容器化技术的发展,越来越多的产品服务

    2024年02月15日
    浏览(44)
  • BFF网关模式开发指南

    BFF是近些年新衍生出来的一种开发模式,或者说是一种适配模式的系统,BFF全称为Backend OF Front意为后端的前端,为了适配微服务模式下前端后端系统接口调用混乱而出现的。在如今微服务盛行的趋势下,大型系统中划分出了数十个服务模块,例如商品,门店,运费,红包,订

    2024年02月13日
    浏览(39)
  • 【wayn商城】本地开发指南

    这篇文章给大家带来我自己写的开源项目【wayn商城】的本地开发指南,帮助各位朋友在本地快速运行【wayn商城】,避免踩坑,减少不必要的精力在软件下载安装上。 🔥waynboot-mall 是一套全部开源的 H5 商城项目,实现了一套完整的商城前后台业务,有首页展示、商品分类、商

    2024年01月24日
    浏览(48)
  • PyQGIS二次开发指南

    当你的数据处理使用的是Python语言,而你的导师又让你开发界面,那么PyQGIS二次开发指南是你必读的圣经。QGIS支持Python语言进行二次开发,你将学会如何使用Qt Designer进行界面设计、加载栅格数据、加载矢量数据、软件打包、安装包制作等。 随着GIS应用在国内的逐渐增多,越

    2024年04月27日
    浏览(36)
  • 微软Hololens 2开发指南

    1、首先来介绍一下这款混合现实MR产品: 这是微软在2019年向市场发布的,内部拥有win10系统,很方便用户操作,而且手势简单易上手。相较于第一代产品来说整体提升了不少,结构上解决了第一代压鼻梁的问题,这次二代的受力比较平均。最重要的是比第一代的可视角度有所

    2024年02月03日
    浏览(30)
  • ArmSom---SPI开发指南

    RK3588从入门到精通 本⽂主要介绍在Rockchip平台配置spi接口并且使用的方法 开发板:ArmSoM-W3 Kernel:5.10.160 OS:Debian11 SPI(Serial Peripheral Interface),即串行外围设备接口,是一种同步的,全双工的,多设备的,多主机的通信协议,用于连接外围设备,如ADC、DAC、数据存储器、定时

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包