![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
K8S
容器相关
ailinyingai
DevOps 搬砖人 干饭人
展开
-
pod参数详解
apiVersion: v1 #必选,版本号,例如v1,版本号必须可以用 kubectl api-versions 查询到 .kind: Pod #必选,Podmetadata: #必选,元数据 name: string #必选,Pod名称 namespace: string #必选,Pod所属的命名空间,默认翻译 2021-01-14 19:21:28 · 1192 阅读 · 0 评论 -
HPA2
Kubernetes具有灵活的可扩展性,它通过API聚合器为开发人员提供了轻松扩展API资源的能力,可以自定义指标API和资源指标API。新一代的Kubernetes监控系统架构主要由核心指标流水线和监控指标流水线协同组成。核心指标流水线由kubelet、metrics-server以及由API server提供的api组成;CPU累积使用率、内存的实时使用率、pod的资源占用率及容器的磁盘占用率。监控指标流水线用于从系统收集各种指标数据并提供给终端用户、存储系统以及HPA,包含核心指标以及其他许多翻译 2021-01-07 16:26:34 · 243 阅读 · 0 评论 -
k8s--ingress
PVC:Pod 想要使用的持久化存储的属性,比如存储的大小、读写权限等。PV :具体的 Volume 的属性,比如 Volume 的类型、挂载目录、远程存储服务器地址等。StorageClass:充当 PV 的模板。并且,只有同属于一个 StorageClass 的 PV 和 PVC,才可以绑定在一起。当然,StorageClass 的另一个重要作用,是指定 PV 的 Provisioner(存储插件)。这时候,如果你的存储插件支持 Dynamic Provisioning 的话,Kubernetes原创 2021-01-03 22:46:55 · 116 阅读 · 0 评论 -
k8s pod
pod 定义由这么几个部分组成: 首先是yaml中使用的Kubernetes API版本和YAML 描述的kind资源类型;所有Kubernetes资源中都可以找到的五大大重要部分:• apiVersion 使用的Kubernetes API版本• kind 资源类型• metadata 包括名称、命名空间、标签和关于该容器的其他信息。• spec 包含pod 内容的实际说明, 例如pod 的容器、卷和其他据。• status 包含运行中的pod 的当前信息,例如pod 所处的条件、每个容器的描翻译 2021-01-02 15:46:47 · 126 阅读 · 0 评论 -
普罗米修斯
prometheus对比zabbix有哪些优势?https://blog.csdn.net/wangyiyungw/article/details/85774969**prometheus组件有哪些,功能是什么?指标类型有哪些?Counter(计数器)Guage(仪表盘)Histogram(直方图)Summary(摘要)在应对上千节点监控时,如何保障性能降低采集频率缩小历史数据保存天数,使用集群联邦和远程存储简述从添加节点监控到grafana成图的整个流程被监控..翻译 2020-12-31 10:15:54 · 241 阅读 · 0 评论 -
k8s
k8s的集群组件有哪些?功能是什么?kubectl命令相关:如何修改副本数,如何滚动更新和回滚,如何查看pod的详细信息,如何进入pod交互?修改副本数 kubectl scale deployment redis —replicas=3活动更新kubectl set image deployments myapp-deploy myapp=myapp:v2回滚kubectl rollout undo deployments myapp-deploy查看pod详细信息kubectl des..原创 2020-12-31 10:14:38 · 113 阅读 · 0 评论 -
k8s-005
自动装箱:基于资源依赖以及最大约束能够自动完成容器的部署,且不影响其容器的可用性自我修复:自愈能力,一旦容器出现问题,它可以在一秒钟重新启动一个新的文章来源(Source):https://www.dqzby.com起来(前提:镜像是已经下载至本地并且程序本身初始化快)水平扩展:自动实现水平扩展,当容器资源不够时,可以实现不断向上扩展(只要容器所在物理资源足够)服务发现:自动实现服务发现负载均衡自动发布和回滚秘钥和配置管理早期非云原生的应用程序不是面向云原生而开发的,所以应用程序需要读取配置文原创 2020-12-15 08:40:37 · 100 阅读 · 0 评论 -
k8s-hpa
Kubernetes定义了三种不同的监控数据接口,分别是Resource Metric,Custom Metric以及External Metric。一般来说Resource Metric是通过metrics-server采集;Custom Metric是通过prometheus来实现自定义扩容。External Metric就是针对云场景的了,比方说通过获取slb最大连接数来实现自动扩容。apiVersion: apps/v1kind: Deploymentmetadata: labels翻译 2020-12-09 18:38:35 · 185 阅读 · 0 评论 -
高级运维开发
主要工作亿级网站架构设计性能优化容器化落地大规模自动化运维平台化工作1、Web静态缓存用户老喊着访问网站慢,看看服务器资源还很富裕啊!网站访问慢也许不是服务器资源饱和导致的,影响因素很多,例如网络、转发层数等。对于网络,存在南北通信问题,之间访问会慢,这个可以使用CDN解决,同时缓存静态页面,尽可能将请求拦截在最上层响应,减少后端请求和响应时间。如果不用CDN,也可以使用Squid、Varnish、Nginx这样的缓存服务实现静态页面缓存,放到流量入口处。2、集群单台服务器终究资源有限翻译 2020-11-30 17:17:18 · 251 阅读 · 0 评论 -
prometheus 服务分片 远程存储
拆分Promtheus 本身只支持单机部署,没有自带支持集群部署,也不支持高可用以及水平扩容,它的存储空间受限于本地磁盘的容量。同时随着数据采集量的增加,单台 Prometheus 实例能够处理的时间序列数会达到瓶颈,这时 CPU 和内存都会升高,一般内存先达到瓶颈,主要原因有:Prometheus 的内存消耗主要是因为每隔 2 小时做一个 Block 数据落盘,落盘之前所有数据都在内存里面,因此和采集量有关。加载历史数据时,是从磁盘到内存的,查询范围越大,内存越大。这里面有一定的优化空间。一些不合翻译 2020-11-29 13:37:55 · 788 阅读 · 0 评论 -
普罗米修斯0102
只要Exporter在运行,你可以在任何地方(比如在本地),搭建你的监控系统;你可以更容易的查看监控目标实例的健康状态,并且可以快速定位故障;更利于构建DevOps文化的团队;松耦合的架构模式更适合于云原生的部署环境。Prometheus会自动的周期性读取文件中的内容。当文件中定义的内容发生变化时,不需要对Prometheus进行任何的重启操作。这种通用的方式可以衍生了很多不同的玩法,比如与自动化配置管理工具(Ansible)结合、与Cron Job结合等等。 对于一些Prometheus还不支持原创 2020-06-22 22:42:40 · 234 阅读 · 0 评论 -
promethues 自定义exporter开发
Prometheus是基于Pull的工作模式,需要定期的从Agent端收集数据,并入库,这里的Agent被称为Exporter。官网和社区里目前很多成熟的expoter可以选择,比如监控linux机器的node_exporter、监控mysql的mysqld_exporter等等。这里的大多数都是用Go语言写的,其实理解了Exporter和Prometheus的工作原理之后就知道,exporter其实就是将收集的数据转化为文本格式,并对外暴露接口,提供 http 请求,所以很容自己实现一个,不必拘泥于用那种原创 2020-06-19 22:23:12 · 2325 阅读 · 0 评论 -
任务执行状态
D 不可中断 uninterruptible sleep (usually IO)R 运行 runnable (on run queue)S 中断 sleepingT 停止 traced or stoppedZ 僵死 a defunct (”zombie”) process原创 2020-06-19 18:48:12 · 527 阅读 · 0 评论 -
k8s 004
可以看到,Kubernetes 推荐的使用方式,是用一个 YAML 文件来描述你所要部署的 API 对象。然后,统一使用 kubectl apply 命令完成对这个对象的创建和更新操作。而 Kubernetes 里“最小”的 API 对象是 Pod。Pod 可以等价为一个应用,所以,Pod 可以由多个紧密协作的容器组成。在 Kubernetes 中,我们经常会看到它通过一种 API 对象来管理另一种 API 对象,比如 Deployment 和 Pod 之间的关系;而由于 Pod 是“最小”的对象,所以它往原创 2020-05-30 19:38:28 · 172 阅读 · 0 评论 -
普罗米修斯配置文件
global: scrape_interval: 1m scrape_timeout: 1m evaluation_interval: 15salerting: alertmanagers: - static_configs: - targets: - 172.31.20.42:9093 scheme: http timeout: 10s api_version: v1rule_files:- third_rules.yml- four原创 2020-05-30 19:13:28 · 1254 阅读 · 0 评论 -
普罗米修斯011
Prometheus Server是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。 Prometheus Server可以通过静态配置管理监控目标,也可以配合使用Service Discovery的方式动态管理监控目标,并从这些监控目标中获取数据。其次Prometheus Server需要对采集到的监控数据进行存储,Prometheus Server本身就是一个时序数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘当中。最后Prometheus Server对外提供了原创 2020-05-30 19:12:55 · 211 阅读 · 0 评论 -
普罗米修斯介绍
监控分为白盒监控和黑盒监控之分。白盒监控:通过监控内部的运行状态及指标判断可能会发生的问题,从而做出预判或对其进行优化。黑盒监控:监控系统或服务,在发生异常时做出相应措施。监控的目的如下:1、根据历史监控数据,对为了做出预测2、发生异常时,即使报警,或做出相应措施3、根据监控报警及时定位问题根源4、通过可视化图表展示,便于直观获取信息各监控client向外暴露一个HTTP服务,prometheus会通过pull方式获取client的数据指标有四种类型1、Counter 只增不减 计数原创 2020-05-29 21:35:26 · 1575 阅读 · 0 评论 -
服务发现
在 Prometheus 的配置中,一个最重要的概念就是数据源 target,而数据源的配置主要分为静态配置和动态发现, 大致为以下几类:static_configs: 静态服务发现dns_sd_configs: DNS 服务发现file_sd_configs: 文件服务发现consul_sd_configs: Consul 服务发现serverset_sd_configs: Serverset 服务发现nerve_sd_configs: Nerve 服务发现marathon_sd_confi原创 2020-05-29 21:33:37 · 231 阅读 · 0 评论 -
docker prometheus
cadvisor 与 Prometheus 的完美结合,所以它成为了容器监控的第一选择docker pull google/cadvisor:latestdocker imagessudo docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume翻译 2020-05-29 19:02:21 · 143 阅读 · 0 评论 -
nginx prometheus 监控
官方提供了两种收集 Nginx 指标的方式。第一种是 Nginx metric library,这是一段 Lua 脚本(prometheus.lua),Nginx 需要开启 Lua 支持(libnginx-mod-http-lua 模块)。为方便起见,也可以使用 OpenResty 的 OPM(OpenResty Package Manager) 或者 luarocks(The Lua package manager) 来安装。第二种是 Nginx VTS exporter,这种方式比第一种要强大的多,安装翻译 2020-05-29 16:40:22 · 1066 阅读 · 0 评论 -
容器基础 003
开启了 mount namespace容器看到的文件系统也和宿主机完全一样修改的是容器进程对文件系统挂载点的认知对容器进程视图的改变 一定是伴随着挂载操作才能生效mount namespace 正是基于对chroot的不断改良才被发明出来的 也是第一个namespace根文件系统什么是容器的一致性打包的不只是应用 而是整个操作系统的文件和目录 应用以及它运行所需要的所有依赖 都被封...原创 2020-02-05 14:11:08 · 127 阅读 · 0 评论 -
容器基础 002
隔离与限制namespace 技术实际上修改了应用进程看待整个计算机"视图" 它的视线被操作系统做了限制 只能看到某些指定的内容docker 为什么比虚拟机更受欢迎敏捷和高性能 是容器相较于虚拟机最大的优势缺点隔离不彻底使用的还是同一个宿主机的操作系统内核很多资源和对象是不能被namespace 化的 比如 时间子系统目录加上一组资源限制文件的组合容器只是一种特殊的进程单进程...翻译 2020-02-05 13:58:30 · 139 阅读 · 0 评论 -
容器基础 001
容器技术的兴起源于PaaS 技术的普及docker项目有里程碑式的意义容器镜像解决了应用打包这个根本性的难题容器本身没有价值 有价值的是容器编排容器其实是一种沙盒技术 不至于互相干扰边界的实现手段计算机执行环境的总和是 进程通过约束和修改进程的动态表现 创造出一个“边界“cgroups 制造约束的主要手段namespace技术用来修改进程视图的主要方法容器只是一种特殊的进程...原创 2020-02-05 13:36:11 · 204 阅读 · 0 评论