扩容磁盘与恢复分区
1 直接挂载新磁盘 12345678910111213fdisk /dev/sdcCommand (m for help): n 创建新分区Select (default p): p # 创建主分区Partition number (2-4, default 2): 2 # 分区编号First sector (2048-62914558, default 2048): # 第一个扇区Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62914558, default 62914558): #最后一个扇区Command (m for help): w # 保存mkfs -t ext4 /deb/sdX1 查看分区 12345678lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSsda 8:0 0 500G 0 disk......sdb 8:16...
HAProxy+Keepalived使用
一, 操作系统优化 注意升级内核,内核要 4.11 以上,不升级的话缺少ip_unprivileged_port_start文件 1234567891011121314cat << \EOF >> /etc/sysctl.confnet.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 0net.ipv4.ip_local_port_range="1024 65024"net.ipv4.tcp_max_syn_backlog=100000net.core.netdev_max_backlog=100000net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_fin_timeout = 10fs.file-max=500000EOFecho '* - nofile 500000' >> /etc/security/limits.conf# 开启 ip 转发echo 1 > /proc/sys/net/ipv4/ip_forwar...
Nginx 调优
一,核心配置 找到 Nginx 安装目录下的 conf 目录下 nginx.conf 文件,Nginx 的基本功能配置是由它提供的。 1 配置文件结构 Nginx 的配置文件 (conf/nginx.conf) 整体上分为如下几个部分: 区域 职责 全局块 配置和 Nginx 运行相关的全局配置 events 块 配置和网络链接相关的配置 http 块 配置代理、缓存、日志记录、虚拟主机等配置 server 块 配置虚拟主机的相关参数,一个 http 快中可以有多个 server 块 location 块 配置请求的路由,以及各种页面的处理情况 配置层级如下所示。 123456789101112131415161718events {}http { server { server_name a; location / { } location ~*^.+$ { } &...
k8s收集审计日志
工作中经常遇到不知道谁修改资源导致服务出现故障,配合 k8s 自带的 RBAC 实现用户级别的审计日志 RBAC 配置参考: Kubernetes自定义权限 审计日志记录功能会增加 API server 的内存消耗,因为需要为每个请求存储审计所需的某些上下文。 原理 Kube-apiserver 执行审计。每个执行阶段的每个请求都会生成一个事件,然后根据特定策略对事件进行预处理并写入后端。 每个请求都可以用相关的 “stage” 记录。已知的 stage 有: RequestReceived - 事件的 stage 将在审计处理器接收到请求后,并且在委托给其余处理器之前生成。 ResponseStarted - 在响应消息的头部发送后,但是响应消息体发送前。这个 stage 仅为长时间运行的请求生成(例如 watch)。 ResponseComplete - 当响应消息体完成并且没有更多数据需要传输的时候。 Panic - 当 panic 发生时生成。 策略 审计政策定义了关于应记录哪些事件以及应包含哪些数据的规则。处理事件时,将按顺序与规则列...
面试题记录
以前面试重来不做笔记,每次都在网上搜题,毕竟不是自己总结的,记录下遇到面试遇到与以及感觉可能会问到的问题 一, mysql 1 备份 1.1 mysql 5.5 不支持事务 id 备份磁盘,binlog server,XtraBackup 备份,8.0 之前 mysql 默认库所表都是 MyISAM 引擎的表之前版尽量不使用,因为会出现锁表 问题: 主从切换后 binlog server 无法继续使用,因为每个节点的 binlog 位置不一样,还原数据需要新建个实例对比新切换的 master 节点数据进行还原 1.2 mysql 5.6 支持事务 id,通过事务 id 同步备份: 备份磁盘,binlog server,XtraBackup 备份,8.0 之前 mysql user 表是 MyISAM 引擎的表,能会出现锁表问题: 主从切换后 binlog server 可以继续使用,因为事务 id 是一样的,可以写脚本实现自动切换 master 节点,这里我们借鉴 Orchestrator 自己研发的 mysql 管理工具 1.3 mysql 5.7 支持事务...
RookCeph安装
一, 安装 安装参考文档: 配置参考 1 下载代码 1git clone --single-branch --branch v1.10.0 https://github.com/rook/rook.git 2 修改配置文件 2.1 operator.yaml 12345678# 修改镜像地址 ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.6.2" ROOK_CSI_REGISTRAR_IMAGE: "ccr.ccs.tencentyun.com/ccops/csi-node-driver-registrar:v2.5.1" ROOK_CSI_RESIZER_IMAGE: "ccr.ccs.tencentyun.com/ccops/csi-resizer:v1.4.0" ROOK_CSI_PROVISIONER_IMAGE: "ccr.ccs.tencentyun.com/ccops/csi-provisioner:v3.1.1&...
RookCeph管理
默认命名空间 rook-ceph,主要修改成自己的 建议镜像上传到私有仓库或拉取后部署 部署参考: RookCeph安装 一, 检查 1 pod 状态 pod 都是Running与Completed状态 1kubectl get pod -n rook-ceph |grep -v 'Running\|Completed' 2 集群状态 请注意以下状态,表明群集处于正常状态: 群集运行状况:群集整体状态为HEALTH_OK,并且没有显示警告或错误状态消息。 Monitors(mon):所有监视器都包含在quorum列表中。 Manager(mgr):Ceph mgr 处于active状态。 OSDs(osd):所有 osd 都是up与in状态。 Placement groups(pgs):所有 PG 都处于active+clean状态。 Ceph 文件系统元数据服务器(mds):所有 MDS 都处于up状态 Ceph 对象存储 RADOS 网关 (rgw):所有 rgw 都是active状态 123456789101112131415161...
记录kubelet问题
记录遇到的问题,后面会一点点补充 Kubernetes使用到的端口 服务名 备注 需要的端口 kube-scheduler 调度服务 10251 tcp etcd 2379端口API 服务,2380端口peer 通信 2379,2380 tcp kube-controller-manager 容器管理 10252 tcp kube-apiserver apiserver 443 tcp 此端口随配置而变化 calico-typha 管理calico 5437 tcp kubelet 认证API 10250 tcp bird bgp通信 179 tcp kube-proxy 10249:对外提供 /metrics; 10256:对外提供 /healthz 的访问。 10249,10256 tcp calico-node 网络接口管理和监听、路由、ARP 管理、ACL 管理和同步、状态上报 9099 tcp vxlan vxlan协议端口 4789 udp 一, kubelet 1 查看节点状态 NotReady 1...
如何在Kubernetes里使用SMB存储
1 部署驱动 参考官网的,需要自己改镜像 12345678helm install smb-csi . -n kube-systemkubectl get pod -n kube-systemNAME READY STATUS RESTARTS AGEcsi-attacher-smb-0 1/1 Running 0 16hcsi-provisioner-smb-0 2/2 Running 0 16hcsi-smb-2dfnn 2/2 Running 0 16hcsi-smb-nn5pp 2/2 Running 0 16hcsi-smb-q9pln 2/2 Running 0 16h 2 Storageclass 创建 Secret 1kubectl create secret -n kube-syste...
如何优雅的实现数据同步
简介 鉴于 inotify 存在一定问题,不满足 gitlab 数据同步需求,后续调研了 sersync ,sersync 克服了 inotify 的几个缺点。 inotify 最大的不足是会产生重复事件,或者同一个目录下多个文件的操作会产生多个事件(例如,当监控目录中有 5 个文件时,删除目录时会产生 6 个监控事件),从而导致重复调用 rsync 命令。 vim 文件时,inotify 会监控到临时文件的事件,但这些事件相对于 rsync 来说是不应该被监控的。 inotify 只能记录下被监听的目录发生了变化(增,删,改)并没有把具体是哪个文件或者哪个目录发生了变化记录下来; rsync 在同步的时候,并不知道具体是哪个文件或目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync 要对整个目录遍历查找对比文件),因此效率很低;rsync 在同步时,只同步发生变化的文件或目录(每次发生变化的数据相对整个同步目录数据来说很小,rsync 在遍历查找对比文件时,速度很快),因此效率很高。 server 端 1 rsy...











