热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Kubernetes(K8S学习第一天)

Kubernetes是什么?Kubernetes是一个资源管理器。目前市面上出现的资源管理器有ApacheMESOS、dockerSWARM、Kubernetes。为什么需要Kub

Kubernetes是什么?

Kubernetes是一个资源管理器。目前市面上出现的资源管理器有Apache MESOSdocker SWARMKubernetes

为什么需要Kubernetes?

  • 分布式容器化的大趋势。
  • Google 10年来的容器化经验基础
  • 基于Google Borg组件的基础 用Go(占用资源少)实现
    Kubernetes(K8S学习第一天)

为什么选择Kubernetes?

  • Apache MESOS :分布式基础资源管理框架(非docker)。最大应用厂商Twitter 2019-5 Tweiter宣布放弃Apache MESOS 开始使用Kubernetes
    延伸:Apache MESOS最新版中将支持Kubernetes管理
  • Docker Swarm :轻量(消耗内存不超过100M),可支撑多节点,功能少。虽说可用人工操作完成,但是操作过程复杂,容易出错。阿里云在 2019-7 不再支持Docker Swarm
  • Kubernetes :轻量,弹性伸缩,负载均衡(IPVS协议)

什么是Pod?

Pod :Kubernetes管理的最小单位。由多个Docker容器构成的子节点。
Pod有两种,自主式Pod(不是被控制器管理的Pod),控制器管理的Pod。
自主式Pod一旦死亡,无法还原。

Pod的控制器类型?

  • ReplicationController:确保容器应用副本数始终保持在用户定义副本数(建议用ReplicaSet代理)
  • ReplicaSet:在ReplicationController基础上支持集合式的selector
  • Deployment:不负责Pod创建,支持滚动更新。(PS:Deployment创建ReplicaSet,由ReplicaSet创建Pod。滚动更新:Deployment先创建一个新的ReplicaSet,每当新的ReplicaSet创建一个新的Pod,对应旧的ReplicaSet将删掉一个Pod,当旧的ReplicaSet删完所有的Pod,旧的ReplicaSet将会被停用。同时也可回滚,过程与滚动更新类似)

StatefulSet:解决有状态服务问题。
场景:

  • 稳定的持久化存储–>Pod重新调度后还是能访问到相同的持久化数据,基于PVC实现
  • 稳定网络标志–>即Pod重新调度后其PodName和HostName不变,基于Headless Service来实现
  • 有序部署,有序扩展–>在部署或者扩展的时候要根据定义的顺序依次进行(在下一个Pod运行时,之前的所有Pod必须是Running 和 Ready状态),基于init containers实现
  • 有序收缩,有序删减

HPA:Horizontal Pod Autoscaling Pod的平滑扩展 适用Deployment 和 ReplicaSet 。在V1版本中仅支持根据Pod的CPU利用率扩所容,在v1alpha版本中,支持根据内存和用户自定义的metric扩缩容。HPA监控RS的Pod的数量,当CPU空闲率大于一定数值则新建Pod,当Pod数量达到一定值或者CPU空闲率低于一定数值时停止创建,当CPU空闲率小于一定数值则会通知RS删除Pod,直到达到最小Pod数量或者CPU空闲率回到一定数值

DaemonSet:确保全部(或者一些)Node上运行一个Pod副本。当有Node加入集群时,也会为他们新增一个Pod。当有Node从集群移除时,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod。
用法:

  • 运行集群存储Daemon,例如在每个Node上运行glusterd、ceph。
  • 在每个Node上运行日志手机deamon,例如fluented、logstash。
  • 在每个Node上运行监控Daemon,例如Prometheus Node Exporter

Job:负责批处理任务,即仅执行一次任务,它保证批处理任务的一个或多个Pod成功结束。(非成功结束的会进行重试,可设置重试次数)
Cron Job:管理基于时间的Job,即在给定时间只运行一次、在周期性地在给定时间点运行。
Service:通过筛选标签来管理Pod,同时Pod也可以与Service通信,从而间接实现了不同Pod之间的通信问题。同时,service也可暴露给外网(NodePort )。
Kubernetes(K8S学习第一天)


推荐阅读
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • Netflix利用Druid实现高效实时数据分析
    本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • 本文探讨如何配置 Nginx 以将传入请求反向代理到运行在本地绑定端口上的 Docker 容器,并解决常见的路径重定向问题。 ... [详细]
  • 本文详细介绍了如何使用Docker运行最简单的镜像,并创建第一个容器。通过具体的操作步骤和命令解释,帮助初学者快速上手Docker。完整课程请点击:Docker入门教程。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 深入解析Docker镜像的工作机制
    本文旨在深入探讨Docker镜像的内部结构及其工作机制,包括镜像的分层体系、联合文件系统(UnionFS)的应用,以及各层如bootfs和rootfs的具体作用。 ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
author-avatar
磊仔2502898265
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有