
运维linux
文章平均质量分 53
运维饺子
干一行,专一行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Cannot find a valid baseurl for repo: centos-ceph-nautilus/7/x86_64
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"原创 2022-07-18 09:58:56 · 1543 阅读 · 1 评论 -
服务器磁盘扩容
项目存储不够用了,增加一个16T的硬盘;parted工具;首先将磁盘插入到服务器中,然后使用fdisk -l检测是否有这块新的磁盘,检测到之后开始分区。1.获取磁盘设备名称:fdisk -l#Disk /dev/mapper/mpathfp2: 16000.8 GB, 16000764346368 bytes#可以看到我的是 /dev/mapper/mpathfp22.对 /dev/mapper/mpathfp2进行分区:[root@node100 ~]# parted /dev.原创 2022-02-17 10:00:01 · 5706 阅读 · 0 评论 -
kubelet报错Failed to read data from checkpoint“或者/var/lib/kubelet/config.yaml
这是在kubeadm 进行初始化的时候,我一直以为需要kubelet启动成功才能进行初始化,其实后来发现只有初始化后才能成功启动。出现这两个问题的原因完全是初始化配置的问题,ip地址一定要是你本机上的ip,哪怕是虚拟ip,你也让它先飘到该主机上。这只是提供思路,我自己弄了半天,弄过kubelet和docker的驱动,网上找过很多但都没有用,因为我有一台主机成功了,其他两台死活出现这个问题,就是我把配置文件同步弄过去的时候ip地址都要改成本机上的。还有什么timeout 40s啥的都遇到过,最终修改初始化配原创 2022-01-20 11:25:26 · 5804 阅读 · 1 评论 -
python生成ansible主机和别名文件
/etc/hosts文件内容格式,总共百来台:手动太费劲修改ansible的host文件,可以利用python获取主机ip和别名写入python代码:with open('hosts',encoding='utf-8') as f: while 1: try: a = next(f).strip() a_split = a.split() hostname = a_split[0]原创 2022-01-18 13:05:00 · 864 阅读 · 0 评论 -
iptables常用规则
1.服务器能ping其他主机,其他主机不能ping通它:iptables -I INPUT -p icmp -d 192.168.247.100 --icmp-type 8 -j REJECTping别人发出的icmp类型为8,INPUT是在流入的时候过滤,所以我们能ping通他人。2.除了192.168.247.100的22端口能访问,其他端口都禁止访问:iptables -I INPUT -d 192.168.247.100 -p tcp ! --dport 22 -j REJECT3.m原创 2022-01-17 20:58:25 · 2451 阅读 · 0 评论 -
记一次xfs文件系统损坏,磁盘修复问题
Input/out errormessage输出日志太乱了,这里不放图现象:重启一下好了,过一段时间后又出问题了。磁盘解决是在磁盘好的状态下处理的,如果不好的话没办法读取该磁盘,谈不上修复操作。附图:我的是磁盘/dev/mapper/mpathbp1 挂载到/public解决方法:首先要卸载磁盘,卸载磁盘的话需要先停止在该磁盘读写数据的进程。然后再进行磁盘修复,磁盘检查,无问题后重新挂载。1.停止所有进程,用lsof命令:lsof /public这里建议先看查看是哪些用户,再切换到该用户原创 2021-12-12 11:54:48 · 6565 阅读 · 0 评论 -
自制ca证书,nginx配置https访问
CA:证书颁发机构。有受信任的第三方颁发机构,也有个人的。但是自己充当颁发机构的话是不受浏览器信任的。CA证书:由CA机构颁发的证书,相当于盖公章。是由颁发机构的私钥给需要证书方的公钥加密生成。这里需要两个密钥对,一个颁发方,一个是请求证书方。颁发证书过程:1.请求方假定叫a事先生成密钥对,也可以是颁发机构假定叫b代为生成。有了密钥对之后,请求方a保管好私钥,将公钥给机构b,因为需要b给它的公钥加上数字认证,也就是生成证书。2.机构b对a的身份进行确认,自制的话不用,比如电话核实或者邮件核实是否是原创 2021-12-09 16:43:06 · 3711 阅读 · 1 评论 -
kubernetes pod间通信,跨namespace互访
这篇文章从原理和操作两部分讲解.原理kubernetes pod间通信,也就是pod里面的docker应用之间需要通信,首先就需要互相发现对方.kubernetes使用dns服务作为服务注册中心,kubernetes提供了一个内部的dns服务,集群里面的所有pod和容器都知道它的地址....原创 2021-12-08 14:14:17 · 10478 阅读 · 0 评论 -
k8s外部访问pod之service
service的好处:pod的地址是不可靠的,某个pod失效之后,它会被别的pod取代,新的pod拥有新的ip地址。service都拥有一个固定的cluster ip地址,固定的dns名称以及固定的端口。service还具有一定的负载均衡能力,将访问的流量分流到多个pod上。service也是通过提交yaml文件来部署最好,当然也可以通过提交命令式的操作来部署,但是并不推荐,因为不好维护。编写svc.yaml文件:apiVersion: v1kind: Servicemetadata: nam原创 2021-12-07 13:48:56 · 3362 阅读 · 0 评论 -
k8s利用deployment部署pod,以及应用更新和回滚操作
deployment部署pod,也是通过yaml文件的方式部署。deployment通过yaml文件定义需要deploy名称,需要几个pod协助运行,拉取的镜像版本等内容。一般来说一个deployment管理一个pod模板,比如前端和后端就需要分开管理。实际上deployment在底层是利用了replicaset的对象,replicaset直接管理pod。...原创 2021-12-03 13:50:45 · 5640 阅读 · 0 评论 -
k8s部署pod
安装方式百度一大堆,多种多样,上网查找即可。pod是kubernetes的最小原子单位,pod里面可以有多个或者一个容器。如果一个容器是一条鲸鱼,那么一群鲸鱼在一起就是一个整体,叫做pod。k8s可以直接操作pod,但在实际工作中不会选择这种方式,而是以deployment的方式部署。deployment部署才能展现出k8s的威力,比如自愈和容器伸缩等功能。pod的定义和部署是通过yaml格式的文件来完成的,我们通过提交yaml文件给api server,k8s会检查这个yaml格式的配置文件,并写入到原创 2021-11-26 10:03:22 · 4183 阅读 · 1 评论 -
k8s常见报错
原因:这是版本的问题,你现在用的k8s版本比较新,使用的是extensions/v1beta1,所以yaml修改一下就行:apiVersion: extensions/v1beta1原创 2021-11-19 09:46:49 · 2011 阅读 · 0 评论 -
yun安装kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64: [Errno 256] No more mirrors to try
1.我用的163的镜像源,清理过缓存,重新生成,依然报错:解决办法执行:yum --enablerepo=extras clean metadata之后yum安装k8s成功。原创 2021-11-12 14:17:51 · 960 阅读 · 0 评论 -
sqlserver四舍六入五留双函数
本函数已在工作中使用验证。函数名:sumres,参数有两个,一个是数字,一个是保留位数,返回值是一个浮点型。该函数使用和round()用法一样。函数完整代码:ALTER FUNCTION [dbo].[sumres](@num DECIMAL(18,10),@i INT) RETURNS FLOATAS BEGIN DECLARE @str VARCHAR(20), --转换成字符类型 @str1 VARCHAR(20), --保留小数位之前的字符串 @str6 VARCHA原创 2021-11-12 10:32:16 · 1553 阅读 · 0 评论 -
docker容器与容器、容器和宿主机共享、容器数据复制
1.宿主机和容器之间共享数据一.运行docker run命令时,通过-v选项将宿主机的卷挂载到容器上:docker run --name "mysql" -ti -v /data:/data mysql bash#共享了宿主机的data目录,默认读写权限容器删除之后数据卷数据还在:2.容器之间共享数据:多个容器之间共享一个容器中定义的数据卷,就是让docker去负责管理卷。docker run -v参数如果不指定宿主机的目录,就是创建了一个可以共享数据的数据卷容器,由docker去管理原创 2021-11-11 10:26:14 · 1764 阅读 · 0 评论 -
zabbix监控项、触发器和邮件告警
一.监控项这是虚拟机上的两台机器:这是配置的监控项:创建监控项有的需要参数才能添加成功:监控项键值说明可以参考官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/zabbix_agent下面以添加ping检查主机存活为例子:1.icmpping检查需要在server上打开fping选项:vim /etc/zabbix/zabbix_server.conf注意:首先需要有fping原创 2021-11-03 15:31:45 · 2013 阅读 · 0 评论 -
常用命令记录
1.如果已经建立aaa和对应家目录,需要更改家目录并且数据转移到新目录上,执行命令:usermod -m -d /home/aaa -u 1001 aaa-m:数据转移-d:指定新目录-u:该参数需要携带,否则会报错2.复制数据的同时保留原数据的属性,比如属组和权限:cp -rp /home/aaa/2 ./-r:复制目录时用-p:保留属性3.iftop查看网卡流量,可以查看具体端口:iftop -i eth1 -B -n -P-B:以byte字节显示,默认是bit-n:把主机原创 2021-11-02 14:19:20 · 188 阅读 · 0 评论 -
ftp命令学习
linux登入ftp命令:ftp ip地址示例:ftp 101.37.14.146关闭被动模式(被动模式就是服务端给客户端说准备好了)ftp> passivePassive mode off.配置文件vsftpd.conf设置客户端最大连接数:max_per_ip = 5查看ftp服务端当前目录文件和路径:lspwd切换本地目录:lcd关闭交互模式:prompt上传一个文件 和多个文件:ftp> put av2_201017.原创 2020-10-19 16:25:36 · 414 阅读 · 0 评论 -
面向对象
1.类的定义public class student { //成员变量,定义在方法外,类里面 String name; int age; //成员方法,不需要static public void eat() { System.out.println("吃饭。"); } public void sleep() { System.out.println("睡觉。"); } public void study() { System.out.println("学习。"); }原创 2020-08-03 17:31:41 · 132 阅读 · 0 评论 -
java之方法调用
示例:public class study01 { public static void farmer(){ System.out.println("播种"); System.out.println("浇水"); } public static void seller(){ System.out.println("施肥"); } public static void me(){ System.out.println("吃"); } public static void mai原创 2020-07-17 11:38:45 · 236 阅读 · 0 评论 -
DOS常用命令
1.切换盘:D: //盘符名称:2.进入目录:cd 目录路径或名称3.返回上层目录:cd ..4.回到根目录:cd \5.查看当前目录下文件或者目录dir6.清屏cls7.退出exit原创 2020-07-13 15:33:21 · 216 阅读 · 0 评论 -
[Errno 14] problem making ssl connection Trying other mirror. Please verify its path and try again
根据提示:ssl对应的是https,也就是443端口。你可以把它对应的仓库,就是某个仓库链接是https,要把enabled=0,先禁用这个仓库,否则下载不了东西。然后下载ssl工具:yum install ca-certificates更新curl的nns工具,因为nns太老了会导致curl访问不了https:yum -y update nss最后,把enabled更改为1然后,更新一下仓库缓存:yum clean allyum makecache...原创 2020-06-16 21:20:31 · 861 阅读 · 0 评论 -
postgresql学习三
avg():返回平均值select avg(age) as b from company; b --------------------- 25.6666666666666667(1 row)sum():返回指定字段的总和mydb=# select sum(age) as b from company; b ----- 154(1 r...原创 2020-05-08 17:09:44 · 321 阅读 · 0 评论 -
postgresql学习(二)
一.postgresql的启动和关闭#方式一:#进入到postgres用户su - postgres#启动pg_ctl stop -D /usr/local/pgsql/data/ > /tmp/psql.log 2>&1#关闭 pg_ctl stop -D /usr/local/pgsql/data/#重启pg_ctl restart -D /usr/loc...原创 2020-04-26 16:37:14 · 364 阅读 · 0 评论 -
postgresql学习(一)
一.postgresql介绍官网:https://www.postgresql.org/官方相关文档:http://www.postgres.cn/v2/document二.安装postgresql安装版本9.6.11版本库:https://www.postgresql.org/ftp/source/#下载源码包:cd /usr/local/src/wget https://...原创 2020-04-25 21:23:06 · 458 阅读 · 0 评论 -
MySQL常用命令总结(五)
一.mysql关于缓存mysql缓存的作用:将查询结果存在缓存里,如果下次查询的sql语句完全一样,则直接返回缓存里的结果。缓存适用于经常不被更新的数据。查看当前mysql缓存情况:mysql> show variables like '%query_cache%';+------------------------------+---------+| Variable_nam...原创 2020-04-03 11:23:52 · 181 阅读 · 0 评论 -
MySQL常用命令总结(四)
多表查询1.交叉连接:cross join有两张表:mysql> select * from tt2;+----+------------+-----+--------+| id | name | age | gender |+----+------------+-----+--------+| 0 | 1234567891 | 10 | F || ...原创 2020-03-25 17:38:17 · 143 阅读 · 0 评论 -
MySQL常用命令总结(三)
一.增-insert插入一条数据insert into tt2(id,name) values(18,'zhangsan');同时插入多条insert into tt2(id,name) values(20,'lisi'),(22,'ligen');也可以不指定字符串,默认就是全部字段insert into tt2 values(21,'wuxia');还可以用set插入:i...原创 2020-03-25 15:34:15 · 205 阅读 · 0 评论 -
MySQL常用命令总结(二)
表管理语句1.查看表查看所有表show tables;查看表的概要show table status\G;查看某张表的概要show table status like 't1' \G;查看某张表的结构desc t1;查看创建表时的sql语句show create table t1;2.创建表简单的创建create table t2(id int(5),name...原创 2020-03-24 21:44:02 · 198 阅读 · 0 评论 -
MySQL常用命令总结(一)
一.关于全局变量和会话变量全局变量:global variables,作用域为整个mysql服务器。会话变量:session variables,作用域为当前会话。查看全部全局变量:show global variables \G;查看全部会话变量:show session variables \G;查找具体的变量和对应的值://全局变量show global variabl...原创 2020-03-24 17:30:30 · 309 阅读 · 0 评论 -
iptables扩展模块
扩展模块一:multiport作用:可以指定多个离散的源端口或者目标端口,也可以指定连续的端口//离散的iptables -I INPUT -s 192.168.247.170 -p tcp -m multiport --dports 22,36,80 -j DROP80到88端口,这个功能tcp模块也能实现连续的iptables -A INPUT -s 192.168.247.170...原创 2020-03-18 15:37:22 · 1072 阅读 · 0 评论 -
nginx之限速
针对一些恶意访问或者网络中攻击,nging可以在三方面对访问做限制:同一个ip的并发量同一个ip的下载速度同一个ip限制请求数要用到两个nginx模块来实现这些功能:ngx_http_limit_conn_module和ngx_http_limit_req_module限制同一个ip的并发量://全局配置http中添加limit_conn_zone $binary_remote_ad...原创 2020-03-17 14:34:12 · 502 阅读 · 0 评论 -
nginx proxy之buffering和cache
proxy_bufferproxy buffering的作用主要是实现被代理服务器和客户端的请求异步。比如说客户端A,代理服务器B,被代理服务器C,当A请求数据之后,C反馈的数据先到B的buffer上,然后B再根据buffer的设置来决定什么时候再把数据传给A。简单来说设置buffering就像快递员可以累计一定数量再送快递,不用来一个发一个。这种设置再并发量非常大的时候,可以节省cpu等服务器...原创 2020-03-16 15:49:14 · 851 阅读 · 0 评论 -
ansible常用模块知识汇总(二)
文章相关知识:ansible常用模块知识汇总(一)模块一:find模块作用:查找文件、目录常用参数:paths:必要参数,指定在哪个目录查找。可以指定多个路径,用逗号隔开。也可以使用pathpatterns:指定要查找的文件名,默认是文件类型,目录需要用参数指定。支持通配符,如果需要用python的正则去匹配的话,需要使用参数use_regex参数contains:根据文本的内容进行...原创 2020-03-14 14:51:46 · 267 阅读 · 0 评论 -
ansible常用模块知识汇总(一)
所有的模块都可以使用下面的命令查看参数:ansible-doc -s 模块名 //查询某个模块的参数ansible-doc -l //查看所有模块模块一:pingping模块用来检测主机群是否存活,连通。要用的参数比较少,常用的使用:ansible test -m ping -uroot//也可以不用-u指定用户模块二:fetch作用:从远端主机群拉去一个文件使用该模...原创 2020-03-13 20:50:33 · 482 阅读 · 0 评论 -
ansible自动化安装jdk+tomcat并且发布站点
环境准备本机上已经成功安装好了jdk+tomcat,才有模板让其他几十台机器安装成功。jdk安装目录: /usr/local/jdk1.8/tomcat安装目录:/usr/local/tomcat/环境变量配置文件:/etc/profile开始一.创建用于ansible安装jdk+tomcat的目录:mkdir jdk_tomcat_installcd jdk_tomcat_ins...原创 2020-03-12 21:56:24 · 456 阅读 · 0 评论 -
zabbix4.4+Grafana6.2实现监控的项目数据更加清晰直观
安装配置zabbix4.44.4之前的版本安装和使用可以看:zabbix监控zabbix监控nginxzabbix监控tomcatzabbux4.4最新版已经支持nginx,可以不用httpd代理nginx了。环境说明:一台服务器,zabbix监控它本身,监控几台的看上面的文章#安装zabbix yum包 rpm -Uvh https://repo.zabbix.com/zabb...原创 2020-03-06 20:04:44 · 1009 阅读 · 0 评论 -
mysql-proxy实现读写分离
mysql-proxy实现读写分离的前提是已经做好了mysql主从。环境说明:192.168.247.180 master192.168.247.160 slave192.168.247.192 mysq-proxy调度机客户端(测试):192.168.247.170系统:centos7mysql5.6安装mysql-proxymysql-proxy下载地址:mysql-prox...原创 2020-03-02 11:01:13 · 210 阅读 · 0 评论 -
mycat配置文件详解
相关配置文件说明配置文件目录conf说明:server.xml:mycat的配置文件,设置账号、参数等schema.xml:mycat对应的物理数据库和数据库表的配置rule.xml:分库分表规则配置log4j2.xmlmycat默认端口8066常见的系统参数配置还有:1.server.xml配置文件说明:标签一.system:用于配置mycat系统参数,其中常见的系统参数...原创 2020-03-01 15:15:35 · 614 阅读 · 0 评论 -
mycat介绍和安装
1.什么是mycat?对于架构师来说,mycat是一个数据库中间件,可以用作读写分离,分库本表以及容灾备份等。对于使用mycat的应用来说,mycat隐藏了数据库的存储逻辑,相当于nginx的负载均衡,作为一个连接的入口。2.mycat的主要作用作为分布式数据库中间件使用实现数据库集群的读写分离和负载均衡实现数据库的高可用(只针对一主一从)对业务数据库进行垂直切分(表结构不同)对业务...原创 2020-03-01 13:13:54 · 235 阅读 · 0 评论