热门标签 | 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学习第一天)


推荐阅读
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • C++ STL复习(13)容器适配器
    STL提供了3种容器适配器,分别为stack栈适配器、queue队列适配器以及priority_queue优先权队列适配器。不同场景下,由于不同的序列式 ... [详细]
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社区 版权所有