自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 搭建代理和 kubernetes pod 使用代理

其中 http_proxy 需要替换为自己部署代理的机器ip 和端口,no_proxy 中 172.16.0.0/16 为pod 的网段,10.96.0.0/16 为 service 的网段。需要在能访问目标网络的机器上部署代理,使用该机器上的代理要能够访问的到该机器。这里用 docker 部署,比较简单。可以直接在Pod或者Deployment的定义中设置环境变量。其中可选的参数可以根据自己需求填写。2)pod 使用该configmap。1)创建configmap。

2024-07-16 10:46:25 134

原创 harbor 仓库配置外网代理

需要先在能访问外网的机器搭建一个代理,后面 harbor 用这个代理去外网拉取镜像,这里用docker 直接部署,library:busybox 在dockerhub上所在的项目,不同镜像所在的项目并不同,需要自己确认。5、访问ID、访问密码:需要被代理仓库的账号密码,也就是dockerhub 的账户密码,可以不填。这里的项目名称我们后面拉取镜像的时候会用到,选择镜像代理以及刚刚创建的代理仓库。docker 从私有仓库拉取镜像,需要先信任私有仓库。dockerhub:刚刚创建的代理项目的名称。

2024-06-18 14:43:08 702

原创 docker、kubernetes 添加 repo 源

添加完执行命令 ‘yum makecache’,就可以愉快的下载 docker 和 k8s 了。添加 repo 源文件,

2024-06-18 10:36:40 217

原创 grafana v10.1 推送钉钉告警

Home --> Alerting --> Contact points,点击 ’Add contact point‘ 添加联络点,等同于 alertmanager 里的 receive。选择钉钉,给定 URL。Home --> Alerting --> Contact points,点击 ’Add template‘ 添加模板。Home --> Alerting --> Alert rules,点击 ’New alert rule‘ 添加告警规则。输入模板名字以及模板内容,点击保存模板就创建好了。

2024-05-31 14:44:11 364

原创 k8s 中 pod 驱逐和调度顺序

在 Kubernetes 中,当资源不足需要驱逐 Pod 时,系统会根据 Pod 的优先级(由 PriorityClass 的 value 决定)和 Pod 的 Quality of Service (QoS) 类别等进行决策。

2024-05-15 13:50:32 401 1

原创 k8s ingress(nginx) 反向代理集群外的服务

Kubernetes 将根据服务的选择器(selector label)找到符合条件的 Pod,并将它们的 IP 和端口信息添加到 Endpoints 中。可以把 Service 理解为一个四层负载均衡器,而后端的 pod ip和端口信息是填写在 Endpoints 中的,Service 的转发也是根据 Endpoints。它允许你将 HTTP 和 HTTPS 流量路由到集群内的不同服务,同时提供了对负载均衡、SSL 终止、虚拟主机和路由等功能的支持。然后就可以在浏览器中用域名和默认端口访问代理的服务了。

2024-04-22 09:23:39 390

原创 kubernetes基于containerd运行时把镜像打为 tar 包

ctr 是 containerd 的命令行客户端工具,使用 ctr,你可以直接与 containerd 进行交互,而无需通过 Docker 引擎或其他较高层的工具。scp 发送到需要导入镜像的机器,再把 tar 包导入为镜像。把节点上的镜像导出为 tar 包。查看 k8s 节点上的镜像。

2024-04-19 13:14:34 327

原创 搭建高可用 k8s master 基于 Haproxy 和 Keepalived

此文档只描述搭建高可用 Haproxy 和 Keepalived 用虚拟 ip 代理 api-server 监听的 6443 端口,建立在高可用 master 节点已经部署好相关 k8s 组件。三台 master 节点和虚拟 ip,下面我将用 01、02、03 来代替各三台 master 节点:10.1.11.236 keepalived 的虚拟 ip(请确保为局域网内的空闲 ip,且与 k8s 节点同一网段)三台节点安装 Haproxy 和 Keepalived,

2024-04-15 15:21:01 872 1

原创 编辑kubernetes的 kube-reserved 和 system-reserved

如果Kubernetes集群部署了大量的应用,负载跑满了每个node节点的CPU和Memory后,可能会导致Kubernetes集群自身的运行出问题。所以编辑 kubelet 的配置,预留集群和系统的资源。这里用 kubeadm 部署的1.28.2 k8s 集群。编辑 kubelet.service 的配置文件,添加下面配置。可以看到 系统资源总容量-预留资源=可分配资源,资源预留成功。编辑 kubelet 的配置文件,追加以下内容。修改好配置,重启 kubelet。查看工作节点的详细信息,

2024-02-27 16:19:49 292

原创 kube-prometheus 集成部署 blackbox-exporter

kubectl apply -f blackbox-external.yaml,包含 deploy、svc、ingress。cat prometheus-additional.yaml,另外添加的 target 都写在这个文件,不熟的同学可以。更新另外添加的 scrape_configs。等一会查看 prometheus web。配置文件用 configmap 挂载。查看 blackbox web。

2024-02-07 10:25:05 338 1

原创 alertmanager 配置钉钉告警以及模板(prometheus-webhook-dingtalk)基于 kube-prometheus

配置钉钉告警和模板已完成,需要主要的是更新完 configmap,需要重新创建钉钉插件的 pod,可能是这个钉钉插件这个 image 的 bug。有个需要注意的地方是,当 receives 为钉钉时 (webhook_configs),它的告警模板不是在。然后创建 configmap,kubectl apply -f dingtalk-configmap.yaml。不同版本的插件指定配置文件的参数也不一样,这里部署的是 v2.1.0。的配置文件中指定的,而是在钉钉插件。创建新的secret对象。

2024-02-01 17:19:31 1960 1

原创 kube-prometheus 实现数据持久化

使用 kube-安装的prometheus,默认是没有将数据持久化的。查看 CRD prometheus 创建出来的 sts 的详细信息,template.Containers.Volumes.可以看到使用的 volume 类型为 EmptyDir ,它的生命周期时跟随着 Pod,当 Pod 被重新创建或者挂掉之后 EmptyDir 会丢失。

2024-01-25 16:54:47 625

原创 kube-prometheus 配置告警规则和钉钉告警

再查看它的详细信息,kubectl -n monitoring describe prometheus k8s,需要关注的点是 Rule Selector,它也是通过 label 去关联 prometheusRule 告警规则的。部署的版本是 v0.13.0。先使用 kubectl -n monitoring get promtheus,查看 prometheus 这个自定义资源类型的名字。有多个告警规则,你可以上面文件添加其他的告警组或者编写其他的 PrometheusRule 文件。

2024-01-17 18:14:26 721

原创 kube-prometheus 添加集群内外监控指标

然后使用命令 kubectl -n monitoring edit Prometheus k8s ,其中命令中的k8s是Prometheus这个资源的名字,不同环境中的名字可能不同。prometheus的配置默认是不能修改的,目前可以通过新增prometheus-additional.yaml来添加新增配置。正常情况下,此时就可以在prometheus监控页面看到kafka-exporter这个监控项了。先使用 kubectl –n monitoring get prometheus 查看资源名字。

2024-01-12 17:09:17 592 1

原创 使用 Bind9 搭建 Linux DNS 服务器

编辑 BIND 的主配置文件named.conf,通常位于。

2023-11-20 11:16:28 219 1

原创 alertmanager设置企业微信和邮箱告警以及模板

alertmanager 配置文件 alertmanager.yml。告警模板文件 alert.tmpl。

2023-04-12 09:30:19 1906 2

原创 ansible 批量部署 node_exporter

远程普通用户若要使用 sudo 权限,需要在 /etc/ansible/ansible.cfg,若远程是root用户则可跳过。目的机器ip:192.168.173.141 ,远程用户:ubuntu,密码:ubuntu。把 node-exporter 编写成服务,交由 systemctl 管理。ansible 机器ip:192.168.8.126。主机清单文件 /etc/ansible/hosts。

2023-03-24 08:54:48 437

原创 MySQL中的索引index(超详细)

什么是索引? 索引就是MySQL中可以高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足 特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构 上实现高级查找算法,这种数据结构就是索引。 添加索引原则上来说可以大大的提高数据获取的效率。索引的优势: 提高数据检索的效率,降低数据库 的IO成本。 通过索引列对数据进行排序,降低 数据排序的成本,降低CPU的消 耗。索引的劣势: 索引也是占

2022-08-04 15:40:37 10622

原创 MySQL主从复制的概念和原理(秒懂)

主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。MySQL复制的优点主要包含以下三个方面。主库出现问题,可以快速切换到从库提供服务。。实现读写分离,降低主库的访问压力。。可以在从库中执行备份,以避免备份期间影响主库服务。原理MySQL主从复制的核心就是二进制日志。......

2022-07-29 19:55:51 148

原创 MySQL数据库中的架构之磁盘架构

如果表是在系统表空间而不是每个表文件或通用表空间中创建的,它也可能包含表和索引数据。开关参数innodb_file_per_table。刷新到磁盘前,先将数据页写入双写缓冲区文件中,便于系统异常时恢复数据。参数innodb_data_file_path。使用会话临时表空间和全局临时表空间。表的数据和索引,并存储在文件系统上的单个数据文件中。前者是在内存中,后者在磁盘中。语法创建通用表空间,在创建表时,可以指定该表空间。系统表空间,默认的文件名叫。开关,则每个表的文件表空间包含单个。...

2022-07-28 15:54:12 243

原创 MySQL数据库中的架构之内存架构

同样,删除和更新可能会影响索引树中不相邻的二级索引页,如果每一次都操作磁盘,会造成大量的磁盘IO。,是主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),然后再以一定频率刷新到磁盘,从而减少磁盘IO。InnoDB存储引擎基于磁盘文件存储,访问物理硬盘和在内存中进行访问,速度相差很大,为了尽可能弥补这两者之间的I/O。效率的差值,就需要把经常使用的数据加载到缓冲池中,避免每次访问都进行磁盘I/O。.........

2022-07-28 15:27:43 1214

原创 InnoDB引擎之逻辑存储结构

表空间是InnoDB存储引擎逻辑结构的最高层,如果用户启用了参数innodb_file_per_table(在8.0版本中默认开启),则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。Roll_pointer每次对某条引记录进行改动时,都会把旧的版本写入到undo日志中,然。后这个隐藏列就相当于一个指针,可以通过它来找到该记录修改前的信息。存储引擎磁盘管理的最小单元,每个页的大小默认为。区,表空间的单元结构,每个区的大小为。...

2022-07-28 15:17:53 275

原创 MySQL中的触发器

触发器是与表有关的数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发。...

2022-07-27 20:29:08 61

原创 MySQL中的sql优化之limit

优化思路: 一般分页查询时,通过创建 覆盖索引 能够比较好地提高性能,可以通过覆盖索引加子查询形式进行优化。

2022-07-25 11:27:07 588

原创 MySQL的SQL优化之插入数据

非大批量插入数据:批量插入数据、手动控制事务、主键顺序插入。大批量插入数据:可以使 用MySQL数据库提供的load指令进行插入。

2022-07-25 11:07:49 239

原创 MySQL中的事务

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。事务四大特性:原子性、一致性、隔离性、持久性。并发事务问题:脏读、不可重复读、幻读。事务隔离级别:读已提交、读未提交、可重复读、可序化。...

2022-07-24 17:36:49 109 1

空空如也

空空如也

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

TA关注的人

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