java系统找不到指定文件怎么解决
284
2022-09-10
Kubernetes_介绍
文章目录
1.K8S概念和特性
1.1 自动装箱1.2 自我修复(自愈能力)1.3 水平扩展1.4 服务发现1.5 滚动更新1.6 版本回退1.7 密钥和配置管理1.8 存储编排1.9 批处理
2.K8S架构组件3.K8S核心概念
敏捷应用程序的创建和部署:与使用VM镜像相比,提高了容器镜像创建的简便性和效率。持续开发、集成和部署:通过简单的回滚(由于镜像不可变性),提供可靠且频繁的容器镜像构建和部署。关注开发与运维的分离:在构建/时而不是在部署时创建应用程序容器镜像,将应用程序与基础架构分离。可观察性:不仅可以显示操作系统级别的信息和指标,还可以显示应用程序的运行状况和其他指标信号。跨开发、测试和生产的环境一致性:在便携式计算机上与在云中相同地运行。云和操作系统分发的可移植性:可在Ubuntu、RHEL、RHEL、CoreOS、本地、Google Kubernetes Engine和其它任何其它地方运行。以应用程序为中心的管理:提高抽象级别,从在虚拟硬件上运行OS到使用逻辑资源在OS上运行应用程序。松散耦合、分布式、弹性、解放的微服务:应用程序被分解成较小的独立部分,并且可以动态部署和管理-而不是在一台大型单机上器体运行。资源隔离:可预测的应用程序性能。
1.K8S概念和特性
Kubernetes 是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes 能够进行应用的自动化部署和扩缩容。在Kubernetes 中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。
功能:
1.1 自动装箱
基于容器对应用运行环境的资源配置要求自动部署应用容器
1.2 自我修复(自愈能力)
当容器失败时,会对容器进行重启
当所部署的Node节点有问题时,会对容器进行重新部署和重新调度
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务
1.3 水平扩展
通过简单的命令、用户UI 界面或基于CPU 等资源使用情况,对应用容器进行规模扩大或规模剪裁
当我们有大量的请求来临时,我们可以增加副本数量,从而达到水平扩展的效果
当黄色应用过度忙碌,会来扩展一个应用
1.4 服务发现
用户不需使用额外的服务发现机制,就能够基于Kubernetes 自身能力实现服务发现和负载均衡
对外提供统一的入口,让它来做节点的调度和负载均衡, 相当于微服务里面的网关?
1.5 滚动更新
可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新
添加应用的时候,不是加进去就马上可以进行使用,而是需要判断这个添加进去的应用是否能够正常使用
1.6 版本回退
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
类似于Git中的回滚
1.7 密钥和配置管理
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。
1.8 存储编排
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要
存储系统可以来自于本地目录、网络存储(NFS、Gluster、Ceph 等)、公共云存储服务
1.9 批处理
提供一次性任务,定时任务;满足批量数据处理和分析的场景
2.K8S架构组件
API Server:集群统一入口,以restful风格进行操作,同时交给etcd存储提供认证、授权、访问控制、API注册和发现等机制scheduler:节点的调度,选择node节点应用部署controller-manager:处理集群中常规后台任务,一个资源对应一个控制器etcd:存储系统,用于保存集群中的相关数据
Work node:工作节点
Kubelet:master派到node节点代表,管理本机容器一个集群中每个节点上运行的代理,它保证容器都运行在Pod中负责维护容器的生命周期,同时也负责Volume(CSI) 和 网络(CNI)的管理kube-proxy:提供网络代理,负载均衡等操作
fluentd:是一个守护进程,它有助于提升 集群层面日志
3.K8S核心概念
Pod
Pod是K8s中最小的单元一组容器的集合共享网络【一个Pod中的所有容器共享同一网络】生命周期是短暂的(服务器重启后,就找不到了)
Volume
Controller
确保预期的pod副本数量【ReplicaSet】无状态应用部署【Deployment】无状态就是指,不需要依赖于网络或者ip有状态应用部署【StatefulSet】有状态需要特定的条件确保所有的node运行同一个pod 【DaemonSet】一次性任务和定时任务【Job和CronJob】
Deployment
定义一组Pod副本数目,版本等通过控制器【Controller】维持Pod数目【自动回复失败的Pod】通过控制器以指定的策略控制版本【滚动升级、回滚等】
Label
label:标签,用于对象资源查询,筛选
一个集群内部的逻辑隔离机制【鉴权、资源】每个资源都属于一个namespace同一个namespace所有资源不能重复不同namespace可以资源名重复
API 我们通过Kubernetes的API来操作整个集群
同时我们可以通过 kubectl 、ui、curl 最终发送 + json/yaml 方式的请求给API Server,然后控制整个K8S集群,K8S中所有的资源对象都可以采用 yaml 或 json 格式的文件定义或描述
如下:使用yaml部署一个nginx的pod
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~