加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 襄阳站长网 (https://www.0710zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

神话还是现实?Docker 和 Kubernetes 架构

发布时间:2019-09-15 22:24:25 所属栏目:建站 来源:Linux中国
导读:副标题#e# 在 Docker 和 Kubernetes 时代,软件开发的世界发生了怎样的变化?有可能使用这些技术一劳永逸地构建一个放之四海而皆准的架构吗?当所有东西都打包在容器中时,有可能统一开发和集成的过程吗?这些决策有什么要求?它们会带来什么限制?它们会让开发

虽然 Kubernetes 只要求在物理机器/云虚拟机上的少量组件(docker、kubelet、kube proxy、etcd 集群),但你仍然需要能够自动化完成添加新机器和对集群进行管理。以下是几个简单的方法:

  • KOPS — 这个工具允许你在两个公有云 (AWS 或 GCE)上安装集群
  • Teraform — 这个工具让你可以管理任何环境的基础架构,并遵循 IAC( 基础架构即代码(Infrastructure as Code))的思想
  • Ansible — 用于构建任何类型自动化的通用工具

就我个人而言,我更喜欢第 3 个选项(加上一个 Kubernetes 集成模块 ),因为它允许我同时使用服务器和 k8s 对象,并实现任何类型的自动化。然而,没有什么能阻止你使用 Teraform 及其 Kubernetes 模块 。KOPS 不能很好地使用“裸机”,但是它仍然是一个很好的使用 AWS/GCE 的工具!

Git 代码库和任务跟踪器

神话还是现实?Docker 和 Kubernetes 架构

不用说,要为开发人员和其他相关角色提供全面的工作环境,你需要有一个团队协作和代码存储的地方。我很难确定哪种服务是最合适的,但我个人最喜欢的任务跟踪工具是 redmine (免费)或 Jira (付费)。对代码库而言,有比较老牌的 gerrit (免费)或 bitbucket (付费)。

值得注意的是,企业环境中协作工作的两个最一致的工具(尽管是商业版本的)是: Atlassian 和 Jetbrains 。你可以使用它们中的任何一个作为独立的解决方案,或者将两者的各种组件结合起来。

要充分利用任务跟踪器和代码库的组合,请考虑它们的集成策略。例如,以下是一些确保代码和相关任务关联性的提示(当然,你也可以选择自己的方法):

  • 只有当试图 推送(push)的分支存在相应的任务号(如:TASK-1/feature-34)时,才能提交到远程代码库中
  • 任何分支只有在一定数量的合格代码复查迭代之后才可以进行合并
  • 如果相应的任务不是 “进行中”(In Progress)或类似状态,则任何分支都应被阻止和禁用,以备将来更新
  • 任何旨在实现自动化的步骤都不应该直接提供给开发人员使用
  • 只有经过授权的开发人员才能直接修改master主分支—其它的一切都由自动化机器人控制
  • 如果相应的任务处于 “交付”(For Delivery)或类似状态之外的任何状态,则分支不可用于合并

(编辑:PHP编程网 - 襄阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!