- 博客(42)
- 资源 (3)
- 收藏
- 关注
转载 linux根分区扩展-非LVM
由于我们的vda3挂载在根目录下,vda3是最后一个分区,所以刚好新增的空间跟vda3是连续的,在最后选择start和end的时候,刚好就能连接上,这也是成功的一个条件,如果不是最后一个分区挂载在根目录下,这个就比较麻烦,需要进一步研究。情况说明:/dev/vda3挂载在/目录,是/dev/vda最后一个分区,刚好新增的空间跟vda3是连续的,在最后选择start和end的时候,刚好就能连接上,这是成功的前提!通过这个命令可以知道,vda确实是已经加了容量了,之前的vda只有40G的。
2024-05-20 17:11:44
827
1
转载 nginx压测出现404
压测后端接口,但是会走nginx代理进行端口转发,看返回的信息是nginx的404页面,降低并发数错误率会降低,将容器的副本数增加结果也是没有效果,但把后端端口直接暴露出来进行压测是没有问题,确定应该是nginx的问题,但是worker_connections已经是10240,并发数100多不应该有问题,百度如下解决。
2024-05-15 09:43:37
399
原创 ELFK日志收集
ELK是一套开源免费、功能强大的日志分析管理系统,可以将系统日志、网站日志、应用日志等各种日志进行收集、过滤、清洗,然后进行集中存放并展示。ELK不是一个单独的技术,而是由一套日志收集工具组合而成,包括:Elasticsearch、Logstash、Kibana组成。Elasticsearch(简称es):是由Java开发的一个非关系型数据库,提供日志的存储和搜索功能;Logstash:是一个日志采集工具,提供数据采集、数据清洗、数据过滤等功能;
2023-12-21 11:38:30
1019
转载 关闭 Edge/Chrome 浏览器不再支持Win7的提示
转到 HKEY_CURRENT_USER / Software / Policies / Microsoft / Edge。转到 HKEY_CURRENT_USER / Software / Policies / Google / Chrome。如果其中一个键不存在,在前面的键上点击右键,选择新建 > 键。如果其中一个键不存在,在前面的键上点击右键,选择新建 > 键。右键点击 Chrome,选择新建 > Dword(32 位)值。右键点击 Chrome,选择新建 > Dword(32 位)值。
2023-09-19 14:21:26
10319
原创 k8s通过系统配置文件kubeconfig文件实现权限的精细化分配
定义的用户名称是test,当然,用户名称可以随意定义。切换上下文,其实这一步就是将ca证书和token关联起来并写在了这个新定义的kubeconfig文件内。k8s的apiserver地址为:https://xxx:6443。cfssljson 安装。
2023-08-11 17:17:13
990
原创 k8s通过sa和自建角色实现权限精细化分配
为什么要授权是因为sa内的secrets里的token只有在dashboard内使用,而上面的角色和角色绑定都是dev这个namespace内的,这样绑定后,拿到token才可以登录到dashboard的首页,否则都无法选择namespace。角色role-sa 具有的权限仅仅是namespace planck内的所有pod的查看权限,以及deployment的查看权限,无权删除修改这些资源。
2023-08-11 17:14:39
763
原创 内核升级后k8s集群报:ipset v7.1: kernel and userspace incompatible: settype hash:ip,port with revision6
原因是安装 KubeSphere 时默认安装的 Calico 版本是 v3.20.0 , 这个版本不支持最新版的 Linux Kernel ,升级后的内核版本是 5.18.1-1.el7.elrepo.x86_64,calico 需要升级到 v3.23.0 以上版本。还有另外一个错误信息,都是因为 clusterrole 的资源权限不足,可以通过修改 clusterrole 来解决问题。升级完 kernel 后,Calico 启动不了,报以下错误信息。升级完 Calico 版本后,Calico 继续报错。
2023-08-02 12:01:17
1342
1
原创 centos制作openssh 9.3p2 rpm包
操作系统:CentOS Linux release 7.4.1708 (Core) #测试发现rpm包要在什么系统安装需要就需要在什么系统上制作。源码文件:openssh-9.3p2.tar.gz x11-ssh-askpass-1.2.4.1.tar.gz。执行命令,这时候会打开一个spec的vim文件,我们使用vim的另存为将它保存下来(shift+: w文件名)待制作完成,生成的rpm包在目录/root/rpmbuild/RPMS/x86_64/或者提取已有包的spec文件。
2023-07-26 09:44:41
2541
原创 loki采集k8s日志
loki 是轻量、易用的日志聚合系统。如果你的k8s集群规模并不大,推荐使用grafana+loki的方案来做微服务日志的采集;
2023-04-13 16:34:50
1606
原创 docker使用外部网络
可以手动新建或者使用已有docker-compose建好的网络(本例使用docker-compose已建好的)2.docker-compose引用外部网络(root_default )
2023-03-28 11:17:11
1226
原创 arm64架构鲲鹏、银河麒麟,系统安装harbor
替换redis镜像下载arm64的redis镜像,替换docker-compose.yml里的镜像。修改好harbor.yml文件后执行./prepare ./install。3.解决registry报错。2.redis不适配。
2023-02-23 18:36:26
2127
原创 mysql8 mgr一主多从部署
1、高一致性:基于原生复制和paxos协议的组复制技术。2、高容错性:有自动检测机制,当出现宕机后,会自动剔除问题节点,在2N+1个节点集群中,集群 只要N +1个节点还存活着,数据库就能稳定的对外提供服务。3、高扩展性:可以在线增加和移除节点。4、高灵活性:可以在单主模式和多主模式自由切换。MGR缺点MGR技术比较新,稳定性方面还需要业界验证。
2022-10-25 17:37:00
1250
原创 canal同步mysql数据到rocketmq集群
早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。......
2022-08-27 17:51:24
1859
原创 k8s-EFK (filebeat)日志收集
使用elasticsearch+filebeat+kibana收集pod指定目录日志,filebeat用于收集日志,es用于存储,kibana用于展示。本例以收集部署于k8s内的nginx日志为例子。
2022-08-20 13:46:23
3258
1
原创 基于hostpath的k8s pod日志持久化
1.考虑到pod的多副本,但同时需要将日志集中收集起来,所以采用hostpath的方式将同一个服务的多pod的日志持久化到一起,日志穿插性的写在一个文件中。2.由于pod重启会打散分配到不同节点上,所以基于nfs的网络文件系统通过共享目录的方式挂载到客户端节点(nfs-server:/nfs; nfs-client: /mnt/hostpath,将nfs-server的/mnt/hostpath挂载到nfs-client的/mnt/hostpath下,从而达到同服务多pod可以写到一个文件中 )。修改ya
2022-07-04 15:23:18
1479
原创 使用kt-connetct实现k8s网络互通
KtConnect介绍:阿里开源的k8s的调试工具,它的作用类似于VPN,实现了开发者本地运行的服务与Kubernetes集群中的服务之间的双向互通。https://github.com/alibaba/kt-connectKT: A simple kubernetes development tools一、linux直接访问Kubernetes集群内部网络前置条件:在需要访问k8s内部网络的lcentos安装kubectl,并配置好集群证书。1.部署实例kubectl creat
2022-05-14 16:45:38
2484
原创 k8s部署rabbitmq集群
目录1.创建pv/pvc2.创建configmap3.创建sa4.statefulset创建pod5.访问测试[root@master1 k8s-rabbitmq-cluster]# tree ..├── rabbitmq-config.yaml├── rabbitmq-pvc.yaml├── rabbitmq-rabac.yaml├── rabbitmq-service.yaml└── rabbitmq-sts-cluster.yaml0 direct
2022-05-07 18:16:02
1842
2
原创 k8s亲和性
目录一、节点亲和性二、pod亲和性和反亲和行1.pod亲和性podAffinity2.pod反亲和性podAntiAffinity一、节点亲和性requiredDuringSchedulingIgnoredDuringExecution表示pod必须部署到满足条件的节点上,如果没有满足条件的节点,就不停重试。其中IgnoreDuringExecution表示pod部署之后运行的时候,如果节点标签发生了变化,不再满足pod指定的条件,pod也会继续运行。required
2022-04-08 23:53:24
1725
原创 rabbitmq版本升级
一、背景因原来rabbitmq版本存在漏洞需升级至最新版本。原来是使用软件包部署,升级我采用使用docker-compose部署,后续还需升级直接改版本号就行,先部署新的,端口改成别的,调试没问题再恢复默认端口二、部署新的mqcat rabbitmq.yamlversion: '3' services: rabbitmq: image: rabbitmq:3.9.13-management container_name: rabbitmq netwo
2022-03-21 11:05:46
7078
原创 RKE 集群证书轮换 (local 集群和业务集群通用)
目录1.轮换 CA 和所有服务证书2.批量更新所有服务证书 (CA 证书不变)3.更新指定服务 (CA 证书不变)4.说明1.轮换 CA 和所有服务证书rke cert rotate --rotate-caINFO[0000] Initiating Kubernetes clusterINFO[0000] Rotating Kubernetes cluster certificatesINFO[0000] [certificates] Generating CA k
2022-03-20 14:14:51
1269
原创 nginx平滑升级
要求:升级nginx版本到1.21.61.查看nginx和OpenSSL版本,记录原安装编译的模块:[root@host sbin]# ./nginx -Vnginx version: nginx/1.18.0built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: -
2022-03-13 16:36:57
4675
原创 keepalive+nginx/mysql自动切换
一:环境准备master服务器ip地址:192.168.1.99slave服务器ip地址:192.168.1.70两台机器分别安装nginx和keepalived,192.168.1.99作为master,192.168.1.70作为slave二、keepalived安装2.1 yum方式安装依赖包[root@localhost ~]# yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel[root@
2022-03-09 11:43:20
4541
原创 k8s之HPA(Pod水平自动伸缩)
Horizontal Pod Autoscaler官方文档:Pod 水平自动扩缩 | KubernetesPod 水平自动扩缩(Horizontal Pod Autoscaler) 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment、ReplicaSet 和 StatefulSet 中的 Pod 数量。 除了 CPU 利用率,也可以基于其他应程序提供的 自定义度量指标 来执行自动扩缩。 Pod 自动扩缩不适用于无法扩缩的对象,比如 DaemonSet。
2022-03-07 15:15:05
2604
原创 docker部署内网dns解析服务(bind方案)
下载DNS镜像Github: sameersbn/bind1.下载镜像并运行docker pull sameersbn/bind:latestdocker run --name bind -d --restart=always \ --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \ --volume /opt/bind:/data --env='WEBMIN_INIT_SSL_ENABLED=fals
2022-03-06 18:04:33
5052
2
原创 docker部署内网dns解析服务(coredns方案)
目录结构:[root@harbor coredns]# tree.├── Corefile├── hosts└── install-coredns.shcat install-coredns.sh #!/bin/bashdocker run -d \ --restart always \ --name coredns \ -p 53:53/tcp \ -p 53:53/udp \ -v /data/service/coredns/hosts:/etc/hos
2022-03-06 17:47:57
3002
原创 docker-compose部署常用中间件
一、docker-compose部署mysql/Mysql # Mysql应用文件夹 docker-compose.yml # docker compose脚本文件init.sql # mysql初始sql文件/conf # 配置文件夹my.cnf # 配置文件 /db # 数据库文件...
2022-03-05 10:29:49
3945
原创 rke部署k8s_v1.20.15高可用
使用的镜像:rancher/mirrored-coreos-etcd:v3.4.15-rancher1rancher/rke-tools:v0.1.78rancher/mirrored-cluster-proportional-autoscaler:1.8.1rancher/mirrored-coredns-coredns:1.8.0rancher/hyperkube:v1.20.12-rancher1rancher/mirrored-calico-node:v3.17.2ran
2022-03-01 20:11:51
2252
原创 HertzBeat监控部署及使用
HertzBeat赫兹跳动是由Dromara孵化,TanCloud开源的一个支持网站,API,PING,端口,数据库等监控类型,拥有易用友好的可视化操作界面的开源监控告警项目。HertzBeat 支持自定义监控 ,只用通过配置YML文件我们就可以自定义需要的监控类型和指标,来满足常见的个性化需求。HertzBeat 模块化,manager, collector, scheduler, warehouse, alerter 各个模块解耦合,方便理解与定制开发。HertzBeat 支持更自由化的告警配
2022-02-27 12:23:45
4722
原创 docker-compose部署apollo
mysql:5.7.36自行部署mysql,然后按照如下导入sqlmysql -uroot -pxxx < apollo/scripts/sql/apolloportaldb.sql mysql -uroot -pxxx < apollo/scripts/sq...
2022-02-17 11:24:09
1761
2
原创 k8s部署nacos高可用
1.nacos数据库使用mysq,自行安装mysql,创建数据库nacos_config,导入nacos初始化sql2.k8s里部署Headless ServiceHeadless Service为每个pod(nacos实例)生成一个DNS地址,用作NACOS_SERVERS配置3.通过StatefulSet部署nacos,StatefulSet部署方式为每个POD生成固定的名称,如nacos-0、nacos-1、nacos-24.部署Ingress,访问应该统一访问域名可以自己起,到时直接
2022-02-17 10:40:56
2763
原创 docker部署nacos单机及集群版本
一、不外接mysql,软件包部署方式最新稳定版本 下载地址:https://github.com/alibaba/nacos/releases下载后解压 目录如下 在bin 是启动脚本启动命令(standalone代表着单机模式运行,非集群模式):sh startup.sh -m standalonenacos服务默认端口是8848 浏览器输入 http://ip:8848/nacos登陆账号和密码都是 nacos二、不外接mysql,docker部署方式docker ru
2022-02-17 09:35:36
2723
原创 docker部署apollo
环境:CentOS Linux release 7.8.2003 (Core)mysql:5.7.36自行部署mysql,然后按照如下导入sqlcd /datagit clone https://github.com/ctripcorp/apollo.gitmysql -uroot -pxxx < apollo/scripts/sql/apolloportaldb.sqlmysql -uroot -pxxx < apollo/scripts/sql/apolloconf
2022-02-16 18:46:40
1387
5
原创 k8s部署mysql一主多从集群
主可以读写,从只读。分析需要解决的问题,制定解决思路:1.启动顺序:Master 的Pod 必须先于 Slave 的 Pod 起来;2.如果某个Pod挂掉了,应该自动重新启动一个Pod,这个新建的Pod应该沿用原来的数据;3.Master 与 Slave 的配置文件不同,特别是server_id;4.Master 与 Slave 在服务启动之后还需要执行一些命令,它们也不一样,具体为: 1)Master需要执行授权命令,授权的用户名和密码希望用户自己来配置,而不是写死;
2022-02-16 16:28:19
1428
原创 k8s蓝绿发布
目录蓝绿发布:实战:1.先部署v1.0.0版本2.再部署v2.0.0版本3.使用svc做流量切换蓝绿发布:一些应用程序只需要部署一个新版本,并需要立即切到这个版本。因此,我们需要执行蓝/绿部署。在进行蓝/绿部署时,应用程序的一个新副本(绿)将与现有版本(蓝)一起部署。然后更新应用程序的入口/路由器以切换到新版本(绿)。然后,您需要等待旧(蓝)版本来完成所有发送给它的请求,但是大多数情况下,应用程序的流量将一次更改为新版本;Kubernetes不支持内置的蓝/绿部署。目..
2022-02-16 15:13:36
1097
原创 rocketmq多主多从异步复制集群部署
多Master-Slave异步复制模式」,即使磁盘损坏,消息丢失的非常少,且消息实时性不会受影响,同时「Master宕机后,消费者仍然可以从Slave消费」,而且此过程对应用透明,不需要人工干预,性能同多Master模式几乎一样。「多Master-Slave同步双写模式」,数据与服务都无单点故障,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高,「性能比异步复制模式略低」(大约低10%左右),发送单个消息的RT会略高,且目前版本在主节点宕机后,备机不能自动切换为主机。
2022-02-16 11:40:54
2807
转载 银河麒麟v10-arm kubeadm离线部署k8s集群(v1.23.4)
/dev/mapper/centos-swap swap swap defaults 0 0 //注释这条。
2020-08-04 17:46:19
4062
11
原创 k8s部署redis集群(设置密码版本)
前置条件:创建pv,我这里使用的是nfs,做sc1.创建configmapcat redis-configmap.yamlapiVersion: v1kind: ConfigMapmetadata: name: redis-conf namespace: redisdata: redis.conf: | cluster-enabled yes cluster-config-file /var/lib/redis/nodes.conf
2020-08-04 17:33:36
3325
5
原创 使用python+pyqt5开发桌面工具
环境:python3+pyqt5+qtdesigner步骤:1.先用qtdesigner画好图形界面2.将画好的页面转换为.py文件pyuic5 -o demo_weather.py demo_weather.ui添加if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWin..
2020-08-04 17:31:23
1106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人