自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 收藏
  • 关注

原创 【云原生】Prometheus之部署 Alertmanager 发送告警

前面我们具体介绍了PromQL语法运用,基于PromQL,本次我们将部署出 Prometheus的报警发送功能。Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如。

2023-02-04 19:55:21 3318 1

原创 【云原生】Prometheus 之PromQL

当 Prometheus 通过 Exporter 采集到相应的监控指标样本数据后,我们就可以通过PromQL 对监控样本数据进行查询,从而对相应的数据样本进行分析以及制定报警规则。PromQL(Prometheus Query Language)是 Prometheus 内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。Prometheus 基于指标名称(metrics name)以及附属的标签集(labelset)唯一定义一条时间序列●指标名称代表着监控目标上某类可测量属性的基本特征标识。

2023-02-01 13:27:25 1848

原创 【云原生】Prometheus之图形化界面grafana与服务发现部署

上一篇文章中我们介绍了Prometheus的组件,监控作用,部署方式,以及如何通过在客户机安装exporter再添加监控项的操作。但是不免会发现原生的Prometheus的图像化界面对于监控数据并不能其他很好的展示效果。所以本次我们将介绍一款开源非常适用于Prometheus的图形化软件grafana。除此之外,上面的exporter监控项都是通过手动添加,这样效率慢而且需要中止Prometheus的工作进程,所以本次我们将介绍几种让Prometheus自动完成服务发现的方法。

2023-01-29 11:06:08 2508

原创 【云原生】Prometheus 监控系统的初步了解与系统搭建

promethues是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。首先可以肯定zabbix和Prometheus都是非常优秀的监控系统,但从选择上,可以根据实际需求来确定合适的监控系统。

2023-01-26 10:59:20 2717

原创 【云原生】k8s之包管理器Helm

每个成功的软件平台都有一个优秀的打包系统,比如Debian、Ubuntu 的 apt,RedHat、CentOS 的 yum。Helm 则是 Kubernetes上 的包管理器,方便我们更好的管理应用。Helm本质就是让K8s的应用管理(Deployment、Service等)可配置,可以通过类似于传递环境变量的方式能动态生成。通过动态生成K8s资源清单文件(deployment.yaml、service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署。

2023-01-19 19:18:55 2733 2

原创 【云原生】k8s图形化管理工具之rancher

在前面的k8s基础学习中,我们学习了各种资源的搭配运用,以及命令行,声明式文件创建。这些都是为了k8s管理员体会k8s的框架,内容基础。在真正的生产环境中,大部分的公司还是会选用图形化管理工具来管理k8s集群,大大提高工作效率。在二进制搭建k8集群时,我们就知道了k8s本身就具有一款原生的k8s集群管理工具,但是原生图形化管理工具dashborad只拥有管理一个集群的能力。而对于现代化生产力公司来讲,一个集群能够做的事情还是太少,所以我们需要引入更强大的集群管理工具。

2023-01-17 15:46:56 3847

原创 【云原生】k8s之HPA,命名空间资源限制

1.HPA的相关知识 2.HPA的部署运用 2.1 进行HPA的部署设置 2.2 HPA伸缩的测试演示 (1)创建一个用于测试的pod资源(2)创建HPA控制器,进行资源的限制,伸缩管理 (3)进入其中一个pod容器仲,进行死循环模拟 HPA(Horizontal Pod Autoscaling)Pod 水平自动伸缩,Kubernetes 有一个 HPA 的资源,HPA 可以根据 CPU 利用率自动伸缩一个 Replication Controller、 Deployment 或者Replica Set

2023-01-17 11:09:00 2043

原创 【云原生】k8s安全机制

Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介, 也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。

2023-01-16 15:13:18 1450

原创 【云原生】k8s之Ingress

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

2023-01-09 20:52:42 4653

原创 【云原生】k8s配置资源管理

使用 Secret 资源挂载的方式在 pod.spec.volumes 字段中定义卷类型为 secret在 pod.spec.containers.volumeMounts 字段中把存储卷挂载到指定的容器目录,secret资源数据的key将以文件名的形式存在,value为文件内容容器环境变量引用的方式在 pod.spec.containers.env.name 字段中自定义容器的环境变量名。

2023-01-08 20:29:12 1431

原创 【云原生】k8s之pod控制器

Pod 是 Kubernetes 集群中能够被创建和管理的最小部署单元。所以需要有工具去操作和管理它们的生命周期,这里就需要用到控制器了。Pod 控制器由 master 的 kube-controller-manager 组件提供,常见的此类控制器有 Replication Controller、ReplicaSet、Deployment、DaemonSet、StatefulSet、Job 和 CronJob 等,它们分别以不同的方式管理 Pod 资源对象。

2023-01-08 13:52:42 1623

原创 【云原生】k8s之存储卷

容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的Volume抽象就很好的解决了这些问题。Pod中的容器通过Pause容器共享Volume。PV 全称叫做 Persistent Volume,持久化存储卷。

2023-01-05 18:00:00 2294

原创 【云原生】k8s的集群调度

拓扑域key(topologyKey)一般为指定Pod所在的Node节点的标签的key,如果别的Node节点也具有相同的标签的key和value,那么这些Node节点就和指定Pod所在的Node节点处于同一个拓扑域。通过上一个知识点我们知道了,pod在分配到node节点是通过预选策略和优选策略完成。这里可能会存在一些争议:我在使用老版本的vmvare时,软策略会把所有的pod分配到一个节点上,新版本的vmvare就是现在执行的效果(这里也不用过于纠结,如果真是强制在某一个节点的话,我们肯定首选的是硬策略。

2023-01-04 19:41:37 1307 1

原创 【云原生】k8s之pod基础(下)

当你在创建容器时会针对指定的镜像来进行容器的创建,所以pod的创建是以镜像为基础。当你在拉取镜向不指定仓库的主机名,Kubernetes 认为你在使用 Docker 公共仓库。

2023-01-03 19:08:46 2725

原创 【云原生】k8s的pod基础(上)

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

2022-12-20 18:52:18 1510

原创 k8s 综合部署练习(针对负载均衡+外网访问web)

(1)Kubernetes 区域可采用 Kubeadm 方式进行安装。(2)要求在 Kubernetes 环境中,通过yaml文件的方式,创建Deployment控制器和4个Nginx Pod副本,并进入容器中修改index.html文件内容,以做区分,页面内容可自己定义。(3)编写service对应的yaml文件,使用NodePort类型和TCP 30010端口将Nginx服务发布出去。(4)负载均衡区域配置Keepalived+Nginx,实现负载均衡高可用,通过VIP 192.168.73.66和自定

2022-12-16 12:28:35 1593

原创 【云原生】k8s声明式资源管理

k8s声明式创建管理资源

2022-12-14 18:35:41 1284

原创 【云原生】k8s中kubectl陈述式资源管理

蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚。灰度发布:根据比例将老版本升级,例如80%用户访问是老版本,20%用户访问是新版本。滚动发布:按批次停止老版本实例,启动新版本实例。1.查看版本信息2.查看资源对象简写3.查看集群信息4.配置kubectl自动补全5.node节点查看日志创建kubectl create 控制器kubectl run 自助式发布,创建 service更新回滚删除kubectl delete 控制器|pod ...

2022-12-14 10:27:23 1148

原创 【云原生】kubeadm部署k8s集群

前面的文章中,我们采用了二进制包搭建出的k8s集群,本次我们采用更为简单的kubeadm的方式来搭建k8s集群。二进制的搭建更适合50台主机以上的大集群,kubeadm更适合中小型企业的集群搭建

2022-12-13 17:04:14 1279

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

在上一篇文章中,就已经完成了二进制k8s集群部署的搭建,但是单机master并不适用于企业的实际运用(因为单机master中,仅仅只有一台master作为节点服务器的调度指挥,一旦宕机。就意味着整个集群的瘫痪,所以成熟的k8s的集群一定要考虑到master的高可用。)企业的运用一般至少存在两台master及其以上的部署,本次将根据前面的部署,再添加一台master(三个master或者更多,也可以根据本次添加步骤重复添加)。添加master后,我们会将借助keepalived+nginx的架构,来实现高可

2022-12-10 15:37:02 2004

原创 【云原生】二进制部署k8s集群(中)搭建node节点

在上文已经成功部署了etcd分布式数据库、master01节点,本文将承接上文的内容,继续部署Kubernetes集群中的 worker node 节点和 CNI 网络插件。kubelet 采用 TLS Bootstrapping 机制,自动完成到 kube-apiserver 的注册,在 node 节点量较大或者后期自动扩容时非常有用。 Master apiserver 启用 TLS 认证后,node 节点 kubelet 组件想要加入集群,必须使用CA签发的有效证书才能与 apiserver 通信,当

2022-12-09 15:29:39 2242 6

原创 【云原生】二进制部署k8集群(上)搭建单机matser和etcd集群

目前Kubernetes最新版本是v1.25,但大部分公司一般不会使用最新版本。目前公司使用比较多的:老版本是v1.15,因为v1.16改变了很多API接口版本,国内目前使用比较多的是v1.18、v1.20。 组件部署: 注意:该操作在所有node节点上进行,为k8s集群提供适合的初始化部署环境 etcd是Coreos团队于2013年6月发起的开源项目,它的目标是构建一个 高可用的分布式键值(key-value) 数据库。etcd内 部采用raft协议作为一致性算法,e

2022-12-07 16:25:57 966

原创 【云原生】初识Kubernetes的理论基础

Kubernetes,词根源于希腊语的 舵手、飞行员。在国内又称k8s(因为k和s之间有8个字母,所以得名。“国内程序员的幽默”)。用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。

2022-12-06 18:53:40 952

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

playbook是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。

2022-12-03 17:20:12 2824

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

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

2022-12-01 20:22:16 1169

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

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

2022-11-30 17:07:50 641

原创 【云原生】Docker容器服务更新与发现之consul

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

2022-11-28 19:27:46 1085 1

原创 【云原生】Docker的私有仓库部署——Harbor

Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。

2022-11-27 17:30:19 2254

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

1.Compose的相关知识 1. Compose的相关概念 2. 为何需要docker-composedocker镜像管理的问题 Docker Compose的解决方案3. Compose的特征 2. Docker-compose的安装 3. Compose配置常用字段和YAML 文件编写3.1 YAML 文件格式及编写注意事项 (1)YAML 序列 (2)YAML 映射 (3)序列的映射 (4)映射的映射 (5)序列的序列 (6)映射的序列 3.2 Docker Compose配置常用字段3.3

2022-11-26 18:22:24 1472

原创 【云原生】Docker镜像的创建,Dockerfile

创建镜像有三种方法,分别为【基于已有镜像创建】、【基于本地模板创建】以及【基于Dockerfile创建】。

2022-11-24 21:11:25 1104

原创 【云原生】Docker的数据卷、数据卷容器,容器互联

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

2022-11-23 21:05:07 674

原创 【云原生】Docker网络原理及Cgroup硬件资源占用控制

指定容器IP的方式:注意:创建指定IP的容器也需要基于docker网卡的IP网段Docker容器网络生产经验,docker的网络建议和宿主机的IP"对照”:比如宿主机地址10.2.5.6,容器的地址就可以修改为172.5.6.x,这样方便在故障发生时,更容易定位故障节点位置。如果想要删除自定义的网络,可以使用docker network rm 网络模式名称进行删除,例如。删除网络模式前,需要先确保使用该网络模式创建的容器已退出(即已停止)。如果容器仍在运行,则该网络无法删除。

2022-11-23 12:55:16 1123

原创 【云原生】Docker的初步认识,安装与基本操作

docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux服务器,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类iphone的app),并且容器开销极其低。

2022-11-19 19:10:56 1025

原创 zabbix自定义模板,邮件报警,代理服务器,自动发现与自动添加及snmp

/在客户端创建自定义 key1.明确需要执行的 linux 命令2.创建 zabbix 的监控项配置文件,用于自定义 key#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中#自定义监控项的格式如下3.在服务端验证新建的监控项点击左边菜单栏【配置】中的【模板】,点击【创建模板】【模板名称】设置成 Template Login User【可见的名称】设置成 Template Login User【群组】选择 Templates【描述】可自定义。

2022-11-17 19:36:24 3139

原创 分布式应用之监控平台zabbix的认识与搭建

zabbix是一个开源的监控系统,提供了分布式监控以及集中的web管理页面zabbix具备常见商业监控软件所具备的功能,主机性能监控,网络设备性能监控,数据库性能监控,ftp、http等通用协议的监控,当被监控的指标异常可以发送基于 E-mail的报警zbbix提供报表及实时的图形化数据处理,实现对监控主机7x24小时集中监控。

2022-11-16 10:09:30 777

原创 分布式运用之Filebeat+Kafka+ELK 的服务部署

分布式运用之Filebeat+Kafka+ELK 的服务部署。

2022-11-15 20:49:54 401

原创 分布式应用之zookeeper集群+消息队列Kafka

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

2022-11-15 15:49:13 1096

原创 分布式运用之企业级日志ELFK+logstash的过滤模块

分布式运用之企业级日志ELFK+logstash的过滤模块。

2022-11-15 01:15:00 539

原创 分布式运用之ELK企业级日志分析系统

1.ELK的相关知识 1.1 ELK的概念与组件ElasticSearch:Kiabana:Logstash:1.2 可以添加的其它组件 Filebeat:缓存/消息队列(redis、kafka、RabbitMQ等):Fluentd:1.3 ELK延申组件搭配1.4 ELK对于大型集群的优势 1.5 日志系统的各种类型信息 1.6 ELK 的工作原理 2.ELK集群部署实验组件具体实验步骤 步骤一:ELK Elasticsearch 集群部署步骤二:ELK Logstash 部署(在 Apache 节点

2022-11-12 21:00:00 766

原创 分布式应用之GFS分布式文件系统

文件系统:用于存储和管理文件的相关系统。存储系统类型存储技术块存储硬盘文件存储对象存储OSS、S3(公有云)分布式存储分布式存储优点:增加存储容量加快读写效率保证文件高可用GlusterFS 是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba 存储网关(可选,根据需要选择使用)组成。没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。MFS传统的分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。

2022-11-10 20:28:07 337

空空如也

空空如也

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

TA关注的人

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