自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

热心网友

热心网友

  • 博客(127)
  • 收藏
  • 关注

原创 [云原生] Prometheus之部署 Alertmanager 发送告警

Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如Email、钉钉或企业微信等。

2024-03-15 15:37:25 1078

原创 [云原生] Prometheus自动服务发现部署

.....file_sd_configs: #指定使用文件服务发现- files: #指定要加载的文件列表- targets/node*.yaml #文件加载支持通配符refresh_interval: 2m #每隔 2 分钟重新加载一次文件中定义的 Targets,默认为 5m- files:浏览器查看 Prometheus 页面的 Status -> Targets。

2024-03-14 16:09:55 1173

原创 zabbix与prometheus的区别?如何选择?

首先可以肯定zabbix和Prometheus都是非常优秀的监控系统,但从选择上,可以根据实际需求来确定合适的监控系统。Zabbix:更适用于传统业务架构的物理机、虚拟机环境的监控,对容器的支持比较差;数据存储主要采用的是关系型数据库,会随着被监控节点数量的增加,关系型数据库的压力也会变大,监控数据的读写也会变慢;对大规模集群监控的性能比Prometheus要弱一些,可适用于单集群不超过2000台节点的场景。Prometheus:还能支持云环境、K8S容器集群的监控,是目前容器监控最好的解决方案;

2024-03-14 15:03:04 1111

原创 [云原生] Prometheus理论知识及系统搭建

promethues是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。 Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件 Prometheus server 会定期从

2024-03-13 17:51:01 1561

原创 [云原生] K8s之ingress

service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内部使用,对于集群外的应用是不可见的。

2024-03-11 14:46:53 1703 1

原创 [云原生] k8s配置资源管理

ConfigMap资源(简称cm) 用于保存配置文件、环境变量等不需要加密的信息。

2024-03-07 16:21:40 1153

原创 [云原生] K8s之pod控制器详解

1、部署有状态应用的2、每个Pod的名称是唯一且固定不变的,而且每个Pod应该拥有自己专属的持久化存储(基于PVC模板volumeClaimTemplates绑定PV)3、需要关联 Headless Service(ClusterIP为None),在K8S集群内部可通过 <pod_name>.<svc.name>.<namespace_name>.svc.cluster.local 的格式解析出 PodIP (基于无头服务和CoreDNS实现)

2024-03-06 16:16:15 1312

原创 [云原生] k8s之存储卷

PV 全称叫做 Persistent Volume,持久化存储卷。它是用来描述或者说用来定义一个存储卷的,这个通常都是由运维工程师来定义。PVC 的全称是 Persistent Volume Claim,是持久化存储的请求。它是用来描述希望使用什么样的或者说是满足什么条件的 PV 存储。PVC 的使用逻辑:在 Pod 中定义一个存储卷(该存储卷类型为 PVC),定义的时候直接指定大小,PVC 必须与对应的 PV 建立关系,PVC 会根据配置的定义去 PV 申请,而 PV 是由存储空间创建出来的。

2024-03-05 18:15:35 1923

原创 [云原生] k8s的集群调度

注意:在创建 Pod 的工作就已经完成了后,为什么 kubelet 还要一直监听呢?原因很简单,假设这个时候 kubectl 发命令,要扩充 Pod 副本数量,那么上面的流程又会触发一遍,kubelet 会根据最新的 Pod 的部署情况调整 Node 的资源。又或者 Pod 副本数量没有发生变化,但是其中的镜像文件升级了,kubelet 也会自动获取最新的镜像文件并且加载。

2024-03-04 16:49:31 860

原创 [云原生] K8s之pod进阶

【代码】[云原生] K8s之pod进阶。

2024-02-29 18:45:17 1418 1

原创 [云原生] k8s之pod容器

Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和Ingress对象,为Pod提供存储的PersistentVolume存储资源对象等。(1)一个pod中运行一个容器。"每个po中一个容器"的模式是最常见的用法:在这种使用方式中,

2024-02-28 16:50:59 997

原创 [云原生] K8S声明式资源管理

资源清单的编写管理,都是基于yaml编写的格式YAML 是一种标记语言,它可以很直观的展示数据序列化格式,可读性高。类似于 json 数据描述语言,语法比 json 简单的很多。关于 YAML 的真相是,YAML 中只有两种数据结构:序列(sequence)和映射(mapping)。这是两个花哨的名字,你会发现它代表了你非常熟悉的概念。这篇文章解释了这两种结构,更重要的是,介绍了它们是如何协同工作,使 YAML 成为表示你所关心的数据的强大方式。 离线修改的过程:(1)首先将配置资源导入通过重定向

2024-02-27 16:52:41 1021 2

原创 [云原生] k8s中kubectl陈述式资源管理

主要依赖统一资源配置清单进行管理。

2024-02-26 18:46:29 1198

原创 [云原生] 二进制部署k8s集群部署的步骤总结

准备证书启动etcd服务,加入集群。

2024-02-23 15:53:47 275

原创 [云原生] 二进制k8s集群(下)部署高可用master节点

【代码】[云原生] 二进制k8s集群(下)部署高可用master节点。

2024-02-23 15:43:49 1052

原创 [云原生] 二进制安装K8S(中)部署网络插件和DNS

力拔山兮气盖世

2024-02-22 16:41:31 1521

原创 [云原生] 二进制安装K8S(上)搭建单机matser、etcd集群和node节点

Master apiserver 启用 TLS 认证后,node 节点 kubelet 组件想要加入集群,必须使用CA签发的有效证书才能与 apiserver 通信,当 node 节点很多时,签署证书是一件很繁琐的事情。也就是说 kubelet 首次访问 API Server 时,是使用 token 做认证,通过后,Controller Manager 会为 kubelet 生成一个证书,以后的访问都是用证书做认证了。CFSSL包含一个命令行工具和一个用于签名、验证和捆绑TLS证书的HTTP API服务。

2024-02-21 18:58:03 1405

原创 [云原生] 初识Kubernetes

Kubernetes,词根源于希腊语的 舵手、飞行员。在国内又称k8s(因为k和s之间有8个字母,所以得名。“国内程序员的幽默”)。用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。

2024-02-20 16:36:17 1472

原创 [ansible] playbook角色

【代码】[ansible] playbook角色。

2024-02-19 15:32:51 756

原创 [ansible] playbook运用

在yaml文件中,我们可以在初始配置的模块中用var去定义变量的存在,变量的格式为key:value,以此来确定该变量在剧本中的存在---vars:tasks:---tasks:- debug:whith_items: {{item}}会把所有的列表展开进行遍历输出,with_flattened也可以替代with_itemswith_list: {{item}}会把每个列表当作一个整体输出。如果每个列表中只有一个值,则效果与with items一致。loop也可以替代ith。

2024-02-18 17:39:14 1169

原创 初识Ansible自动化运维工具之playbook剧本编写

playbook是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。我们完成一个任务,例如安装部署一个httpd服务,我们需要多个模块(一个模块也可以称之为task)提供功能来完成。

2024-02-04 11:16:41 1151

原创 了解Ansible自动化运维工具及模块的使用

command模块:注意:在远程主机执行命令,不支持管道,重定向等shell的特性。ansible 指定的IP -m command -a 'Linux基础命令' #指定 ip 执行 基础命令ansible 组名 -m command -a 'Linux基础命令' #指定组执行基础命令ansible all -m command -a 'linux基础命令' #指定所有被管理的主机执行该命令。

2024-02-01 20:17:36 907

原创 Https加密超文本传输协议的运用

HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

2024-01-31 16:17:25 1134

原创 [云原生] Docker 安全

使用最少资源和最低权限运行容器,此为 Docker 容器安全的核心思想。

2024-01-31 14:47:24 675

原创 [docker] Docker容器服务更新与发现之consul

服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。

2024-01-30 18:57:06 972

原创 [docker] 利用Dockerfile多级构建缩减镜像大小

【代码】[docker] 利用Dockerfile多级构建缩减镜像大小。

2024-01-29 17:59:12 822

原创 【docker】Docker-compose单机容器集群编排

●如果包含特殊字符用单引号('')引起来会作为普通字符串处理,双引号(""): 特殊字符作为本身想表示的意思。在启动php容器前,就先启动后apache容器和mysql容器,为php组件提供所需启动的依赖环境。●符号字符后缩进1个空格,如冒号 : 、逗号 , 、横杠 -●缩进的空格数目不重要,只要相同层级左对齐,通常开头缩进2个空格。●不支持制表符 tab 键缩进,只能使用空格缩进。docker镜像的管理问题。●通过缩进表示层级关系。

2024-01-29 17:10:52 840

原创 [docker] Docker的私有仓库部署——Harbor

总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。-v:把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;

2024-01-26 20:38:21 1612 1

原创 [docker] Docker的数据卷、数据卷容器,容器互联

命令说明docker run -v 宿主机目录:数据卷将宿主机的目录挂载到容器的目录docker run -v 数据卷指定创建容器的目录为数据卷,可供其他容器挂载docker run --volumes-from 数据卷容器挂载数据卷容器(挂载点路径不变docker run --link 源容器名称:别名容器互联注意:一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功。

2024-01-25 18:34:02 846

原创 [docker] Docker镜像的创建以及Dockerfile的使用

Dockerfile结构大致分为四个部分:基础镜像信息(用from指定)、维护者信息(maintainer、镜像操作指令和容器启动时执行指令。第一行必须使用FROM指令指明所基于的镜像名称;之后使用MAINTAINER 指令说明维护该镜像的用户信息;然后是镜像操作相关指令,如RUN指令/EXPOSE/ADD/ENV/ARG等等。每运行一条指令,都会给基础镜像添加新的一层。(多条命令可以使用;或 && 合并成一条命令,减少镜像的层数)

2024-01-25 18:04:38 1980

原创 [docker] Docker资源管理

设置单个容器进程能够使用的CPU使用率上限针对新建的容器:docker run --cpu-period 单个CPU调度周期时间(1000~1000000) --cpu-quota 容器进程能够使用的最大CPU时间(>=1000)针对已存在的容器:修改 /sys/fs/cgroup/cpu/docker/容器ID/ 目录下的 cpu.cfs_period_us(单个CPU调度周期时间) cpu.cfs_quota_us(容器进程能够使用的最大CPU时间) 文件的值。

2024-01-24 19:51:18 1190

原创 [docker] Docker 网络

使用此模式的每个容器都有独立的网络命名空间namespace,即每个容器都有独立的IP、端口范围(每个容器可以用同一个端口)、路由、iptables规则等网络资源。容器与宿主机共享网络namespace,即容器和宿主机使用同一个IP、端口范围(容器与宿主机或其它使用host模式的容器不能用同一个端口)、路由、iptables规则等网络资源。和指定已存在的容器共享网络namespace,即这两个容器使用同一个IP、端口范围(容器与指定的容器不能用同一个端口)、路由、iptables规则等网络资源。

2024-01-24 17:04:55 1381

原创 [docker] Docker 基本管理

Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。

2024-01-23 20:28:31 1155

原创 [docker] 关于docker的面试题

因为大部分的镜像都是基于某个操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。

2024-01-23 19:21:25 604 1

原创 kafka集群和Filebeat+Kafka+ELK

主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。当前比较常见的 MQ 中间件有 ActiveMQ、RabbitMQ、RocketMQ、Kafka、Pulsar 等。

2024-01-22 19:04:48 1578

原创 Zookeeper集群

Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。

2024-01-22 14:37:45 1014

原创 [ELK] ELK+Filebeat变成ELK stack

语法:(?举例:捕获10或11和长度的十六进制数的queue_id可以使用表达式(?filter {grok {如果表达式匹配失败,会生成一个tags字段,字段值为 _grokparsefailure,需要重新检查上边的match配置解析是否正确。

2024-01-19 21:17:41 1177 1

原创 [ELK] ELK企业级日志分析系统

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。●ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与 Elasticsearch 通信。

2024-01-19 18:48:36 1548

原创 [ceph] ceph应用

其中 S3 与 Swift 互不兼容,RadosGw 为了兼容 S3 与 Swift, Ceph 在 RadosGW 集群的基础上提供了 RGW(RadosGateway)数据抽象层和管理层,它可以原生兼容 S3 和 Swift 的 API。提供了user、subuser、bucket和object,其中的user对应于S3的user,而subuser则对应于Swift的user,不过user和subuser都不支持为bucket提供名称空间,因此不同用户的存储桶不允许同名;

2024-01-17 18:59:00 1116

原创 [ceph] ceph之分布式存储

Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。

2024-01-16 18:18:17 1075

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除