includestdio.h
我们团队规模采用命名空间区分各种环境是完全足够的,但是我们的集群可能会经常进行一些业务应用和容器的新特性调试,考虑命名空间只能提供软隔离,以及dev环境不能影响线上环境的原则,我们预发布和生产是同一个集群,通过命名空间隔离,dev则是单独的小集群
作者回复:非常棒的环境隔离实践!开发环境硬隔离是很有必要的,因为它的变动最频繁,并且大部分成员都有访问权限,容易出现人为故障。
2022-12-21
8
Librant
每节课我都做了实验,有需要的可以参考,写的比较详细,github.com/librant/git-ops-learn,觉得有用帮忙star一下嘞
作者回复:赞!
2022-12-20
5
Librant
跟着老师一步一个脚印,github.com/librant/git-ops-learn 每章节的详细实践,可以大家一起学习分享,觉得不错的可以帮忙 star一下,我会坚持到课程结束嘞
作者回复:太棒了!已 Star。
2022-12-20
6
Y
继续追剧
作者回复:😄
2022-12-19
3
浅浅
老师好,内容太棒了!请问什么时候更新后面的内容呀
作者回复:今天已经更新了哦,每周一、三、五更新,期待和你再见面~
2022-12-17
2
Daniel
首先感谢老师的文章,比较适合我这种 先感受,再理论(先feel it,再know it)的实战派。
问题中的"所有的文件" 可能是一个动态变化的“一堆文件”,因为后期随着项目的不断迭代,里面会引进一些其它的文件,因此这个所谓的“所有文件”可能是一个动态文件, 而 COPY requirements.txt 在今后的镜像构建里是一个静态的单一文件,因为只有'requirements.txt'。
docker 在构建镜像的时候,dockerfile的会每一个命令会构建一个层,
而在构建的时候是有一个缓存的特点,而这个缓存机制如果是遇到发生变化的层,即使后面的层没有发生变化,也会重新构建,进而并不会用到缓存。
所以,把不变的层放在前面,变的层放在后面,就会让变化之前的层利用到构建镜像的缓存机制,来加速构建镜像的时间。
不知道我说的对不,还请老师指点,我之前有遇到过这个问题。
作者回复:感谢你对课程的认可,我个人也比较喜欢从实战学习一门技术。
回到你的问题,从缓存的角度上来说是这样的。所以在构建镜像的时候要注意把经常会变化以及不变的区分开,这样可以最大程度利用缓存,加速镜像构建镜像。
2022-12-12
12
Y
我本地windows实验成功了,感谢大佬
作者回复:加油,后续课程还有更好玩的实验。
2022-12-15
3
陈志成
kind 有很多设计理念,比如
1. 优雅降级
因为 kind 是专为测试 k8s 设计的,所以自身很顽强。支持所有的 k8s 官方版本,并且如其名字所示,docker 里搞出来的 k8s,集群依赖的所有的镜像都打包在了它的节点镜像里,厉害的是,如果这些镜像损坏了或者丢失了,节点镜像还能帮你重新拉下来,真是打不死的小强。
2. 不重复发明轮子
虽然现在已经有了很多功能类似的软件,比如大名鼎鼎的 kubeadm,但是 kind 并不是来搅局的,他很谦虚的抱着协作的态度,能复用就复用,站稳巨人的肩膀,专注解决痛点,合作共赢。
3. 最小化假设
kind 表示只要求安装 docker 即可,剩下的就交给我了。避免做出任何不必要的假设,minikube 表示,你礼貌吗?
4. 封闭原则,无状态原则
力求操作幂等、避免依赖外部服务,本身不存储或管理状态。好家伙,低内聚,高耦合,本身还没有副作用,不愧是 kind,确实很友好。
5. 避免伤害用户,遵循 k8s API 约定
啥?还有这原则。来看看都啥内容,避免配置和命令行接口的不兼容性修改,严格遵守 k8s 的弃用政策,面向外部的特性考虑扩展性以及长期支持性,使用 k8s 的配置风格,减少参数个数...一上来就海誓山盟还真是不习惯。
另外还有自动化和支持 CRI,感兴趣的可以了解了解 https://kind.sigs.k8s.io/docs/design/principles/
作者回复:幽默又不失知识点,优秀!
2022-12-14
14
Y
板凳坐好
2022-12-14
陈斯佳
最近也在做相关学习,结合自己工作经历制作了几个实验,覆盖了老师提到的12个领域中的8个。看到老师上了这个新专栏,非常兴奋啊 希望老师能指点一下 感谢🙏https://github.com/chance2021/devopsdaydayup
作者回复:非常不错的项目,已 Star 😄
2022-12-13
9
编辑推荐
看过的人还看了