k8s重要概念
kubernetes架构图
下图为kubernetes的master架构图
1. Cluster
cluster是计算、存储和网络资源的集合,kubernetes利用这些资源运行各种基于容器的应用。
2. Master
Master 是Cluster的大脑,它的主要职能就是负责调度,决定应用放在哪里运行。master运行linux操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个Master。
3. Node
Node 的职责是运行容器应用。Node由Master管理,Node负责监控并汇报容器的状态,同时根据Master的要求管理容器的生命周期。Node运行在linux系统上,可以是物理机或者虚拟机。
4. Pod
Pod是kubernetes的最小工作单元。每个pod可以包含一个或者多个容器。Pod中的容器会作为一个整体被Master调度到一个Node上运行。kubernetes 以Pod为最小单位进行调度、扩展、共享资源、管理生命周期;pod中的所有容器都共享一个网络namespace,所有的容器可以共享存储。
- pod有两种使用方式:
- 运行单一容器:
one-container-per-Pod 是kubernetes最常见的模型,这种情况下,只是将单个容器简单封装成pod。即使只有一个容器,kubernetes管理的也是pod而不是直接管理容器。 - 运行多个容器:
运行在同一个pod的的多个容器必须联系紧密,而且直接共享资源。
5. Controller
kubernetes通常不会直接去创建pod,而是通过Controller去管理pod的,Controller中定义了Pod的部署特性,比如有几个副本、什么样的Node上运行等。为了满足不同的业务场景,kubernetes提供了多种Controller,包括Deployment、ReplicaSet、DeamonSet、StatefuleSet、Job等,我们逐一讨论。
- Deployment :是最常用的的Controller,deployment可以管理pod的多个副本,并确保pod按照预期的状态来运行。
- ReplicaSet : 实现了pod的多副本管理。使用Deployment时会自动创建Replicaset。
- DeamonSet: 用于每个Node最多只能运行一个Pod副本的场景。
- StatefuleSet:能够保证Pod的每个副本在整个生命周期中名称是不变的,而其它Controller是提供这个功能。当某个Pod发生故障需要删除并且重新启动时,Pod的名称会发生变化,同时StatefuleSet会保证副本按照固定的顺序启动、更新或者删除。
- Job 用于运行就删除的应用,而其他Controller 中的pod通常是持续运行的。
6. Service
Deployment 可以部署多个副本,每个Pod都有自己的Ip,那么外界如何访问这些副本呢?Kubernetes Service 定义了外界访问一组特定Pod的方式。Service 有自己的IP和端口,Service为pod提供了负载均衡。K8s运行容器Pod与访问容器Pod这两项任务分别由Controller和Service执行。
7. Namespace
如果有多个用户或者项目组共同使用k8s 集群,如果将他们创建的Pod等资源分开呢,就是通过Namespace进行隔离。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
k8s ingress获取真实IP地址配置
背景 业务架构:Client->WAF->LB->ECS->容器问题:在容器中获取不到真实的客户端公网IP 抓包分析 1.在ECS上的抓包分析,看到WAF已经将 真实客户端地址放到了 x-Forwarded-For 的字段中传给了ECS2.在容器中抓包,看到一个x-Forwarded-For的字段是错误的对应的IP为WAF的回源地址3.与容器同学确认 ingress的行为 将真实的客户端IP,放到了x-Original-Forwarded-For。而将WAF的回源地址放到了 x-Forwarded-For了。 处理方法 修改容器的配置文件配置文件:kube-system/nginx-configuration修改命令:kubectl -n kube-system edit cm nginx-configuration添
- 下一篇
基于大数据的移动应用开发前景有哪些
最具用户友好性的技术创新中,大数据和云技术是最强大,最安全,可扩展且普遍可接受的技术,大数据可能是结构化,半结构化或非结构化的极其复杂和大量的数据,通过计算分析它可以从该数据中挖掘出有用的信息,以揭示人类行为和来自数据元素的模式,趋势和关联的相互作用,这些大数据的一些数据元素是网络流量日志,客户的交易历史,软件日志,生产数据库,在线视频,社交媒体交互等。 大数据可用于以有用的方式增强人类的判断力,随着人们不断使用移动设备,他们的数据不断存储不断增加,它随着时间的流逝而变得越来越大,由于大数据的数据集如此之大,传统的应用无法收集和评估数据,基于大数据开发的应用弥合了技术与消费者之间的差距,从而促进了更好的企业间和企业内部市场关系。 开发和提交应用到应用商店,构成了基于云大数据的综合应用开发服务的一部分,由于高端安全性和长寿性,这些移动设备很受欢迎,这有助于通过手机上基于大数据的应用推动行业增长,要使移动设备始终如一地运行,必须以复杂的方式集成硬件,操作系统和应用。 1、来自多个设备的操作 应用使用操作系统在所有类型设备上运行的能力,如果开发应用的Web界面,则可以从不同设备访问它。 2、...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音