- 博客(81)
- 收藏
- 关注
原创 K8s问题案例分析
一个pod节点部署一个应用容器和边车容器,用共享存储卷emptydir共享两个容器之中的日志目录,边车容器部署这日志收集工具比如:filebeat/fluentd(菲尔安提的)收集共享存储的日志,采集完发送个ESpod集群的service的clusterip,再通过service转发给ES,kibana通过ES的service的cluster访问到es相关的数据进行可视化管理操作。没有合适的node节点部署pod,镜像拉取失败,存储券挂载失败,健康检查失败(探针),容器启动失败,启动命令有问题。
2024-08-08 22:34:45 636
原创 pod的存储卷
hostPath卷将 node 节点的文件系统中的文件或目录挂载到集群中。hostPath可以实现持久存储,但是在node节点故障时,也会导致数据的丢失。1.配置共享节点 节点上安装nfs,并配置nfs服务2.所有node节点开启rpcbind和nfs3.master节点操作 配置yaml文件形成容器。
2024-08-08 21:39:49 312
原创 pod的启动阶段 状态 驱逐流程 故障排除步骤
Pending:Pod已经创建,但是Pod还处于包括未完成调度到node节点、还处于在拉取镜像的过程中、存储卷挂载失败的情况Running:Pod所有容器都已被创建,且至少有一个容器正在运行Succeeded:Pod所有容器都已经成功退出,且不再重启。Failed:Pod所有容器都已经退出,且至少有一个容器是异常退出的。(Error)
2024-08-08 21:10:29 768
原创 pod详解 list-watch机制 预选优选策略 如何指定节点调度pod
PodFitsResources(根据Pod的requests资源量)、PodFitsHost(根据Pod的nodeName)、PodFitsHostPorts(根据Pod使用的端口)、PodSelectorMatches(根据Pod的节点标签选择器)、NoDiskConflict(根据Pod使用存储卷)优选策略(Priorities):根据优先级选项为满足预选策略条件的node节点进行优先级排序,最终选择优先级最高的node节点来调度Pod。2)使用 nodeSelector 指定node节点的标签。
2024-08-07 23:12:12 654
原创 Pod详解
如果Pod定义了多个init容器,它们是串行启动的,即要在上一个init容器成功的完成启动和退出后才会启动下一个init容器。作为Linux命名空间共享的基础,为Pod里的其它容器提供网络、存储资源的共享 (为pod里面的其他容器提供网络和存储资源共享 )应用容器是在所有init容器都成功的完成启动和退出后才会启动;至少包含一个pause容器(基础容器/父容器/根容器)和一个或多个应用容器(业务容器/用户容器)pause容器(基础容器/父容器/根容器):给Pod容器组做环境初始化,具体功能见上。
2024-08-05 23:22:55 544
原创 K8s集群部署
上传 etcd-v3.4.26-linux-amd64.tar.gz 到 /opt/k8s 目录中,启动etcd服务。把etcd相关证书文件、命令文件和服务管理文件全部拷贝到另外两个etcd集群节点。查看etcd集群健康状态(要在opt/etcd/ssl目录下)创建用于生成CA证书、etcd 服务器证书以及私钥的目录。再另外两个节点上修改 opt/etcd/cfg/etcd。创建用于存放 etcd 配置文件,命令文件,证书的目录。修改etcd-cert.sh的内容。部署 etcd 集群。
2024-08-03 21:07:10 275
原创 k8s网络
4)UDP报文通过8285端口送达到目标node节点的flanneld服务进程解封装获取原始数据包,数据报文再根据本地路由规则通过flannel0接口发送到cni0网桥,再由cni0发送到目标Pod容器。3)flanneld服务会根据在etcd中维护的路由表查到目标Pod所在的nodeIP,并在UDP报文外封装nodeIP头部、MAC头部等,再通过物理网卡发送到目标node节点。UDP 出现最早的模式,但是性能最差,基于flanneld应用程序实现数据包的封装/解封装(ip in udp)
2024-07-30 22:44:13 895
原创 初始K8s
scheduler也通过list-watch监听到api-server的指令,调度新创建的pod,根据调度算法(预选优选策略)选出最合适的node节点部署pod,node节点上的kubelet也通过list-watch监听api-server的指令,会在指定node的节点上创建pod,并管理容器的生命周期;K8S是一个容器集群管理系统,在Docker等容器技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。
2024-07-28 23:27:17 827
原创 自动化部署工具-----Ansible
Ansible其中一个比较鲜明的特性是Agentless,即无Agent的存在,它就像普通命令一样,并非C/S软件,也只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块, 比如copy模块用于拷贝文件到远程主机上,service模块用于管理服务的启动、停止、重启等。//在远程主机定义任务计划。
2024-07-23 21:22:25 661
原创 docker-compose搭建lnmp环境
YAML 是一种标记语言,它可以很直观的展示数据序列化格式,可读性高。YAML 数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分隔,数组用中括号 [] 括起来, hash 用花括号 {} 括起来。Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose。3.vim docker-compose.yml文件。docker-compose 搭建lntp。Docker Compose 环境安装。
2024-07-19 09:42:59 292
原创 dockerfile 数据管理和网络通信
但是当编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。声明了容器中的目录作为匿名卷(/var/lib/docker/volumes/{容器ID}),但是并没有将匿名卷绑定到宿主机指定目录的功能,任何向挂载点中写入的信息都不会记录进容器存储层。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。
2024-07-16 16:52:33 732
原创 Docker基本管理1
Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。
2024-07-12 09:43:00 414
原创 ceph分布式存储
对象存储:一对多的关系,能被多个主机或应用服务同时通过API接口访问使用,数据以文件的形式存储,一个文件即是一个对象(object),文件的元数据和实际数据是存在一起的。●功能强大:Ceph是个大一统的存储系统,集块存储接口(RBD)、文件存储接口(CephFS)、对象存储接口(RadosGW)于一身,因而适用于不同的应用场景。文件存储:一对多的关系,能被多个主机同时挂载使用,数据以文件的形式存储的,其中文件的元数据和实际数据是分开存储的,并且有目录的层级关系。具有高扩展性、高性能、高可靠性的优点。
2024-07-10 15:31:54 922
原创 Zookeeper集群 + Kafka集群
Zookeeper 定义ZooKeeper是一个开源的分布式协调服务,用于构建可靠的分布式系统。它通过提供高度可靠的数据存储和同步机制,来协调不同节点之间的通信和协作。Zookeeper 工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。
2024-07-09 14:08:22 620
原创 ELfK logstash filter模块常用的插件 和ELFK部署
logstash filter模块常用的插件:filter:表示数据处理层,包括对数据进行格式化处理、数据类型转换、数据过滤等,支持正则表达式使用文本片段切分的方式来切分日志事件,分为内置正则,自定义正则。 pattern(通过正则表达式匹配行) negate(false|true,是否取反。false表示不取反,将正则表达式匹配的行按照what的设置进行合并 true表示取反,不将正则表达式匹配的行按照what的设置进行合并) what(previous|next,prev
2024-07-08 21:54:07 877 1
原创 ELK 企业级日志分析系统
ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。ELKLogstashKibanaElasticsearch是Elastic Stack核心的分布式搜索和分析引擎,其为所有类型的数据提供近乎实时的搜索和分析。Logstash是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
2024-07-05 17:11:12 785
原创 redis主从复制哨兵模式集群管理
每个哨兵会定时探测主节点,从节点及其他烧饼节点的状态,当哨兵探测倒主节点异常,会认定为主观下线,当超过指定数量的哨兵节点认为主节点主观下线,就会判定为客观下线,哨兵节点通过raft算法选举出leader,由leader负责故障转移和通知,再将一个从节点提升为新的主节点,让其他从节点指向新的主节点做主从复制,vip也会飘移到新的主节点,原来的主节点恢复后会自动变成从节点向新的主节点做主从复制。存储能力受到单机的限制。5.同步:从节点会继续监听主节点的命令,并及时执行主节点的写操作,以保持与主节点的数据同步。
2024-07-03 20:25:48 852
原创 rsync 远程同步
是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。
2024-07-02 09:17:26 756
原创 nginx正向代理缓存服务器和CDN应用
代理服务器是一个位于客户端和原始(资源)服务器之间的服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。缓存代理对于Web至关重要,尤其对于大型高负载Web站点。缓存可作为性能优化的一个重要手段,可以极大减轻后端服务器的负载。通常对于静态资源,即较少经常更新的资源,如图片,css或js等进行缓存,从而在每次刷新浏览器的时候,不用重新请求,而是从缓存里面读取,这样就可以减轻服务器的压力。
2024-07-01 14:53:27 522
原创 Redis高可用之持久化
在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和Cluster集群,下面分别说明它们的作用,以及解决了什么样的问题。
2024-06-28 16:49:11 925
原创 MySQL 主从复制集群高可用
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
2024-06-28 09:37:13 1323 1
原创 redis基础
关系型数据库:实例–>数据库–>表(table)–>记录行(row)、数据字段(column)非关系型数据库:实例–>数据库–>集合(collection)–>键值对(key-value)非关系型数据库不需要手动建数据库和集合(表)。1、Redis简介端口号:TCP/6379Redis 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。
2024-06-27 16:04:22 1014
原创 MySQL主从复制与读写分离
在实际的生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,一般来说 都是通过主从复制(Master-Slave)来同步数据,再通过读写分离来提升数据库并发负载能力的方案来进行部署与实施。
2024-06-25 16:26:12 695
原创 mysql高级语句2存储过程
视图跟表格的不同是,表格中有实际储存数据记录,而视图是建立在表格之上的一个架构,它本身并不实际储存数据记录。临时表在用户退出或同数据库的连接断开后就自动消失了,而视图不会消失。视图不含有数据,只存储它的定义,它的用途一般可以简化复杂的查询。比如你要对几个表进行连接查询,而且还要进行统计排序等操作,写SQL语句会很麻烦的,用视图将几个表联结起来,然后对这个视图进行查询操作,就和对一个表查询一样,很方便。案例。
2024-06-23 15:31:06 503
原创 MySQL 高级(进阶) SQL 语句
--- SELECT ----显示表格中一个或数个字段的所有数据记录---- DISTINCT ----不显示重复的数据记录---- WHERE ----有条件查询---- AND (且)-----OR (或)---- BETWEEN ----显示两个值范围内的数据记录。
2024-06-22 12:26:34 2983 2
原创 MySQL 日志管理、备份与恢复
物理备份:直接对数据库的物理文件(数据文件、日志文件等)进行备份逻辑备份:对数据库对象(库、表)的数据以SQL语句的形式导出进行备份。
2024-06-20 09:07:31 626
原创 mysql事务与存储引擎
定义:事务就是一组数据库操作序列(包含一个或多个SQL操作命令),事务会把所有操作看作是一个不可分割的整体向数据库系统提交或撤销操作,所有操作要么都执行,要么都不执行。事务的 ACID 特性:原子性、一致性、隔离性、持久性A 原子性:事务管理的基础,把事务中的所有操作看成是一个不可分割单元,要么都执行要么都不执行。C一致性:事务管理的目的,保证事务开始前和结束数据保持一致。
2024-06-19 16:22:56 769
原创 MySQL 索引示例
索引是一个排序的列表,包含索引字段的值和其对应的行记录数据所在的物理地址作用:加快表的查询速度(主要作用),还可以对字段排序副作用:会额外占用磁盘空间;更新包含索引的表会花费更多的时间。
2024-06-18 21:24:03 393
原创 Mysql 基础命令增删改查
关系型数据库(SQL) 存储结构:二维表格 存储的数据:结构化数据 使用场景:存储业务数据、账户信息等对象: 库 -> 表 -> 二维表格形式的结构化数据 : 行(记录):用来描述一个对象的信息列(字段):用来描述对象的一个属性。
2024-06-17 23:08:48 1018
原创 HAproxy
HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。HAProxy非常适用于并发大(并发达1w以上)web站点,这些站点通常又需要会话保持或七层处理。HAProxy的运行模式使得它可以很简单安全的整合至当前的架构中,同时可以保护web服务器不被暴露到网络上。
2024-06-15 09:29:02 984 1
原创 LVS+Keepalived NGINX+Keepalived 高可用群集实战部署
Keepalived及其工作原理Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。
2024-06-12 20:12:58 1626
原创 LVS负载均衡群集与NAT模式LVS负载均衡部署
调度器会作为所有节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,所以调度器会承载双向流量的负载压力,可能会成为整个群集的性能瓶颈。因此IP隧道模式的成本较高、网络安全性较低密,且数据在IP隧道传输的过程中需要额外的封装和解封装过程,性能也会受到一定的影响。调度器也是仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。(与IP隧道模式的区别)调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。
2024-06-11 19:56:17 620
原创 LVS负载均衡群集群DR模式LVS负载均衡部署
配置负载均衡的服务器列表,weight参数表示权重,权重越高,被分配到的概率越大在server配置块中使用location匹配用户请求的动态页面的URL路径,使用proxy_pass基于协议代理转发。#配置Nginx处理动态页面请求,将 .jsp文件请求转发到Tomcat 服务器处理#设置后端的Web服务器可以获取远程客户端的真实IP#把$remote_addr赋值给X-Real-IP,来获取源IP。
2024-06-11 17:50:50 663
原创 NGINX反向代理 负载均衡 动静分离
Nginx实现负载均衡是通过反向代理实现3. Nginx 配置反向代理的✔upstream服务池名 {}♢ 配置后端服务器池,比提供相应数据✔服务池名♢ 配置将访问请求转发给后端服务器池的服务器处理。
2024-06-09 16:38:49 880
原创 tomcat部署 虚拟主机配置和多实例部署
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。
2024-06-05 11:36:15 1269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人