开发者学堂课程【ALPD 云架构师系列-云原生 DevOps36计:环境管理的应用场景(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/82/detail/1275
环境管理的应用场景(二)
内容介绍:
一、 应用场景
二、 测试环境
三、 开发环境
四、 工具推荐
五、 内容回顾
六、 课后练习
四、 工具推荐
另一个是在开发环境中的工具推荐,以下罗列的都是匿名行的工具:
l 终端工具:Term2( Mac )、 wsl - terminal ( Win )
l Shel : zsh + oh - my - zsh ( plugins : autosuggestion , syntax - highlight , interactive - cd )
l 终端分屏: tmux
l 模糊匹配: fzf
l 模糊查询: ripgrep
l 文件查看: bat
l 命令行下的编辑器: neovim
l k8s联调: kt - connect
l docker 镜像查看: dive
以上内容介绍完之前再处理一个问题:外部环境受限,无法采用K8S部署怎么办?此问题可稍作了解,交付的形式不是容器化或k8s,是一个私有化的包,很多时候对外交付的形态不一一介绍,如果K8S可用即最好,首先是容器是否能用,如果容器不能用在测试环境是不能用,那这次环境是否能用K8S去管理?用这些技术手段的根本目的是为了提高生产效率,从琐碎化的事物中解放出来。因此需要借助各种各样的工具,手段,新的技术来帮助实际操作中提高生产效率和开发效率。
五、 内容回顾
●我们需要的是软件定义的不可变环境,相同的制品、相同的运行上下文、相同的编排规则
●借助 k8s 的编排机制,可以大幅提升环境使用效率,降低资源成本
●通过 IaC 来定义环境,包括应用配置、应用运维配置和基础设施运维配置
●通过 OAM 模型让 Developer 、 App Ops 、 Infra Ops 可以让不同的角色维护自己相应的配置和定义,使三者的关注点分离
●测试环境:用尽可能少的资源进行独立的测试﹣隔离、复用、模拟
六、 课后练习
结合综上内容可做以下习题
1.通过 kt-conniect 或其他手段连接到k8s集群,能在本地访问 alpd-bol-ssh 服务
2.将 alpd-bot-ssh 的conf 日录下的 json 文件移除,改用 configMap 保存这些配置,修改 alpd-bot-ssh 的 dleployment 配置文件,并部署到本地k8s中
3.写一个测试环境的 deployment-test .yml ,将 alpd-bot- auth , alpd-bot-query , alpd-bot-ssh 部署在同一个 Pod 中,并思考一下这样做的利弊有哪些?
4.讨论: alpd-bot-query 的 WEATHER _ APL _ KEY 是一个定义在 secret 中的配置,通过环境变量的方式在应用中被使用,参照运行时配置的要求,现在的实现有哪些问题,怎么解决?