GitLab 压测
使用GPT工具对GitLab做性能与可用性测试 1 测试工具简介 GitLab Performance Tool(GPT)是由 GitLab 质量保证团队构建和维护的工具,可以对任何 GitLab 实例(包括 GitLab)进行性能和可用性测试。默认测试以下内容: API 端点测试 Git 相关测试 web 网页测试 出于安全考虑,默认不测试 HTTP POST、PUT、DELETE 和 PATCH,如果确实需要测试,可以在测试命令后面加 --unsafe 标识; 2 准备测试环境 2.1 准备电脑和网络 - 尽可能的靠近目标 GitLab,以免受到网络环境的干扰; - 测试过程需要从 https://gitlab.com下载测试工具和测试数据 2.2 初始化环境 123# 克隆 GPT 项目到本地电脑;git clone https://gitlab.com/gitlab-org/quality/performance.gitcd performance 2.3 准备测试环境 以 GitLab 管理员的身份创建个人访问 Token,scope...
国内 kubeadm 部署k8s集群
一、安装要求 本文主要在centos7系统上基于containerd和v3.24.5版本的calico组件部署v1.29.3版本的堆叠ETCD高可用k8s原生集群 操作系统CentOS7.x, 内核5.4.x 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 集群中的所有机器之间网络互通 可以访问外网 要拉取镜像 禁止swap分区 IP Hostname cri 10.1.1.1 10-1-1-1.k8s.host docker 10.1.1.2 10-1-1-2.k8s.host docker 10.1.1.3 10-1-1-3.k8s.host containerd 10.1.1.4 10-1-1-4.k8s.host containerd 172.1.0.0/16 podSubnet 172.0.0.0/16 serviceSubnet 二、系统初始化 1 配置hosts 123456cat >> /etc/hosts <<EOF10.1.1.1...
ArgoCD快速入门
1 部署 ArgoCD 官方提供四种部署方式,分别是: 无高可用 集群权限 > 指定命名空间权限 默认只有 argocd 命名空间权限,增加别的命名空间权限参考:Applications in any namespace - Argo CD - Declarative GitOps CD for Kubernetes > 需要单独安装 crds 高可用 集群权限 > 指定命名空间权限 高可用配置参考 此文档后面补充了下,所以会出现图片对不上的情况,但不影响观看 1.1 argo 配置 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849# 这里用的高可用配置wget https://github.com/argoproj/argo-cd/blob/master/manifests/install.yamlvim install.yaml# 添加gitlab解析,避免访问不了gitlabspec:...... ...
Kubernetes拓扑可视化监控之Scope
Weave Scope 特点 Weave Scope 会读取集群配置,自动生成各容器、网络、以及 app 之间的映射关系,能够更加直观地展示、监视和控制基于容器化微服务的应用程序。 Weave Scope 可以监控 kubernetes 集群中的一系列资源的状态、资源使用情况、应用拓扑,还可以直接通过 Web 端进入容器内部进行调试。 其提供的主要功能包括: 交互式拓扑界面 图形模式和表格模式 多维度资源划分 过滤&搜索功能 实时了解集群中的容器状态 可以查看容器的上下文指标,标签和元数据。可以比较轻松的在容器内部的进程之间导航,以托管运行在可扩展、可排序表中的容器。对于给定的主机或服务,使用最多 CPU 或内存的容器即可轻松找到该容器。 与容器进行直接交互和管理、启动命令行。 通过插件扩展和自定义 缺点: 太费资源了,集群庞大不建议使用,建议用Kubernetes拓扑可视化监控之goldpinger 安装 scope 安装参考 1 修改配置 如果集群没使用 weave cni,每个 args...
Kubernetes拓扑可视化监控之Goldpinger
集群节点数量过多,经常会遇到某个节点访问出现问题,却不能及时发现,goldpinger就是为了解决此问题诞生的,与其他服务相比,goldpinger更加轻量 此文档通过argo cd管理goldpinger 尝试过Weave Scope,发现使用资源过多,参考Kubernetes拓扑可视化监控之Scope 参考文档: goldpinger 一, 部署 1 准备配置文件 如果使用argo需要存放到git上,参考 [[…/DevOps/ArgoCD#2 argocd-server...
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 >...
Nginx 调优
1 核心配置 找到 Nginx 安装目录下的 conf 目录下 nginx.conf 文件,Nginx 的基本功能配置是由它提供的。 1 1.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...
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:...