自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 问答 (1)
  • 收藏
  • 关注

原创 systemd服务日志重定向到文件

append:path 和 file:path 的区别,前者以追加的模式写入日志,在文件末尾写入;后者在文件开头写入,并不会清空已有内容。StandardOutput 和 StandardError,用于重定向标准输出和标准错误输出。

2023-10-08 16:15:07 849

原创 elasticsearch6.7开启鉴权

elasticsearch basic版默认x-pack模块security特性不可用,需要申请试用获得授权才可以试用security特性

2023-05-30 20:04:07 374

原创 nginx proxy_pass 代理转发请求时修改url路径

nginx代理,向后转发请求时修改请求路径

2023-02-27 22:53:00 1657

原创 利用&将命令抛到后台,秒删批量错误状态的pod

kubectl 删pod

2023-02-22 19:33:01 189

原创 sed 使用正则表达式分组替换--保留部分匹配内容

正则表达式使用圆括号分组,在sed中,使用形如\1取分组1的匹配值Linux:sed -ir "s/([a-zA-Z0-9]+)_[a-z0-9]{32}/\1/g" targetFile.txtMac:sed -i '' -E "s/([a-zA-Z0-9]+)_[a-z0-9]{32}/\1/g" targetFile.txt

2022-05-25 15:30:58 3265 1

原创 Linux 登录欢迎信息设置(佛)

趣味

2022-05-20 14:37:07 486

原创 URL编码表

百度一下就有了https://baike.baidu.com/item/URL%E7%BC%96%E7%A0%81#2

2022-04-26 20:13:57 483

原创 HBase java API实践

HBase java API实践依赖动手实践依赖hbase选择0.94.10版本,hadoop-common选择0.22.0版本,两个依赖包版本要适配,其他版本可能存在兼容问题 <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase</artifactId> <version

2022-01-19 00:23:50 2138

原创 容器里没有ping命令怎么检查容器网络与其他pod、节点、或外部网络的连通性

经常会碰到在容器中无法使用ping、telnet等命令的情况,这种情况,可以在容器对应的network namespace下执行ping、telnet命令,只要节点上有这些命令即可:方法一(使用nsenter命令):1、获取容器pid,执行下面的命令,获取pid的值docker inspect [容器名]2、进入容器对应的network namespacensenter -n -t [容器pid]3、执行ping、telnet操作ping x.x.x.x 或者telnet x.x.x.x

2021-08-30 16:15:16 6945

原创 java 阿里云api请求签名算法实践

package com.kf.goodidea;import java.net.URLEncoder;import java.io.UnsupportedEncodingException;import java.text.SimpleDateFormat;import java.util.*;//import sun.misc.BASE64Encoder;import java.util.Base64;import javax.crypto.SecretKey;import javax

2021-07-21 11:23:50 1177 4

原创 Java base64编码算法实践

尝试实现base64编码package base64.explore;public class MyBase64 { public static void main(String[] args) { /* 大写英文字母base64字节码(0-25)加65对应其assic字节码 小写英文字母base64字节码(26-51)加71对应其assic字节码 阿拉伯数字字符base64字节码(52-61)减4对应其assic字节码

2021-07-21 00:49:29 106

原创 nginx常用配置

配置文件服务器,在web上现实目录下的文件列表相关模块 ngx_http_autoindex_module1、概述该模块处理以斜线(/)结尾的请求,并生成一个目录列表,如图:通常,当ngx_http_index_module模块找不到index文件时,请求会被传递给ngx_http_autoindex_module模块2、配置说明相关配置指令:autoindex、autoindex_exact_size、autoindex_format、autoindex_localtimeSyntax:

2021-07-02 11:48:40 398

原创 kubectl patch增加或修改环境变量

由于环境变量是map 数组,怎么给它添加元素呢,如何表达元素添加的路径呢,如下所示:kubectl patch statfulset -nxxx --type json -p '[{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{"name":"xxxxx","value":"xxxxx"}}]'参考:https://erosb.github.io/post/json-patch-vs-merge-patch/

2021-06-30 22:48:42 2684

原创 kubectl patch的增删改操作

一、增加配置addkubectl patch pod xxx -n xxxxx -p=’[{“op”:“add”,“path”:"/a/b/c",“value”:jsonObject}]’二、修改配置replacekubectl patch pod xxx -n xxxxx -p=’[{“op”:“replace”,“path”:"/a/b/c",“value”:jsonObject}]’三、删除配置removekubectl patch pod xxx -n xxxxx -p=’[{“op”:“

2021-05-29 19:30:42 4139

原创 helm chart 编排资源创建顺序

helm官方文档:https://helm.sh/docs/topics/charts_hooks/背景公司的应用使用helm发布,除了应用本身(statefulset),还定义了一个一次性任务db-init(执行数据库初始化操作),如果应用在数据库初始化完成前启动,大概率会有问题。为了解决这个问题,需要用到chart hooks特性来编排资源创建的顺序,具体操作如下:chart hooks配置实际只要对chart包templates文件下应用和一次性任务的yaml文件注入如下annotations

2021-05-29 16:37:06 4062 2

原创 kubectl patch 修改ConfigMap的文本字符串,yaml语法之| |- |+

修改ConfigMapConfigMap配置如图所示:在iaas-resource下插入新数据,在bash shell下执行如下命令,插入新数据并立即查看修改结果x=5;y=6;a="- from: $x\n to: $y"$(echo -e `kubectl get cm test123 -ojsonpath={.data.iaas-resource}`|sed -e 's/\s*- from/\\n- from/g' -e 's/ to/\\n to/g')"\n";echo $a;kube

2021-05-26 22:19:35 3319

原创 创建自签名证书

自签名证书做法1.先生成一对秘钥,把公钥做成证书 ca.keyopenssl genrsa -out ca.key 2048 生成一个 2048 位的 私钥我们可以 输出它的公钥看看 openssl rsa -in ca.key -pubout2. 生成证书CRT server.crtopenssl req -new -x509 -key ca.key -out server.crt -days 365国家 Country Name: CN省 Stat or Province Name zhe

2021-05-26 10:42:37 274

原创 brew安装

brew安装旧的ruby脚本不支持了(https://raw.githubusercontent.com/Homebrew/install/master/install)下载新脚本(bash脚本),在mac终端直接执行即可https://raw.githubusercontent.com/Homebrew/install/master/install.sh

2020-12-31 14:14:05 106

原创 iptables一次关于主机发出数据包的DNAT操作经验

还是对iptables的4表5链理解的不到位有个需求,就是在本地通过一台代理(1.1.1.1)访问它后面的服务(2.2.2.2),需要直接配置本地应用的访问地址为服务的地址,但是本地网络到服务又是无法直接通信的。于是想到用iptables规则,对发出的数据包做dnat处理,即本地应用直接访问2.2.2.2,然后将请求的目的地址通过dnat替换成1.1.1.1。先说一下成功的做法,后面再探讨一下操作的误区和一些思考。(以下操作全都在本地应用节点上进行)百度搜索 “iptables 将主机发出的目的地址改掉

2020-12-08 11:44:56 762

原创 通过ssh命令创建创建虚拟专有网络

简要记录操作步骤,欢迎咨询讨论通过主机a和主机b之间建立tunnel实现vpn通信1、检查tun模块,如果没有则执行第二步,加载tun模块lsmod |grep tun2、加载tun模块modprobe tun3、检查sshd服务配置配置文件路径/etc/ssh/sshd_config,确认以下两项配置PermitRootLogin yesPermitTunnel yes4、主机a和主机b上分别创建tun设备ip tuntap add mode tun tun65、分别配置tun设备

2020-12-07 17:11:17 239

原创 写了个检查一个C段的ip是否可以ping通的脚本

使用多线程,在linux服务器上秒出结果,主要是快,只支持一个c段之内的地址,例如python ipcheck.py 192.168.0.1 192.168.0.254#-*-coding:utf-8-*-#****************************************************************## ScriptName: ipcheck.py# Author: [email protected]# Create Date:

2020-12-07 16:51:42 400

原创 docker本地镜像元数据解析

本地镜像元数据管理的一点知识import hashlib, subprocessfrom docker import client# 定义一个类A,用来获取layer的chainId,使用bottom layer初始化实例class A(client.Image): def __init__(self, diffids): self.diffids = diffids self.id = diffids[0]# 定义一个类函数,计算layer的chain

2020-12-07 10:37:23 835

转载 tcp窗口机制

非常不错的tcp窗口机制的讲解:https://www.cnblogs.com/djiankuo/p/7019768.html

2020-11-26 14:34:47 1402

原创 ssh -J (ProxyJump)指定多主机

今天读了一下ssh的man手册,期望发现可以jump多主机跳转到目标机器的方法,果然找到了,记录如下:ssh -J “host1:port,host2:port,host3:port” root@host4多主机之间用逗号隔开,如果某个主机的sshd服务不是默认22端口,需要在IP后加***:port***(冒号和端口号)指定主机端口...

2020-09-13 13:48:53 5360 1

原创 iptables 出数据包做DNAT

!!!!!学习累,没人带好难有个需求,就是在本地通过一台代理(1.1.1.1)访问它后面的服务(2.2.2.2),需要直接配置本地应用的访问地址为服务的地址,但是本地网络到服务又是无法直接通信的。于是想到用iptables规则,对发出的数据包做dnat处理,即本地应用直接访问2.2.2.2,然后将请求的目的地址通过dnat替换成1.1.1.1。先说一下成功的做法,后面再探讨一下操作的误区和一些思考。(以下操作全都在本地应用节点上进行)百度搜索 “iptables 将主机发出的目的地址改掉” 这几个字找到

2020-09-08 16:37:57 781

原创 virtualenv创建、进入、退出“python虚拟环境”

学习好难!!!没人带好难安装virtualenvpip install virtualenv创建虚拟环境virtualenv --no-site-packages vpython-1#不带–no-site-packages参数会把第三方模块全都拷贝到虚拟环境#命令执行后会在当前目录创建vpython-1目录,虚拟环境就在这个目录下进入虚拟环境source vpython-1/bin/activate退出虚拟环境deactivate有个问题,怎么查找已经创建的虚拟环境,是不是一般虚

2020-09-04 20:32:16 2118 3

原创 python实现阿里云Signature签名计算

以前工作中写脚本访问阿里云的资源时,都是通过调用系统命令(调用CLI工具)的方式,这次尝试通过http请求来实现想要的操作。本次实现中遇到的问题 1、想api发送请求是总是返回报错:The specified pamareter Version is not valid,从报错上看是参数中设置的Version的值有问题,但反复核实请求中带的Version并没有问题。 解决方法:如果你遇到同样的问题,估计跟我一样,在向api发送请求是也是以调用系统命令curl的方式来实现的,这里要把请求的url用引号引

2020-06-17 16:18:45 2807

原创 docker storages notes

docker存储一、docker存储分类1、volumesnamed volumeanonymous volume2、bind mounts3、tmpfs mounts一、docker存储分类1、volumes本地文件系统/var/lib/docker/volumes目录下的存储空间,由docker管理,非docker进程不应该修改该空间的内容,docker容器持久化数据存储的最佳方式na...

2020-06-17 13:23:51 103

原创 openstack制作镜像的方法

一、使用vm的磁盘文件制作自定义镜像vm所在节点/var/lib/nova/instances/{instanceid}/目录下,disk就是该vm的磁盘文件,qemu-img convert -c -O qcow2 disk centos-7.qcow

2020-03-12 13:37:19 400

原创 macOS访问docker的宿主vm

访问vm:screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty退出vm:ctl+a d

2019-12-10 18:00:03 495 4

原创 mysql操作恢复

mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS --start-datetime=“2019-04-18 02:09:52” --stop-datetime=‘2019-04-18 02:09:53’ /var/lib/mysql/mysql-bin.000006根据时间段筛选找到相关的操作的点,可以看到操作之前的数据...

2019-11-01 10:27:09 92

原创 给自己的脚本或工具添加自动补全参数选项的功能

为了完成这个需求,我们首先需要了解两个命令(compgen | complete)和两个系统参数(COMP_CWORD | COMP_WORDS | COMPREPLY)1、先介绍一下上面两个参数比如执行一条命令:mycmd opt1 opt2 opt3COMP_WORDS 是由上面命令中的元素组成的字符串数组,即COMP_WORDS=(mycmd opt1 opt2 opt3) ...

2019-10-30 20:42:35 1524

原创 Python正则表达式笔记

特殊字符:\w 表示所有的word character,什么是word character呢,即引文字符和阿拉伯数字字符以及下划线,等价于[0-9a-zA-Z_]\W 表示所有的非word character,等价于 [^0-9a-zA-Z_]\b 表示字符串的开头或结尾为非word character,可以认为是word character字符与非word character字符的分割...

2019-09-05 18:26:36 112

原创 python正则表达式判断字符串是否为IP

p = re.compile(’’^(2[0-4][0-9].|25[0-5].|[01]{,1}[0-9]{1,2}.){3}(‘2[0-4][0-9]|25[0-5]|[01]{,1}[0-9]{1,2}’)$’’)

2019-05-27 09:32:20 1653

原创 python 类变量、实例变量和局部变量

python类的变量类型分为:类变量、实例变量(也叫它成员变量)、局部变量举个栗子:class Test: var01 = "我是类变量" def __init__(self): var02 = "我是实例变量" def myfunction(self): var03 = "我是局部变量" print(var03)print(Test.var01)t ...

2019-05-23 22:03:41 983 3

原创 python之urllib2的用法

urllib2定义的函数:1、urllib2.urlopen(url[, data[, timeout[, cafile[, capath[, cadefault[, context]]]]])用来发送request请求,现在我只用到了前两个参数,后边几个参数后面慢慢了解以后再来谈论1.1 使用urllib2.urlopen(url) 向web服务提交GET请求1.2 使用urlib2.u...

2019-05-22 19:11:22 771

原创 HTTP 400错误

400 是 HTTP 的状态码,主要有两种形式:1、bad request 意思是 “错误的请求”;2、invalid hostname 意思是 “不存在的域名”。400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。在 ajax 请求后台数据时比较常见。产生 HTTP 400 错误的原因...

2019-05-21 12:03:28 1430

转载 CentOS7安装python3.7.3 遇到的问题

CentOS7 编译安装python3.7.3 需要安装gcc、zlib*、sudo yum -y install libffi-develyum install -y gcc zlib* libffi-devel以下内容转自 “瞎猫碰死耗子” :https://blog.csdn.net/oZhengTuoJiaSuo/article/details/82427076CentO...

2019-05-18 15:31:20 450

转载 JAVA断言assert

断言:也就是所谓的assertion,是jdk1.4后加入的新功能。它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。当软件正式发布后,可以取消断言部分的代码。java中使用assert作为断言的一个关键字,这就可以看出java对断言还是很重视的,因为如果不是很重要的话,直接开发个类就可以了,没必要新定义一个关键字。语法1...

2019-02-18 10:14:03 115

原创 PFsense开启WAN口访问,设置端口映射

注意:请使用360浏览器兼容模式访问http页面(pfsense版本2.4.4),如果是使用https访问pfsense的web页面,急速模式和兼容模式均可。在实验中使用了pfsense防火墙软件做路由器,需要做端口映射,操作记录如下:PFsense默认开启防火墙,并不允许通过wan口访问路由器,wan口无法ping通。1、首先允许wan访问进入 Firewall-&gt;Rules-&g...

2019-01-25 14:17:00 11531 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除