这几年由于kubernetes、docker、istio等云原生技术涌入,已经成为我们it基础设施当中,运维开发人员一门必会的技术了,而这些技术都是采用go语言去开发出来的,当您学习golang时,经常会遇到“ golang非常适合构建cli工具”的知识。
而我们熟悉的关于kubeadm似乎已经成为我们云原生部署kubernetes集群一款轻而巧,快速安装、有着安全体系具备生产环境的部署工具了。
本次课程为云原生爱好者而生,下面为你准备了此次的课程大纲
课程链接:https://edu.51cto.com/sd/7aee6
本课程提供不挖坑,良心设计的初衷精心打造,从kubeadm的起源,cobra库探索实践,到kubeadm源码设计,再到核心体系的源码init,再到源码join的操作,整个kubeadm开发运维的知识体系都囊括其中。
由于go库cobra被用于许多Go项目中,例如Kubernetes、etcd和helm、istio,以及我们讲解的kubeadm,会用到cobra,所以课程首先我们先会从cobra的由浅到深的方式从cobra入手,再深入kubeadm源码。
所以你可以不必担心kubeadm背后的那些事情,并且自动化集群部署以及容器运行时做了不少的配置调优,大家都知道整个部署,kubeadm社区的初始化集群采用的是手动命令行的方式,另外,如果我们自己拿去用,我们前期还要配置一些生产需要使用的配置,比如系统初始化、容器运行时、网络CNI插件选型、集群配置需要的内容等,这些做起来可能也会花费你很多时间,所以我使用Ansible这样一个devops工具,通过playbook的最佳实践,开发了一套快速完成部署的kubeadm集群做了整个方案的设计。
整个playbook的设计从roles的配置,到安装,并且可以移植,如果你想安装更高的版本,在里面只需要替换安装目录即可,也是希望你无坑安装,减少失败部署,能够版本的迭代,这里我会详细给你介绍一个从0开始高效设计一个自动化部署完整kubernetes集群,通过此次的学习,你可以完全对kubeadm起源、cobra库探索实践、源码、整个设计,核心代码,自动化部署达到一个熟练的方向。
本教程适用于0基础、有1-3年以上的kubernetes初级使用,及运维容器人员、devops工程师、架构师、linux运维及运维开发人员,想提高技术水平,对云原生运维开发及go语言感兴趣的人员。
近几年kubernetes的诞生,对于整个集群的安装成为了一个比较热门的话题,对于生产环境我们应该如何设计才能更符合云原生的要求,这想必都是大家想听到的回答,到目前为止对于社区也是非常快速的给大家一个非常明确的方向,kubeadm、kops、kubespray。
其他的安装社区并没有在生产环境当中去推荐,当然如果大家用以上三种方式去部署,你都能够在社区找到满意的答案,这想必都是大家所期待的。
那么这三种方式我们今天会详细讲解kubeadm,kubeadm是一个快速安装一个安全k8s集群的工具,其中包含了大量的生产环境要素,社区维护活跃,从2016年来整个社区就开始进行,到目前一直稳定发展,另外两种,kops,属于在AWS上轻松安装Kubernetes集群的工具,kubespray也是通过ansible手册进行安装,但是学习成本也比较高,对于对kubespray感兴趣的也可以去到https://github.com/kubernetes-sigs/kubespray进行学习。
1、学习方式灵活、适合在职it上班族、以及it专业学生、想通过在线视频课程学习技术的人员
2、知识面全面、课程单独录制,教学质量高
3、适合范围广泛,通过理论+实践的配合练习,轻松掌握云原生kubeadm的使用,并投入测试以及生产当中
4、课程答疑方便,可添加导师微信,以及kubeadm交流社群、以及关注公众号最新讯息,掌握最新前沿技术。
charts:曾任职某云原生厂商云原生运维开发SRE,运维开发工程师、Gitops工程师、有五年的工作经验
专注云原生技术k8s、docker、containerd、istio、envoy、prometheus、fluentd、operator、devops、devsecops、go,容器安全技术分享
对技术提升观念比较强的同学,也可关注最新技术动态---> 微信公众号《云原生CTO》
云原生kubernetes二次开发课程(kubeadm核心源码解读+go语言go module+cobra库进阶+开发kubeadm自动化部署最佳实践)
(基于k8s-1.21版本进行讲解)
1、go语言核心开发之go module依赖管理系统
2、go语言核心开发之go module之引用第三方库的使用
3、go语言核心开发cobra库探索认识Cobra库
4、go语言核心开发cobra库探索安装Cobra库开发环境
5、go语言核心开发cobra库探索Cobra源码解读
1、kubeadm的诞生
2、谈谈kubeadm的架构及组件
3、kubeadm核心源码部分
4、kubeadm reset源码解读
1、kubeadm init初始化流程核心代码剖析
2、kubeadm init初始化流程核心代码prelfight源码解读
3、kubeadm init初始化流程核心代码certs源码解读
4、kubeadm init初始化流程核心代码KubeConfig源码解读
5、kubeadm init初始化流程核心代码KubeletStart源码解读
6、kubeadm init初始化流程核心代码Control-plane源码解读
7、kubeadm init初始化流程核心代码Etcd源码解读
8、kubeadm init初始化流程核心代码WaitControl源码解读
9、kubeadm init初始化流程核心代码UploadConfig源码解读
10、kubeadm init初始化流程核心代码UploadCerts源码解读
11、kubeadm init初始化流程核心代码MarkControlPlane源码解读
12、kubeadm init初始化流程核心代码BootstrapToken源码解读
13、kubeadm init初始化流程核心代码KubeletFinalize源码解读
14、kubeadm init初始化流程核心代码Addons源码解读
15、kubeadm join工作流程剖析 (源码到实践深入浅出)
1、kubeadm-ansible环境配置介绍
2、ansible-site入口配置介绍
3、kubeadm-ansible roles角色介绍之系统初始化
4、kubeadm-ansible roles角色介绍之全局变量
5、kubeadm-ansible roles角色介绍之容器运行时(docker离线playbook)
6、kubeadm-ansible roles角色介绍之容器运行时(docker daemon.json参数调优)
7、kubeadm-ansible roles角色介绍之kubeadm init自动化流程实现
8、kubeadm-ansible roles角色介绍之kubeadm init config解读
9、kubeadm-ansible roles角色介绍之join节点自动化流程实现
10、kubernetes-operator概念介绍
11、kubeadm-ansible网络CNI插件 Calico-operator插件集成介绍
12、kubeadm-ansible实现一键安装k8s集群
13、kubeadm-ansible实现一键扩容k8s-Node节点
14、kubeadm-ansible实现一键卸载(清理整个部署环境)整个集群