- 博客(81)
- 收藏
- 关注
原创 实验:k8s+keepalived+nginx+iptables
重启nginx和keepalived,发现keepalived的VIP在主上,并且可以访问VIP,流量能转发到k8s集群。3、配置两台keepalived的调度器和nginx七层反向代理,VIP设置192.168.254.110。4、配置防火墙服务器,设置双网卡,内网192.168.254.11,外网12.0.0.1。5、配置客户端的IP地址12.0.0.12,网关设置成防火墙服务器的IP地址。将keepalived集群两个服务器,网关设置成防火墙服务器的IP地址。2、创建两个的pod的service。
2025-02-27 16:18:46
542
原创 prometheus部署和告警设置
普罗米修斯是一个开源的,可以容器化部署(pod),部署在k8s集群中,也可以直接部署在宿主机的二进制的方式部署。在k8s集群当中,一般都是用普罗米修斯来对集群进行监控。普罗米修斯:开源的服务监控系统和时序数据库数据通过时序数据库来进行收集,展示数据模型,存储,以及提供插叙的接口。核心组件:prometheus server 从静态配置的监控目标,以及基于服务发现,自动从目标中拉取数据,保存到数据中,以趋势化的图形来展示数据的变化。
2025-02-26 08:46:58
1210
原创 12、k8s安全机制
k8s作为一个分布式的微服务管理系统,保证集群安全是一个非常重要的任务。核心:api-server我们围绕集群权限的设置,其实就是设置api-server的权限。
2025-02-26 08:46:33
511
原创 11、k8s的hpa和rancher
hpa:自动对pod的数量进行扩缩容。修改pod的数量:1、手动——基于控制器——deployment statefulset(副本数)2、自动扩缩容——基于资源限制的字段,达到阈值之后可以对pod的数量进行自动增加,小于阈值时可以自动的减少(-deployment statefulset)。1.20版本的hpa只能针对一个指标:cpu,1.23之后既可以针对cpu也可以跟踪内存。hpa:基于自带的周期性节点性能监控和pod的性能监控,根据cpu的使用情况,来适配扩缩容的策略。
2025-02-21 17:23:23
449
原创 10、k8s对外服务之ingress
service的作用NodePort:会在每个节点开放一个端口,端口号30000-32767。也是只能用于内网访问,四层转发。实现负载均衡。不能基于域名进行访问。clusterip:service的默认类型,只能在集群内部访问。loadBalancer:基于云平台的实现的,需要有loadBalancer的地址,仅限于云平台。externallPS:service允许分配外部IP,把外部IP路由集中到集群的一个或者多个node节点。
2025-02-20 08:53:36
1314
原创 9、pod的控制器和配置管理
pod的控制器:工作负载,workload,管理pod的中间层。确保pod资源符合预期的状态,pod出现故障时,会自动进行重启(根据重启策略),相当于重建新的pod资源,也可以理解为重启(回到pod的原始状态)。
2025-02-18 14:44:27
718
原创 8、k8s的pv和pvc
静态动态——>自动分配pv:persistent volume,持久化存储卷,描述或者定义存储卷的类型。集群范围内的存储概念,代表的是实际的存储空间(本地磁盘、网络系统文件nfs,云存储)。pv创建成功之后,独立于pod的,不依赖于特定的pod资源。一般都是由运维工程师定义好的。pvc:persistent volume claim,用户对存储资源的请求,也就是创建pod的时候,我们定义好了对于存储卷的要求(大小,存储类型),在集群当中寻找一个合适的存储资源(pv),和这个pv进行绑定,然后使用。
2025-02-14 17:28:31
1090
1
原创 6、pod的调度
调度核心:就是把pod部署到我们想部署到的节点。kubernetes通过 list-watch 的机制,保证每个组件的协作,保持数据的同步,实现组件之间的解耦。
2025-02-13 11:19:17
765
原创 4、k8s的pod详解
pod是k8s集群管理的最小单位,最小的资源组件,也是最小化运行容器的资源对象。容器运行在pod里面,一个pod里面可以有多个容器。一般情况下,一个pod里面只运行一个容器。多个容器的情况下,一个pod内的容器都在一个节点上。一个pod代表的是k8s集群中运行的进程,k8s的大多数组件都是围绕pod来进行支撑和运行。扩展pod的功能。控制器就是用来管理pod,绝大多的pod都是基于控制器创建的。每个pod都有一个独立的IP地址,创建pod的时候是由cni网络插件从网段中指定一个IP地址分配给pod。
2025-02-10 15:58:26
726
原创 3、k8s项目的生命周期和yaml文件
创建——>发布——>更新——>回滚——>删除为什么宿主机不能直接与pod映射为什么宿主机不能直接与pod映射,中间要有集群?service一旦和控制器的标签关联之后,会自动的发现该控制器pod的变化自动的获取pod的数量和ip地址的变化。service既可以关联一个控制器,也可以关联多个控制器,也可以关联pod。pod是不断变化的,service是不变的。所以必须要有一个中间的状态。
2025-02-10 15:58:23
1044
1
原创 1、k8s基本概念
用于自动部署,自动扩展和管理“容器化应用程序”的开源系统。k8s是google基于go语言开发的自动化运维管理容器。k8s的全称:kubernetesk8s的版本:1.20------------用的最多的版本,1.18-1.21(1.24------------>k8s的镜像不再使用docker,containerd)。
2025-02-07 19:20:41
970
原创 1、ansible自动化运维模块
ansible作用1、实现远程连接主机2、批量配置,批量操作,ansible可以对主机进行组划分,也可以把名下所有的主机进行划分,进行批量的操作。3、远程自动化运维(脚本——playbook)ansible是什么ansible是基于python语言开发的,配置管理和部署应用的工具。批量的配置、部署、管理上百台主机。ansible只要在一台主机上就可以对其他主机进行操作。ansible的工作模式没有固定的客户端这一说法,不是c/s。
2025-01-17 08:44:39
966
原创 5、docker-compose和docker-harbor
自动编排工具,可以根据dockerfile自动化的部署docker容器。是yaml文件格式,注意缩进。1、安装docker-compose2、配置compose配置文件docker-compose.yml3、运行docker-compose.yml可以看出直接创建了容器4、进入mysql容器创建库和表,为了让wordpress能访问数据库5、登录wordpress,显示一键化部署成功。
2025-01-15 14:58:33
924
原创 3、docker的数据卷和dockerfile
容器和宿主机之间,或者容器和容器之间的数据共享(目录)。创建容器的时候,通过指定目录,实现容器和宿主机之间,或者容器和容器之间的数据共享。容器的生命周期是有限的,容器一旦销毁,内部的数据也会一并消失,所有我们创建了数据卷的方式,将容器内的数据持久化保存到宿主机。
2025-01-13 20:55:09
1092
原创 1、docker概念和基本使用命令
docker run -itd --name 自定义名称 容器名称:给容器自定义名称容器:基于镜像的配置和环境,创建一个基于Linux系统的,在这个系统当中安装了指定应用的小型虚拟机。
2025-01-10 09:11:26
818
原创 2、监控系统zabbix
监控的模式1、zabbix的主动模式和被动模式主动和被动模式都是对于客户端而言的主动模式:客户端主动将数据发送给server或者代理被动模式(默认):服务端或者porxy(代理)主动去找客户端索要数据被动模式在规模的集群(成百上千台),都是由服务器主动去找,那么服务端的压力会很大。自动发现:服务端可以自动发现客户端,并且把客户端添加到监控组当中去。1、zabbix官网提高的API内部的接口。API和端口之间的区别端口:应用和应用之间的通信API:应用内部的组件进行通信用的是API。
2025-01-07 12:45:13
727
原创 1、监控系统zabbix
为了保证集群的健康,我们需要检测服务器的状态,就有了监控系统,专门来监控服务器的状态。服务器状态出现问题,可以用告警的形式来提示运维人员。服务器上部署的关键的业务组件,nginx、mysql等等,如果出现故障,他也可以提示给用户,可以让我们尽快的处理问题。监控系统只能发现,不能解决问题。zabbix是简介zabbix是基于web页面的(可视化系统),分布式的系统监控和网络监控的企业级的开源监控方案。zabbix的功能1、监控服务器关键硬件的状态2、可以监控服务器的关键指标。
2025-01-06 17:24:54
1024
原创 ceph文件系统
ceph需要使用分布式文件系统的企业一般都是需要存储海量数据,以及保证数据的高可用非常严谨的场景。ceph的存储方式的数据流向:主要包括存储池、pg和osd创建存储池,分配pg数据按照对象分配给pgpg再数据包分配到osd。
2025-01-03 15:56:05
1339
原创 2、zookeeper和kafka
zookeeper:开源的分布式框架协调服务zookeeper的工作机制基于观察者模式设计的分布式结构,复制存储和管理架构当中的元信息,架构当中的应用接受观察者的监控,一旦数据有变化,通知对于的zookeeper,保存变化的信息。zookeeper特点1、最少要有3台服务器,一个领导者(leader),多个跟随者(follower)。2、zookeeper要有半数以上的节点存货,整个架构就可以正常工作,所有都是奇数台部署3、全局数据一致4、数据更新的原子性,要么都成功,要么都失败。
2025-01-03 15:36:38
1316
1
原创 1、ELK的架构和安装
elk:elasticsearch logstash kibana,统一日志收集系统。elasticsearch:分布式的全文索引引擎的非关系数据库,json格式,在elk中存储所有的日志信息,架构有主和从,最少需要2台。logstash:动态的从各种指定的数据源,获取数据,而且对数据进行过滤,分析。按照统一的格式发送到es。kibana:把es的数据进行展示,进行客户端可以理解的操作,汇总、分析和搜索数据的平台。
2024-12-31 15:10:56
1176
原创 3、redis的高可用
主从复制:这是redis高可用的基础。哨兵模式和集群都是建立在此基础之上。主从模式和数据库的主从模式是一样的,主负责写入,然后把写入的数据同步到从,从节点只能读不能写。read only。不能做高可用的切换,主节点出现故障,没有替换的主节点,所有的写入操作都将失败。
2024-12-30 17:06:29
1078
原创 2、redis的持久化
在redist当中,高可用的技术包括持久化,主从复制,哨兵模式,集群。持久化是最简单的高可用的方法,作用就是备份数据。即将数据保存到硬盘,防止进程退出导致数据丢失。redis持久化方式:1、RDB持久化:人工或者定时的把内存当中的数据保存到硬盘,这是一种冷备份的方式(备份的时候不用关闭服务,恢复的时候需要关闭),默认的持久化方式。2、AOF持久化:类似于mysql的二进制日志,把所有redis的操作记录在二进制日志当中,恢复的时候从二进制的内容进行恢复。全热备份,服务要重启。
2024-12-30 11:37:56
812
原创 1、redis基础命令及五种类型
redis的基础知识Nosql:not only sql非关系型数据库:主流的数据库之外,基本都是nosql非关系型数据库也有库,库是系统自带的,而且也不需要创建,也不能创建也无需在库中创建表,直接在预设的库中,以键值对的形式保存数据。key——value键值之间没有任何关联,值可以是任意合法的数值。redis:redis是开源的,使用c语言编写的nosql数据库。redis基于内存运行的,只有执行持久化操作之后,数据才会写入到磁盘中去(自带的,定时执行持久化)1、持
2024-12-27 13:51:02
965
原创 6、mysql的MHA故障切换
先创建好/etc/masterha目录,复制/opt/mha4mysql-manager-0.57/samples/conf/app1.cnf 到/etc/masterha/下。master_ip_online_change_script=/usr/local/bin/master_ip_online_change #在线切换脚本。8、在nginx1保留权限复制/opt/mha4mysql-manager-0.57/samples/scripts/ 到/usr/local/bin/下。
2024-12-25 16:03:33
886
原创 5、mysql的读写分离
主从复制:在一个mysql的集群当中,至少3台,即主1台,从2台。当有数据时,主负责写入本库,然后把数据同步到从服务器。一定是在主服务器写入数据,从服务器的写入数据不会同步到集群。
2024-12-24 16:48:45
974
原创 2、mysql用户管理和索引
如在本机mysql创建用户,只允许192.168.233.22用户登录。这时候,只能在192.168.233.22上登录,192.168.233.21的mysql。
2024-12-20 16:31:00
898
原创 3、mysql事务控制语句及日志管理
begin:显示开始一个事务commit:提交事务,所有的修改都是永久性的。rollback:对事务进行回滚,返回到上一次的操作,只能回滚正在进行会提交的修改。savepoint 名称:在事务当中创建一个回滚点,回滚到指定的位置,一个事务中可以有多个回滚点。savepoint在一个事务当中是一个临时的标记,在事务执行过程中的一个回滚点,多个回滚点,是按照顺序进行的。前面的回滚点一旦执行,后续的回滚点就会失效。
2024-12-20 16:30:46
932
原创 1、数据库概念和mysql表的管理
datebase:用来组织,存储,管理数据的仓库。数据库的管理系统:DBMS(用来实现对数据的有效组织、关系和存取的系统软件)
2024-12-19 14:33:21
919
原创 2、keepalive的高可用集群
代理服务器和调度都是单点模式,keepalive就是用来实现调度的高可用集群。keepalive的工作原理:keepalive就是专门为了lvs集群开发出来的,但是适用场景不仅仅局限于lvs。而且keepalive为后台真实服务器做了一个健康检查,当服务不可用时,会自动的移除ipvs的转发策略,服务恢复时,会自动重新把策略加入到ipvs。他是基于vrrp协议(vrrp:虚拟路由的冗余协议)实现的调度器的高可用方案。
2024-12-18 08:56:39
782
原创 1、lvs介绍和模式
lvs也是负载均衡的一种方法,lvs是四层的负载均衡。集群和分布式:分布式:把不同的组件部署在不同的服务器上,组件之间(应用)依靠网络进行通信,实现定制化的功能。集群:多个应用。相同的应用,部署在不同的服务器,提供统一的服务,以及同样的功能。机器的性能大致相同。lvs是基于集群的方式实现。系统性能扩展方式:单节点的扩展方式:垂直扩展,向上扩展,提升计算机的性能(硬件性能)。性能提升是有瓶颈。水平扩展,向外扩展,增加设备的方式提供性能。这就是集群的由来。
2024-12-17 15:20:51
1153
原创 tomcat
1、在/tomcat/webapps/下创建访问目录和文件两个index.jsp具体配置如下2、配置主配置文件 /conf/server.xml,添加两个host如下,配置完之后,要./startup.sh启动</Host>Host name:主机名"www.test1.com"appBase="webapps":web应用程序目录unpackWARs="true":是否对.war格式结尾文件进行展开,默认展开。
2024-12-13 17:04:39
813
原创 六、nginx负载均衡
负载均衡:将四层或者七层的请求分配到多台后端的服务器上。从而分担整个业务的负载。提高系统的稳定性,也可以提高高可用(备灾,其中一台后端服务器如果发生故障不影响整体业务).
2024-12-12 15:00:30
908
原创 五、重定向和nginx正向代理
重定向:就是输入的网站之后会跳转到设定的目标网站(如360bug——>京东)rewrite:使用nginx提供的全局变量或者是自己设置的变量,结合正则表达式和标志位实现url/uri重定向目的:1、更换域名2、特殊情况,比如说页面需要维护,但是我不想中断服务,可以实现url的跳转,访问正常的服务器。3、防盗链。
2024-12-12 13:48:14
1151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人