- 博客(94)
- 收藏
- 关注
原创 Prometheus 监控系统
Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件 Prometheus server 会定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉取数据,新拉取到的数据会持久化到存储设备当中。
2024-03-13 17:51:48
845
原创 K8s Pod控制器
FIELDS:podManagementPolicy <string> #Pod管理策略replicas <integer> #副本数量revisionHistoryLimit <integer> #历史版本限制selector <Object> -required- #选择器,必选项serviceName <string> -required- #服务名称,必选项template <Object> -required- #模板,必选项。
2024-03-07 15:30:08
1230
原创 K8s集群调度,亲和性,污点,容忍,排障
预选策略(predicate):通过调度算法过滤掉不满足条件的node节点;如果没有满足条件的node节点,Pod会处于pending状态,直到有符合条件的node节点出现,PodFitsResources、PodFitsHost、PodFitsHostPorts、PodSelectorMatches、NoDiskConflict。
2024-03-05 12:17:15
1176
原创 K8s Pod 进阶
resources.requests|limits(resources与image字段同一层级)resources.requests.cpu|memory|hugepages-<size>|ephemeral-storage|nvidia.com/gpu(需要第三方插件支持) 设置Pod容器创建时需要预留的资源量。
2024-03-01 10:10:12
1507
原创 K8s Pod资源管理组件
每个Pod都有一个特殊的被称为“基础容器”的Pause容器。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户应用容器。Pod是K8S中创建和管理的最小单位。
2024-02-28 16:46:16
1027
原创 kubectl 声明式资源管理方式
适合于对资源的修改操作声明式资源管理方法依赖于资源配置清单文件对资源进行管理资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到k8s集群里语法格式:kubectl create/apply/delete -f xxxx.yam可理解成使用yaml配置文件里定义的配置来实现资源对象的管理操作。
2024-02-27 19:27:13
2443
原创 Kubernetes部署CNI网络组件
节点网络 nodeIP 物理网卡的IP实现节点间的通信Pod网络 podIP Pod与Pod之间可通过Pod的IP相互通信Service网络 clusterIP 在K8S集群内可通过service资源的clusterIP实现对Pod集群的网络代理转发。
2024-02-22 19:44:59
1104
原创 Kubernetes二进制搭建
etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd是go语言编写的。简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单安全:支持SSL证书验证快速:单实例支持每秒2k+读操作可靠:采用raft算法,实现分布式系统数据的可用性和一致性。
2024-02-22 09:23:08
872
原创 Kubernetes概述
负责K8S集群的管理和资源调度等运维工作,组件有 apiserver、controller-manager、scheduler、etcdapiserver:是所有服务请求的统一访问入口controller-manager:控制器管理器,负责管理K8S各种资源对象的控制器;并通过apiserver监控整个K8S集群的资源状态,并确保资源始终处于预期的工作状态scheduler:资源调度器,负责Pod资源的调度,通过调度算法(预选/优选策略)为要部署的Pod选择最合适的node节点。
2024-02-20 17:23:13
891
原创 Ansible基础及常用模块
ansible 自动化运维工具,也叫机器管理工具。可以实现批量管理成百上千的多台主机,是应用级别的跨主机编排工具。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。
2024-02-01 18:31:14
1349
原创 Docker安全以及https协议
尽量不用 --privileged 运行容器(授权容器root用户拥有宿主机的root权限)尽量不用 --network host 运行容器(使用host网络模式共享宿主机的网络命名空间)尽量不在容器中运行 ssh 服务尽量不把宿主机系统的关键敏感目录挂载到容器中。
2024-01-31 18:23:53
1544
原创 Docker基于Dockerfile多级构建LNMP,实现缩小镜像体积
【代码】Docker基于Dockerfile多级构建LNMP,实现缩小镜像体积。
2024-01-30 17:13:07
875
原创 Docker consul的容器服务更新与发现
服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦后端服务的网络位置变化,都需要改变每个调用者的配置consul是google开源的一个使用go语言开发的服务管理软件。
2024-01-30 14:50:01
1129
原创 Docker Compose
Docker Compose是一个用于定义和运行多容器 Docker 应用程序的工具。它允许用户使用 YAML 文件来定义应用程序的配置,包括容器的数量、容器之间的依赖关系、环境变量、端口映射以及其他设置。然后,用户可以使用 docker-compose 命令来启动和管理这些容器。使用 Docker Compose 可以方便地管理多个容器,例如,可以同时启动一个 Web 服务器容器和一个数据库容器,并在它们之间建立网络连接。
2024-01-29 19:59:37
3174
1
原创 Docker私有仓库搭建
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
2024-01-29 18:05:37
1434
原创 Docker网络及资源控制
可以用来自定义创建一个网段、网桥、网络模式,从而可以创建容器时自定义容器IP//创建自定义网络#可以先自定义网络,再使用指定IP运行dockerdocker network create --subnet 自定义网段 --opt "com.docker.network.bridge.name"="自定义网桥名" 自定义网络模式名。
2024-01-24 20:35:12
893
原创 Docker基本管理
容器可以屏蔽底层操作系统的差异性,让业务应用不管在哪里都是使用容器的环境运行,从而保证开发测试环境与生产环境的一致性容器部署起来非常便捷和迅速,缩短开发测试部署的周期时间容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用其他任何可执行文件的内存,非常轻量。虚拟机运行的是一个完整的操作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。
2024-01-23 19:58:17
1177
原创 Zookeeper集群+Kafka集群
分布式系统管理框架,主要用来解决分布式应用集群中应用系统的数据一致性问题,相当于各种分布式应用的 注册中心+文件系统+通知机制本质:用于注册各种分布式应用,存储和管理这些分布式应用的元数据,如果应用或服务本身状态发送变化就会通知客户端由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。
2024-01-23 09:21:06
1307
原创 ELK日志分析
ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。Logstash 配置文件基本由三部分组成:input、output 以及 filter(可选,根据需要选择使用)。
2024-01-18 19:17:06
1040
原创 Ceph分布式文件系统
Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。存储机制:把数据分散存储到多个节点上特点:具有高扩展性、高性能、高可靠性,还集块存储、文件存储、对象存储功能于一身。
2024-01-16 18:41:19
1359
原创 Zabbix监控系统及部署
一个完整的项目zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
2024-01-13 17:56:15
1172
原创 rsync远程同步
rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
2024-01-12 09:42:58
952
原创 Redis主从复制、哨兵及集群
主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。
2024-01-09 18:56:53
922
原创 Redis高可用
● 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。● 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。● 在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和 Cluster集群,作用如下持久化。
2024-01-08 18:02:53
878
原创 Redis原理及简单命令
Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。数据存储结构 键值对(Key/Value KV)默认端口号 TCP/6379Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。
2024-01-05 23:16:13
1341
原创 MySQL MHA高可用
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
2024-01-04 22:48:28
1244
原创 MySQL主从复制与读写分离
读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。use ikun;##客户端会分别向slave1和slave2读取数据,显示的只有在两个从服务器上添加的数据,没有在主服务器上添加的数据。
2024-01-02 20:05:42
979
原创 MySQL高级SQL语句补充
空值null 的长度为 NULL ,占用空间;可以通过 字段 is null 或 字段 is not null 判断是否为null行;存储过程内容的修改方法是通过删除原有存储过程,之后再以相同的名称创建新的存储过程。如果要修改存储过程的名称,可以先删除原存储过程,再以不同的命名创建新的存储过程。既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)表示调用者向过程传入值(传入值可以是字面量或变量)INOUT 输入输出参数。
2023-12-31 15:33:57
1034
原创 MySQL的高级SQL语句
如果select语句查询的字段被 group by 或 函数 等处理过的字段,则不可以直接修改视图表的数据。left join 左连接,返回左表所有的行记录和右表字段相等的行记录,不相等的行返回null。right join 右连接,返回右表所有的行记录和左表字段相等的行记录,不相等的行返回null。显示第一个SQL语句的结果,且与第二个SQL语句没有交集的结果,且没有重复。返回集合中最大的值,也可以返回多个字段的最大的值。返回集合中最小的值,也可以返回多个字段的最小的值。
2023-12-28 00:27:22
2497
1
原创 MySQL日志管理、备份与恢复
如果恢复某条SQL语句以及之后的所有数据,就从这个语句的位置节点或者时间点start。如果恢复某条SQL语句之前的所有数据,就stop在这个语句的位置节点或者时间点。
2023-12-26 19:39:44
1358
原创 mySQL事务与存储引擎
存储引擎是mysql数据库中的组件,负责执行实际的数据I/O操作(数据的存储和操作),工作在文件系统之上,数据库的数据会先传到储存引擎,再按照存储引擎的存储格式保存到文件系统。
2023-12-25 22:03:01
936
原创 MySQL索引
索引虽可以提升数据库查询的速度,但并不是任何情况下都适合创建索引。因为索引本身会消耗系统资源,在有索引的情况下,数据库会先进行索引查询,然后定位到具体的数据行,如果索引使用不当,反而会增加数据库的负担。
2023-12-24 15:27:21
1182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人