先判断:kubeadm这套部署思路值不值得学

kubeadm是官方维护的集群引导工具,适合需要从零搭建测试或生产环境的人。这门课承接前序内容,重点解决“拿到几台Linux服务器后,怎么把它们变成一个能跑业务的k8s集群”这个具体场景。如果你日常只是用云厂商托管的k8s,可能感触不深;但如果是中小公司自建机房、或者做内部平台预研,这套手动部署流程是绕不开的。它不追求花哨,就是老老实实把节点初始化、网络组件、控制台串起来,顺带引入Rancher做管理面。务实地说,这套组合在中小团队里很常见,学了能直接照搬到工作里,不是为了考证而硬背。

再看基础:适合谁,学完能独立做什么

这套资料不适合完全没摸过Linux的人。你需要具备基本的命令行操作、会改配置文件、知道systemd怎么管服务,最好对容器和Pod概念有初步认知。课程从kubeadm初始化主节点开始,讲Flannel网络、子节点加入,再到Rancher导入和Helm、Ingress配置。学完后,你应该能独立完成这样的事:拿到三台干净服务器,用kubeadm拉起一个多节点集群,装好网络插件让Pod互通,用Rancher把集群纳管进来,再通过Helm装个Ingress控制器。这基本覆盖了中小团队自建k8s的日常运维起点。课程后半段会涉及k8s认证授权,比如证书生成,这块对做多租户隔离、配置服务账号权限有用,但不是马上能见效,建议理解原理即可,不用死记命令参数。

资料怎么用:建议先看哪几块,怎么配合练习

建议按顺序看,但重点放在前三讲和Rancher导入那节。kubeadm初始化是骨架,Flannel和子节点加入是让集群真正可用的关键,Rancher导入则是给你一个图形化兜底。Dashboard那节作者明确说后面用不到,看一眼了解即可,别花时间折腾。Helm和nginx-ingress那讲是收尾,但实际用得最多,因为后续装中间件基本都靠Helm。练习时强烈建议自己起三台虚拟机或云主机跟着做,不要只看视频。kubeadm的坑往往在环境上:内核参数、容器运行时版本、镜像拉取超时。遇到报错对照课程里的修正说明排查,这个过程比看懂流程更重要。认证授权那章可以放后面,等集群跑起来了再回头补,理解ServiceAccount和证书的关系即可。


本课程承接

课程目录

*   第一章:kubeadm部署和rancher搭建 cplist.push('第一章:kubeadm部署和rancher搭建');/

  *   第1讲:开张课、服务器环境、kubeadm安装

  *   第2讲:kubeadm基本作用:初始化集群

  *   第3讲:安装网络组件(flannel)、加入子节点

  *   第4讲:(不需要装)kubernetes dashboard部署(就看看即可,后面用不到)

  *   第5讲:部署rancher作为管理系统(导入)

  *   第6讲:复习课:修正、安装Helm、nginx-ingress

*   第二章:k8s认证和授权 cplist.push('第二章:k8s认证和授权');/

  *   第7讲:认识k8s的用户账号:生成证书

  *   第8讲:用户账号(2):使用证书初步请求API、设置上下文

  *   第9讲:入门Role和RoleBinding、创建一个角色

  *   第10讲:用户和角色进行绑定(RoleBinding)

  *   第11讲:ClusterRole和RoleBinding

  *   第12讲:ClusterRole和ClusterRoleBinding

  *   第13讲:配置使用token的方式请求API(UserAccount)

  *   第14讲:ServiceAccount入门(1):创建账号

  *   第15讲:ServiceAccount入门(2):赋予权限、外部访问API

  *   第16讲:ServiceAccount入门(3):在POD里访问k8s API(token的方式)

  *   第17讲:ServiceAccount入门(4):在POD里访问k8s API(token+证书的方式)

*   第三章:Pod和deployment cplist.push('第三章:Pod和deployment');/

  *   第18讲:Pod入门、看文档的方式、创建Pod

  *   第19讲:Pod基本操作、创建一个多容器的Pod(上)

  *   第20讲:Pod基本操作、创建一个多容器的Pod(下)

  *   第21讲:配置数据卷:挂载主机目录、排坑方式

  *   第22讲:Pod和Deployment基本区别、创建deployment

  *   第23讲:两个容器共享文件夹

  *   第24讲:init容器的基本使用

*   第四章:Deployment和ConfigMap cplist.push('第四章:Deployment和ConfigMap');/

  *   第25讲:ConfigMap(1)基本创建、环境变量引用

  *   第26讲:ConfigMap(2)映射成单文件

  *   第27讲:ConfigMap(3)全部映射文件和subpath

  *   第28讲:(选学)ConfigMap:用程序读取(体外)

  *   第29讲:(选学)ConfigMap:用程序读取(体内)

  *   第30讲:(选学)ConfigMap:调用API监控cm的变化

*   第五章:Deployment和Secret cplist.push('第五章:Deployment和Secret');/

  *   第31讲:入门和无脑创建(Opaque)

  *   第32讲:命令获取secret内容、挂载文件

  *   第33讲:secret进行basic-auth认证(1):手工配置

  *   第34讲:secret进行basic-auth认证(2):使用secret挂载

  *   第35讲:拉取私有镜像、创建Docker Secret

*   第六章:Deployment和Service cplist.push('第六章:Deployment和Service');/

  *   第36讲:创建一个最基本的Service、ClusterIP

  *   第37讲:Service负载均衡多个POD

  *   第38讲:宿主机访问k8s的Service的基本方法

  *   第39讲:无头Service初步入门

  *   第40讲:(选学):kube-proxy、修改为ipvs模式

*   第七章:PV和PVC(选学) cplist.push('第七章:PV和PVC(选学)');/

  *   第41讲:创建PV、Local方式、基本设置

  *   第42讲:创建PVC、初步绑定PV 、POD挂载

  *   第43讲:StorageClass简单入门和创建

*   第八章:POD自动伸缩初步(HPA) cplist.push('第八章:POD自动伸缩初步(HPA)');/

  *   第44讲:HPA入门、部署metrics-server

  *   第45讲:限制POD资源、创建HPA

  *   第46讲:yaml的方式创建HPA、预习

*   第九章:CRD和Controller(嘴炮篇) cplist.push('第九章:CRD和Controller(嘴炮篇)');/

  *   第47讲:什么是CRD、创建一个自己的资源

  *   第48讲:控制器的基本概念