前言
有些时候的巧合让人匪夷所思,前两周刚刚尝试了一遍Docker操作,紧接着就收到好朋友说要学习k8s容器部署的建议,最近两周抽空看了一些关于k8s的知识,相关概念真的是太多了,概念本身是枯燥的,但是当概念运行起来就有意思多了,这时候取出费曼学习大法,尝试着用自己的话来描述这些概念,看看自己是不是真的学会了。本文k8s相关概念均来自个人理解,后续随着学习深入可能会有改正,勿喷。
@[toc]
还记得上一篇《借助ChatGPT使用Python搭建一个工具网站》总结中我利用ChatGPT写了一个网站,最终它运行良好,就在昨天我看到了Github Packages,不久前刚刚使用了GitHub Actions,我发现Github在被微软收购后,并没有变的更“闭源”,之前广大网友还在调侃,最大的闭源软件公司收购了最大的开源平台,看来一切还在向好的方向发展,简单介绍下前面提到的这两个都是什么东西。
先交代一下背景,距离正式接触golang这门语言已经有5年时间,平时偶尔也会用go写写工具和功能,但其实充其量就是语言小白,基本上就是按照教程配置好环境,按照需求写写逻辑,能跑起来就行了。golang随着这几年的变化,这门语言的变化还是非常大的,之前写过一篇《Go环境配置时遇到的GOPATH路径以及包管理问题》,可以看出之前配置的变量很像Java早期的配置环境,从1.11 版本之后go工程不必放到 GOPATH
路径中了,通过go.mod文件来标记并跟踪每个软件包的版本,灵活度大大提高,从此 GOPATH
概念逐渐淡化,在1.18版本新引入一个新功能go.work
,它被设计为解决在同一工作空间中处理多个模块的问题,使得go工程的模块管理更加方便。