提及云计算, 绝大多数人的反应是这样的: 它是一门新兴技术, 是互联网发展的未来趋势, 云计算核心技术比较多, 学习不易. 不过如果你真的想要学好云计算, 也是有其规律可循的, 从基础到进阶, 由简单到复杂, 不断的学习加练习, 你就可以学好它.
Kubernetes, 简称 K8s, 是一个开源的, 用于管理云平台中多个主机上的容器化的应用, Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应用部署, 规划, 更新, 维护的一种机制, Kubernetes 不仅仅支持 Docker, 还支持 Rocket, 这是另一种容器技术.
使用 Kubernetes 可以: 自动化容器的部署和复制; 随时扩展或收缩容器规模; 将容器组织成组, 并且提供容器间的负载均衡; 很容易地升级应用程序容器的新版本; 提供容器弹性, 如果容器失效就替换它等等. Kubernetes 核心概念知识:
Pod - 容器组
Pod 是 Kubernetes 的基本操作单元, 指定多个有关联容器 (有调用关系依赖) 构成一个 Pod.Pod 包含的容器运行在同一个 Minion 上(Worker Node),Pod 的设计理念是支持多个容器在一个 Pod 中共享网络地址和文件系统.
Deployment - 部署
Deployment 是最近几个版本才有的, 部署表示用户对 K8s 集群的一次更新操作. 部署是一个比 RS 应用模式更广的 API 对象, 可以创建, 更新一个新的服务, 或者滚动升级一个服务.
Job - 任务
Job 是 K8s 用来控制批处理型任务的 API 对象. 批处理业务与长期伺服业务的主要区别是批处理业务的运行有头有尾, 而长期伺服业务在用户不停止的情况下永远运行. Job 管理的 Pod 根据用户的设置把任务成功完成就自动退出, 成功完成的标志根据不同的 spec.completions 策略而不同.
DaemonSet - 后台支撑服务集
长期伺服型和批处理型服务的核心在业务应用, 后台支持服务的核心关注点是 K8s 集群中的节点(物理机或虚拟机), 节点可能是所有集群节点也可能是通过 nodeSelector 选定的一些特定节点. 典型的后台支持型服务包括, 存储, 日志和监控每个节点上支持 K8s 集群运行的服务.
PetSet - 有状态服务集
K8s 在 1.3 版本里发布了 Alpha 版的 PetSet 功能, RC 和 RS 主要是控制提供无状态服务, 其所控制的 Pod 的名字是随机设置的. PetSet 中 Pod 的名字作用用于关联与该 Pod 对应的状态.
Replication Controller - 复制控制器
RC 是 K8s 集群中最早的保证 Pod 高可用的 API 对象, 通过监控运行中的 Pod 来保证集群中运行指定数目的 Pod 副本. 通过 RC 运行 Pod 比直接运行 Pod 更明智, RC 会保证 Pod 的数量.
Replica Set - 副本集
RS 是新一代的 RC, 提供同样的高可用能力, RS 能支持更多种类的匹配模式. 副本集一般不单独使用, 而是作为 Deployment 的状态参数使用.
Service - 服务
RC,RS 和 Deployment 只是保证了支撑服务的微服务 Pod 的数量, 但是没有解决如何访问这些服务, 稳定地提供服务需要服务发现和负载均衡能力.
来源: http://www.bubuko.com/infodetail-3412422.html