摘要:
0x00 概述 在Kubernetes中有几种不同的方式发布应用,所以为了让应用在升级期间依然平稳提供服务,选择一个正确的发布策略就非常重要了。 选择正确的部署策略是要依赖于我们的业务需求的,下面我们列出了一些可能会使用到的策略: 重建(recreate):停止旧版本部署新版本 滚动更新(rolli 阅读全文
摘要:
在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath、configmap以及secret的机制和用途。 0x00 Emptydir EmptyDir是一个空目录,他的生命周期和所属的 Pod 是完全一致的,EmptyDir主要作用可以在同一 Pod 内的不同容器 阅读全文
摘要:
https://www.cnadn.net/post/2679.htm 阅读全文
摘要:
0x00 概述 测试搭建一个使用kafka作为消息队列的ELK环境,数据采集转换实现结构如下: F5 HSL–>logstash(流处理)–> kafka –>elasticsearch 测试中的elk版本为6.3, confluent版本是4.1.1 希望实现的效果是 HSL发送的日志胫骨logs 阅读全文
摘要:
0x00 概述 此文力求比较详细的解释DNS可视化所能带来的场景意义,无论是运维、还是DNS安全。建议仔细看完下图之后的大篇文字段落,希望能引发您的一些思考。 在“F5利用Elastic stack(ELK)进行应用数据挖掘系列(2)-DNS”一文中阐述了通过DNS logging profile进 阅读全文
摘要:
保存后之后回到命令行下执行命令: 这样应该就没问题了 阅读全文
摘要:
0x00 单节点搭建和简述 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 官方地址:https://kubernetes.io/docs/setup/minikube/ kubeadm 阅读全文
摘要:
0x00 Kubernetes简介 Kubernetes(K8S)是Google开源的容器集群管理系统,其设计源于Google在容器编排方面积累的丰富经验,并结合社区创新的最佳实践。 K8S在Docker容器技术的基础之上,大大地提高了容器化部署应用简单高效。经过几年的快速发展,K8S已经成为建设容 阅读全文
摘要:
K8S的api-server证书包含很多IP和域名,有时候后期才发现证书内有错误,需要重新生成该证书。 修改server-csr.json,修改后基于原来的ca证书重新生成server.perm server-key.pem 阅读全文
摘要:
0x00 概述 Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnW 阅读全文
摘要:
安装指导及使用简介 1. 下载安装包: https://github.com/lmenezes/cerebro/releases/download/v0.7.3/cerebro-0.7.3.tgz 2. 将安装包copy到ECS节点,该节点网络和待监控的ES集群在同一VPC,网络互通 3. 解压安装 阅读全文
摘要:
0x00 概述 很多客户使用GTM/DNS为企业业务提供动态智能解析,解决应用就近性访问、优选问题。对于已经实施多数据中心双活的客户,则会使用GSLB提供双活流量调度。DNS作为企业业务访问的指路者,在整个IT基础架构系统中有着举足轻重的作用,一旦DNS无法提供服务,将导致客户无法访问业务系统,造成 阅读全文
摘要:
0x00 概述 F5 BIGIP从应用角度位于网络结构的关键咽喉位置,可获取所有应用的流量,针对流量执行L7层处理,即便是TLS加密的流量也可以通过F5进行SSL offload。通过F5可以统一获取所有应用的请求元数据,而不用关心应用是部署在何种系统架构中,这可以大大简化针对不同应用系统进行应用性 阅读全文
摘要:
input { tcp { port => 514 type => 'f5-request' } } filter { if [type] == "f5-request" { grok { match => { "message" => "%{IP:clientip} \[%{HTTPDATE:timestamp}\] %{IP:virtual_ip} %{DATA:virtual_n... 阅读全文
摘要:
https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns 阅读全文
摘要:
0x00 下载 http://www.confluent.io/download,打开后,显示最新版本3.0.0,然后在右边填写信息后,点击Download下载。 之后跳转到下载页面,选择zip 或者 tar都行, 下载完成后上传linux系统,解压即完成安装。 zip and tar archiv 阅读全文
摘要:
0x00 概述 在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者、消费者、ZooKeeper建立大量连接,从而导致网络阻塞。并且这个 Bug也在其他使用者中出现过,看来使用开源工具要慎重!该Bug暂未得到修复,不 阅读全文
摘要:
0x00 概述 这段时间的工作主题就是Linux 下的“离线部署”,包括mongo、mysql、postgresql、nodejs、nginx等软件的离线部署。平常在服务器上借助apt-get就能轻松搞定的事情,在离线环境下就变得异常艰难。上一篇文章讲了使用snap离线安装软件的方式,但对于npm包 阅读全文
摘要:
0x00 压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可 阅读全文
摘要:
预览目录 更改目录拥有者 Data Container 切换用户 参考文章 0x00 概述 如果你读了docker volume 容器卷的那些事(一),我想应该不会遇到下面这些问题的,毕竟是具有指导意义的。本篇文章的内容依旧是有关 volume 的内容,主要讲诉的是如何解决非 root 用户下的文件 阅读全文
摘要:
预览目录 volume 方式 相关用例 使用方式 使用 volume driver bind mount 方式 相关用例 使用方式 配置selinux标签 配置macOS的安装一致性 tmpfs 方式 相关用例 使用方式 0x00 概述 接触 docker 的朋友都知道,docker 镜像是以 la 阅读全文
摘要:
之前对这几个command是忘了记,记了混~所以写下笔记以巩固之。 1.docker save docker save -h Usage: docker save [OPTIONS] IMAGE [IMAGE...] Save one or more images to a tar archive 阅读全文
摘要:
1、Windows上操作 用notepad++编译器打开脚本,编辑->文档格式转换->转换为UNIX格式,然后保存。 重新上传、运行,问题解决 2、Linux上操作 用vi/vim命令打开脚本文件,输入“:set fileformat=unix”,回车,保存退出。 重新执行脚本,问题不在出现。 通用 阅读全文
摘要:
0x00 概述 我们知道docker官方并没有提供多主机的容器通信方案,单机网络的模式主要有host,container,brige,none。none这种模式,顾名思义就是docker本身不去管理网络模式,交由其他管理和分配,比如cni。Flannel是一个专为kubernetes定制的三层网络解 阅读全文
摘要:
0x00 简单的时间序列选择 返回度量指标 http_requests_total 的所有时间序列样本数据: http_requests_total http_requests_total http_requests_total 返回度量指标名称为 http_requests_total,标签分别是 阅读全文
摘要:
0x00 概述 Prometheus 当前稳定的 HTTP API 可以通过 /api/v1 访问。 0x01 API 响应格式 Prometheus API 使用了 JSON 格式的响应内容。 当 API 调用成功后将会返回 2xx 的 HTTP 状态码。 反之,当 API 调用失败时可能返回以下 阅读全文
摘要:
概述 Prometheus 提供了其它大量的内置函数,可以对时序数据进行丰富的处理。某些函数有默认的参数,例如:year(v=vector(time()) instant-vector)。其中参数 v 是一个瞬时向量,如果不提供该参数,将使用默认值 vector(time())。instant-ve 阅读全文
摘要:
0x00 二元运算符 Prometheus 的查询语言支持基本的逻辑运算和算术运算。对于两个瞬时向量, 匹配行为可以被改变。 算术二元运算符 在 Prometheus 系统中支持下面的二元算术运算符: + 加法 - 减法 * 乘法 / 除法 % 模 ^ 幂等 + 加法 + 加法 - 减法 - 减法 阅读全文
摘要:
0x00 概述 Prometheus 提供了一种功能表达式语言 PromQL,允许用户实时选择和汇聚时间序列数据。表达式的结果可以在浏览器中显示为图形,也可以显示为表格数据,或者由外部系统通过 HTTP API 调用。 0x01 表达式语言数据类型 在 Prometheus 的表达式语言中,表达式或 阅读全文
摘要:
https://github.com/yangchuansheng/k8s-knowledge 阅读全文
摘要:
0x00 概述 使用 Docker 时,最常用的命令无非是 docker container 和 docker image 相关的子命令,当然最初没有管理类命令(或者说分组)的时候,最常使用的命令也无非是 docker run docker commit docker build 和 docker 阅读全文
摘要:
0x00 概述 这里所谓的Linux版本信息,包括Linux内核版本信息和Linux系统版本信息。 0x01 查看Linux内核版本信息 方法1:登陆Linux,在终端输入 方法2:登陆Linux,在终端输入 方法3:登陆Linux,在终端输入 0x02 查看Linux系统版本信息 方法1:登陆Li 阅读全文
摘要:
0x00 概述 有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目。也就是说整个监控系统不是部署在k8s cluster中。非in-cluster的prometheus怎么监控k8s是今天需 阅读全文
摘要:
0x00 概述 Prometheus之于kubernetes(监控领域),如kubernetes之于容器编排。随着heapster不再开发和维护以及influxdb 集群方案不再开源,heapster+influxdb的监控方案,只适合一些规模比较小的k8s集群。而prometheus整个社区非常活 阅读全文
摘要:
0x00 概述 prometheus在容器云的领域实力毋庸置疑,越来越多的云原生组件直接提供prometheus的metrics接口,无需额外的exporter。所以采用prometheus作为整个集群的监控方案是合适的。但是metrics的存储这块,prometheus提供了本地存储,即tsdb时 阅读全文
摘要:
0x00 概述 Prometheus 是一个开源和社区驱动的监控&报警&时序数据库的项目。来源于谷歌BorgMon项目。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。主要监控: Node:如主机CPU,内存,网络吞吐和带宽占用,磁盘I/O和磁盘使用等指标。n 阅读全文
摘要:
0x00 Prometheus是什么 Prometheus是一个开源的系统监控和报警工具,特点是 多维数据模型(时序列数据由metric名和一组key/value组成) 在多维度上灵活的查询语言(PromQl) 不依赖分布式存储,单主节点工作. 通过基于HTTP的pull方式采集时序数据 可以通过p 阅读全文
摘要:
0x00 概述 Prometheus 是一个开源监控系统,它本身已经成为了云原生中指标监控的事实标准,几乎所有 k8s 的核心组件以及其它云原生系统都以 Prometheus 的指标格式输出自己的运行时监控信息。我在工作中也比较深入地使用过 Prometheus,最大的感受就是它非常容易维护,突出一 阅读全文
摘要:
0x00 概述 服务发现应用是很多服务化系统的组成部分,所以在开发、测试环境中也就有必要配备一套服务发现体系来配合我们的开发、测试工作。在这一小节里,我们就来谈谈如何在 Docker 环境下部署服务发现应用。 0x01 使用 Docker Compose 模拟 Zookeeper 集群 实现服务发现 阅读全文
摘要:
0x00 概述 Java Web 泛指以 Java 程序为基础向外提供 Web 服务的技术及相关工具,狭义上来说,我们也可以说 Java Web 是由 Servlet 程序提供的 Web 服务。 对我们而言,Tomcat 无疑是最常见的 Servlet 容器,所以在这个小节里,我们来搭建一个以 To 阅读全文