这两天在读k8s的书,作为程序员光会写代码,技能面还是太窄了,如果有条件,有时间和精力,拓宽知识面,扩大视野是很有必要的,这样可以让人比较坦然,知道的东西多,遇到问题就会有更多的方案和更准确的定位,虽然每个人吸收能力不同,成长有不同,但是比以前的自己有进步就是好的。
下面根据自己读书理解一句话简略说明k8s大概是个什么东东:k8s是凌驾于容器之上的,编排容器的一个软件框架,项目通过容器运行,而容器可以通过k8s进行多部分编排,k8s的大致层级是Deployment->ReplicaSet->pod,pod是最基本最小单位但是也相当于我们平时说的比项目和所在容器更大的单位,k8s可以有很多个pod,而每个pod由Deployment来管理,web项目及其所在容器就通过docker镜像或其他container部署在pod上,但是这里pod如果因为故障不能启动,则k8s会自动创建一个新的pod进行替换故障pod,但是pod id是一个全新的,这样如果你部署在pod上的服务如果挂了,k8s会自动新建一个相同内容的pod并运行起来,除此之外,每个pod升级和回滚也是可以自动进行,只需改变一个pod的yaml文件并push到server API,其他pod会自动有序进行变更,实现热部署。
当然,k8s的结构不可能这么简单,其中有涉及管理pod网络访问和port的service,还有状态pod的statefullSet,以及涉及数据卷的PVC,PV等,在这里,只是给大家一个浓缩的概念,具体使用方法和理论请各位自行翻阅详细读本…