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


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • x86 linux的进程调度,x86体系结构下Linux2.6.26的进程调度和切换
    进程调度相关数据结构task_structtask_struct是进程在内核中对应的数据结构,它标识了进程的状态等各项信息。其中有一项thread_struct结构的 ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
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社区 版权所有