-
Jenkins 分布式构建2
远程脚本由于使用的expect,是不支持shell的位置变量语法的,需使用下面这种方式scp.shcat expect#!/usr/bin/expectset timeout -1set file_name [lindex $argv 0]set dest_name [lindex $argv 1]set DATE [exec date +%Y%m%d]spawn scp $file_name root@asdsadasdasdas:$dest_nameexpect { "(yes/no...…
-
Jenkins 分布式构建1
新环境部署 开发环境(将旧环境合入) 测试环境(将旧环境合入) 部署一个rancher,统一管理所有环境CICD阶段 maven 缓存构建工具 maven node kubectl dockermaster 分支流程【发布】(tag)-【推送仓库】-【镜像扫描】-【同步生产】发布流程【更新/回滚】-【apply yaml】-【自动化测试】 模块选择,分中心选择(是所有中心同时都上,还是单个上)多集群confighttps://blog.csdn.net/weixin_38...…
-
calico is not ready
问题现象 calico 一直 Crash 报错信息如下Health endpoint failed, trying to restart it... error=listen tcp: lookup localhost on 8.8.8.8Readiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to connect to BIRDv4 socket:...…
-
kubelet PLEG
问题现象node节点状态频繁ready、notready排查记录 为避免业务影响,将异常节点标记为不可调度,并把master-3节点的不可调度污点删掉(master充当node角色),将node-222节点上的pod驱逐到其他节点。 $ kubectl cordon node-222$ kubectl taint node master-2 node-role.kubernetes.io/master-$ kubectl drain node-222 --ignore-dae...…
-
ipmi-exporter一直处于ContainerCreating
问题现象原因 检查发现,该pod在启动的时候,需要挂载宿主机的 /dev/ipmi0 这个设备,由于对应机器上面没有这个路径,导致pod挂载不成功,无法启动ipmi是一个针对物理机的硬件暴露指标数据的模块,虚机没有。如果是物理机执行以下命令加载下模块,就可以挂载成功解决方法:$ lsmod | grep ipmi# 此时的执行结果为空(说明没有/dev/ipmi 设备)$ modprobe ipmi_devintf$ modprobe ipmi_watchdog$ ls /dev/ip...…
-
tinyproxy充当 http 代理 docker
简介 生产环境中,大多数情况为内网环境,有时 docker 想要拉取外网环境的镜像则需要配置代理进行拉取,这时候我们就需要一个代理服务器。调查了几个代理app,shadowsocks、qv2ray、squid以及tinyproxy,发现这个是最好用的。安装环境macOS(亲测,感觉mac搭建更适合私有化部署场景)$ brew install tinyproxy# 主配置文件# /usr/local/etc/tinyproxy/tinyproxy.conf$ vim /usr/local/...…
-
prometheus alert rules 导入失败问题
问题现象: 部署监控平台需要导入 alert-rule.yaml 中的告警规则,通过 kubectl apply -f alert-rule.yaml 可以正常导入进去,但是在prometheus alert界面看不到对应规则原因: prometheus 环境部署是通过 prometheus-operator 进行的部署,operator 会通过 rules 的标签进行匹配是否将规则注入到 prometheus 里面。alert-rules.yaml 的标签不符合 operator ...…
-
prometheus 告警含义
告警名称 告警含义 NodeClockNotSynchronising 是说节点的ntp时钟不同步,是时钟还没有同步报的错。 KubeStatefulSetUpdate 这个告警,是因为sts的升级策略是OnDelete,也就是说如果更新了yaml,需要手动逐个删除Pod以生效,这个历史上是为了避免频繁重启。解决办法就是人工逐个删除下sts的pod然后重建。 ...…
-
PrometheusRuleFailures
问题现象 出现此类告警需查看 prometheus 的日志,错误信息 err=”query processing would load too many samples into memory in query execution”原因 在 prometheus 中执行大量查询导致解决方法:使用–query.max-samples在普罗米修斯配置文件,增加内存负载的数量。默认值为50000000,增加此值取决于您的机器能力参考:https://stackoverflow.com/que...…
-
mysql 索引
sql 性能下降原因 索引失效 语句写的烂 关联查询太多join(涉及缺陷或不得已的需求) 服务器调优及各个参数设置(缓冲、线程数等)create index idx_user_name on user(name)索引 数据本身之外,数据库还维护这一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上优势:...…
-
mysql 函数
排序查询 1、asc 代表的是升序,desc代表的是降序,如果不写,默认是升序 2、order by 字句中可以支持单个字段、多个字段、表达式、函数、别名 3、order by一般是放在查询语句的最后面语法:select 查询列表 from 表 [where 筛选条件] order by 排序列表 [asc|desc];案例:查询员工,要求工资和从高到底排序select * from employees order by salary desc;select * from em...…
-
mysql 约束
常见约束 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束 NOT NULL:非空,用于保证该字段的值不能为空,比如姓名、学号 DEFAULT:默认,用于保证该字段有默认值 PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空 UNIQUE:唯一约束,保证该字段的值具有唯一性,可以为空 CHECK:检查约束【mysql中不支持】 FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主标的关联列的值 ...…
-
mysql 排序查询
排序查询 1、asc 代表的是升序,desc代表的是降序,如果不写,默认是升序 2、order by 字句中可以支持单个字段、多个字段、表达式、函数、别名 3、order by一般是放在查询语句的最后面语法:select 查询列表 from 表 [where 筛选条件] order by 排序列表 [asc|desc];案例:查询员工,要求工资和从高到底排序select * from employees order by salary desc;select * from em...…
-
mysql 条件查询
条件查询select 查询列表from 表名where 筛选条件;分类1. 按条件表达式筛选条件运算符: ` > < = != <> >= <=`2. 按逻辑表达式筛选逻辑运算符: && || ! and or not 3. 模糊查询Likebetween and in is null一、按条件表达式筛选select * from employees where salary>12000; #查询工...…
-
mysql 基础查询
环境准备mysql> create table IT_salary (岗位类别 char(20) not null,姓名 char(20) not null,年龄 int,员工ID int not null,学历 char(6),年限 int,薪资 int not null, primary key (员工ID)); #int 数字类型、char 字符串类型、not null 不能为空、char()指定最多字节个数、primary key()指定索引字段Query OK, 0 row...…
-
kubelet too many open files
问题现象处置思路看到too many open files可能想到fs.file-max参数,其实还受下面参数影响:fs.inotify.max_queued_events:表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。fs.inotify.max_user_instances:表示每一个real user ID可创建的inotify instatnces的数量上限...…
-
kube-flannel CrashLoopBackOff
背景三个节点的集群,其中一个节点的 flannal 异常 日志信息:Failed to find any valid interface to use: failed to get default interface: Unable to find default route处置思路# 登录到对应机器,发现该机器没有网关,找不到路由$ ip r |grep default $ cat /etc/sysconfig/network-scripts/ifcfg-eth0 # 添加网关DEVI...…
-
报错集锦
1. permission denied-------------------------------------------------------------------------------NGINX Ingress controller Release: 0.26.1 Build: git-2de5a893a Repository: https://github.com/kubernetes/ingress-nginx nginx ver...…
-
Github 代码上传
git add . git commit -m "xxxxx"git push -u origin master…
-
Kubernetes数据流程排查图
k8sdocker…