这门课解决什么问题
很多后端开发者在本地把代码跑通后,一到真实云服务器部署就发怵。手动传文件、配环境、重启服务这套流程在个人练手时还能凑合,一旦遇到小团队多节点协作,或者需要平滑滚动更新,立刻就会变得混乱且易错。这门课瞄准的就是 Go Web 程序写完之后的“最后一公里”:不谈深奥的分布式架构理论,只解决怎么把代码打包成容器镜像,并用编排工具在阿里云上跑起来的具体场景。它把视角拉回到作坊式小团队的实际需求,帮你跳过繁琐的运维摸索,把开发到部署的链路打通。
适合什么基础与建议先看的模块
资料适合已经能独立写完 Go API 接口、懂基本 Linux 命令,但对 Docker 和容器编排只停留在听过阶段的开发者。如果你连基础的 Go 语法还不熟练,建议先补齐语言基础再看。资料编排上,第一章属于早期版本的内容,已经过时,编辑强烈建议直接跳过,从第二章看起。建议先看“使用 Golang 容器来编译程序”以及“Goland 同步程序、自动远程编译”这两块。这两节讲透了怎么用容器化方式编译 Go 程序,以及怎么在本地 IDE 里配好远程同步,这是后续所有编排操作的前置基础。紧接着看用轻量镜像启动 API 和 NGINX 反代的模块,把单服务跑通,再去碰集群编排。
学完能独立做什么与资料配合练习建议
跟着这套资料走完,你能独立完成一个 Go Web 项目的容器化全流程:写出可用的 Dockerfile、用极简镜像把 API 跑起来、配好 NGINX 做反向代理,并利用编排工具进行基础的容器调度。资料配合练习的方法是:先在本地照着视频把镜像构建和编译流程跑一遍,确认 API 能正常访问;接着在阿里云开一台测试机,按课程里的步骤配好远程编译环境,把本地代码同步上去触发构建。遇到 Go 调用 Docker API 的补充章节,不要跳过,自己在本地写几行代码试着拉起一个容器,这能帮你理解后续用工具批量编排容器时底层到底发生了什么。整套流程自己跑通一次,以后遇到小团队项目交付,你就能把这套部署链路直接搬过去用。
本课程主要讲解的是Go web开发完成后,在阿里云的基础上进行部署的基本实战技巧。分几个角度,作坊式(小团队)篇、容器服务角度、基于阿里云的集群服务部署(采用的
课程目录
* 第一章:Rancher1(本章已过时,直接看第二章) cplist.push('第一章:Rancher1(本章已过时,直接看第二章)');/
* 第1讲:开张课、课程内容、部署第一个程序
* 第2讲:使用Golang容器来编译程序
* 第3讲:Goland同步程序、自动远程编译
* 第4讲:使用alpine镜像启动Go API
* 第5讲:补充知识点:使用Go调用Docker API
* 第6讲:Go调用Docker API:启动容器
* 第7讲:NGINX反代Go API
* 第8讲:(1.x过时了,看第二章)使用Rancher来编排容器(1):基本操作
* 第9讲:(1.x过时了,看第二章)使用Rancher编排容器(2):nginx反代Go API
* 第10讲:(1.x过时了,看第二章)Rancher编排容器(3):多主机启动API
* 第11讲:(1.x过时了,看第二章)Rancher编排容器(4):创建简单多节点负载均衡
* 第12讲:(1.x过时了,看第二章)Rancher编排容器(5):多节点下nginx配置、SSL等
* 第13讲:(1.x过时了,看第二章)Rancher编排容器(6):前后端分离简单部署
* 第14讲:(1.x过时了,看第二章)Rancher编排容器(7):单机部署Redis
* 第15讲:(1.x过时了,看第二章)Rancher编排容器(8):单机部署mysql5.7
* 第二章:Rancher2+K8s快速上手 cplist.push('第二章:Rancher2+K8s快速上手');/
* 第16讲:快速部署Rancher2和K8s集群(如安装慢,请加VIP群提问)
* 第17讲:创建项目、namespace、初步部署nginx、nodeport
* 第18讲:部署一个go api到k8s集群中(初级)、Hostport
* 第19讲:2个go api进行负载均衡(ingress)
* 第20讲:ClusterIP模式、服务发现基本入门和调用
* 第21讲:补充:部署nfs服务进行跨主机文件共享
* 第22讲:使用Rancher创建PV和PVC、运行GoAPI
* 第23讲:补充课时:k8s负载均衡加域名和路径重写
* 第24讲:补充课时:rancher负载均衡配置SSL的方法
* 第25讲:补充课:rancher+k8s配置websocket
* 第26讲:实操练习(1):k8s部署Redis(单节点)
* 第27讲:实操练习(2):Go连接k8s中的Redis(单节点)
* 第28讲:使用ConfigMap挂载Redis配置文件
* 第29讲:补充课:搭建简易私有镜像仓库
* 第三章:(本章不要操作 、不要操作、不要操作、不要操作,就看看。后面有tekton cplist.push('第三章:(本章不要操作 、不要操作、不要操作、不要操作,就看看。后面有tekton');/
* 第30讲:(只需要看无需操作)补充课:快速搭建gitlab
* 第31讲:(只需要看无需操作)引导课:rancher+gitlab+go创建/提交项目
* 第32讲:(只需要看无需操作)gitlab-ci入门(1):部署runner、测试
* 第33讲:(只需要看无需操作)gitlab-ci入门(2):编译Go程序、打包镜像
* 第34讲:(只需要看无需操作)gitlab-ci入门(3): 打包Go镜像、瘦身镜像
* 第35讲:(只需要看无需操作)gitlab-ci入门(4):打包Go镜像、加入单元测试
* 第36讲:(只需要看无需操作)gitlab-ci入门(5):打包Go镜像、发布到私有镜像库中
* 第37讲:(只需要看无需操作)gitlab-ci入门(6):打包镜像、自动更新服务
* 第38讲:灰度发布(1):基本配置、做一次金丝雀
* 第39讲:灰度发布(2):调整流量
* 第40讲:灰度发布(3):初步结合CI/CD(上)—补充知识点
* 第41讲:灰度发布(4):结合CI/CD(下)-加入灰度标签
* 第四章:etcd部署篇 cplist.push('第四章:etcd部署篇');/
* 第42讲:单体部署etcd到k8s中
* 第43讲:(补充课)golang测试连接etcd
* 第44讲:补充:使用nginx-ingress反代etcd
* 第45讲:创建etcd集群(3个节点)
* 第五章:SideCar功能(选学) cplist.push('第五章:SideCar功能(选学)');/
* 第46讲:快速无脑创建一个sidecar容器
* 第47讲:主容器和sidecar共享存储
* 第48讲:SideCar的基本使用场景介绍
* 第49讲:sidecar模式下filebeat收集nginx日志(输出到控制台)






