- 博客(39)
- 资源 (3)
- 收藏
- 关注
原创 golang微服务之注册与发现(zookeeper,etcd,consul)
golang微服务之注册与发现,zookeeper,etcd,consul,接口化,屏蔽底层实现
2022-04-07 21:28:24
2601
原创 k8s namespace菜单式切换工具kubens
废话不多说,直接入主题背景众所周知,k8s的资源是分namespace的,所以当我们想要查看某个namespace的pod时,就要输入以下的命令kubectl get pod -n namespace而当我们又需要查看deployment,service等资源时,又要加上对应的-n namespace。为什么每次都要加入-n参数? 因为当我们使用kubectl去操作k8s时,默认default,那么有没有可以一键切换namespace的命令呢?很遗憾,原生并没有这样的命令,但是,k8s是有co
2021-09-09 23:04:49
796
原创 Django Rest framework 接收xml,yaml等格式请求
Django Rest framework 接收text/xml,yaml等格式请求request 请求Accept请求头acceptaccept: image/webp,image/apng,image/*,*/*;q=0.8accept 表示我当前的请求希望接受什么类型的文件,这是请求首部,当服务器没有客户端想要的资源的媒体类型时,会返回406 Not Acceptable 响应。当...
2020-03-21 21:49:58
2288
1
原创 nigix http转https
网站http转httpsssl证书域名证书有分单域名证书和泛域名证书单域名:a.xxx.com b.xxx.com 这里就需要两个单域名证书去认证泛域名:*.xxx.com 只要是xxx.com的域名都可以用同一个泛域名证书去认证生成证书方法一:购买,可以向各大云服务商购买方法二:自建(openssl和certboot,网上教程很多,这里就不做说明)openssl:(使用open...
2020-03-02 21:24:18
436
原创 golang 操作ini、conf、yaml方法总结
golang 操作ini、yaml、toml在使用开发过程中,会经常需要对配置文件做操作,目前主流的配置文件有 .ini、.yaml(yml)、.toml格式,本文收集一些用得较多的包做一个总汇记录。一、操作ini文件方法一使用https://github.com/go-ini/ini 包来操作ini文件安装go get gopkg.in/ini.v1接口简单介绍//加载文件...
2019-10-20 01:01:24
4563
原创 k8s kubectl 命令合集
本合集仅做个人记录、持续更新命令一、kubectl 命令查看详细连接请求,参数等信息 “-v 参数” kubectl get node -v 8(9)命令二、查看node资源,pod资源使用情况(需要heapster支持)kubectl top node/pod...
2019-09-08 11:14:12
314
原创 kubernetes Pod驱逐机制
在kubernetes里,pod的驱逐机制分为kubelet驱逐(被动驱逐)和主动驱逐两种。kubelet驱逐在node节点的资源紧缺的条件下,kubelet为了保证node节点的稳定性,回触发主动驱逐pod的机制,流程如下注意:流程图根据个人理解所画,如有错误之处,烦请指出。如果kubelet无法通过节点级别的资源回收获取足够的资源,就会开始驱逐用户的Pod,kubelet会按照下面的...
2019-07-20 14:57:40
9762
1
原创 python 使用os.popen运行Linux命令权限问题
问题:用命令例如“kubectl get pods”(或其它命令)获取一些资源时,能正常输出。然而在python中使用os.popen(如下代码),会出现几种问题# demo.pyimport oscmd = "kubectl get pods"os.popen(cmd).read()问题一: 出现err you must be logged in to the server una...
2019-06-24 20:08:50
4068
原创 linux 开发基础篇(性能分析)
摘要:在日常开发、测试或者运维,都需要关注系统或者进程的性能,运行状态等问题,既然是性能的问题就离不开内存、CPU、I/O。所以本篇文章主要讲述如何查看整个系统、单个进程、线程的cpu、内存使用,进程的端口号,进程在哪个cpu核上运行, I/O详情。整篇文章还是老规矩。直接结合场景分析命令,关于这个命令,建议看完之后在Linux环境下用man 或者 --help详细看一遍这里不会去列出命令后的...
2019-05-15 17:30:41
164
原创 python 基础
这篇文章主要是个人笔记,对python一些基础知识做记录1:range 和 xrange的区别range用法:range(start, end, step = 1)说明:取值区间[start, end), 间隔为step返回:list列表,遍历得时候需要在内存中创建整个list表对象# intput:import sysr = range(5) # 相当于range(0, 5, 1...
2019-04-15 23:30:03
172
原创 浅析Linux namespace
环境背景Linux版本:linux-4.10.5Linux namespace 作用:Linux Namespace是一种Linux Kernel提供的资源隔离方案,提供Pid,Network,Ipc,Uts,Mount等资源的隔离,每个Namespace下的这些资源对于其他Namespace是不可见的作用对象:进程分析对Linux namespace的分析会结合一些简单的源码做一些分...
2019-04-15 00:50:34
10019
1
原创 nginx学习笔记一(Linux内核参数延申)
这篇文章最要是在阅读《深入理解niginx模块开发与架构解析》书时,一些个人笔记与一些内容得延申。主要内容:Linux内核参数书本内容:在阅读第一章时,提及到Linux搭建nginx做为高性能web服务器时,需要对Linux内核做一些调优,分别是以下的内核参数fs.file--max = 999999net.ipv4.tcp_te_reuse = 1net.ipv4.tcp_keepal...
2019-04-08 11:01:16
299
原创 python 操作目录文件合集
python 操作目录文件合集持续更新中…一、查询目录下的所有文件import osfiles = os.listdir(path)# 返回path下的内容,由文件名(文件夹名)组成的list,不包括.和..二、判断目录/文件是否存在importos.path.exists(path)# 存在则返回True,否则False三、创建文件夹import osos.mkdir...
2019-02-25 18:58:40
273
原创 linux 开发基础篇(解压缩命令)
linux 命令合集循环执行while : ;do <command>; done;示例定时循环while : ;do ls -l; sleep 1; done;指定执行次数cnt=0; while (($cnt < 5)) ;do ls -l; sleep 1;((cnt=$cnt+1)); done; 也可以去掉sleep打包压缩注意:打包和压缩严...
2018-11-01 14:21:50
231
原创 nova-compute 服务出现Unsupported VIF type binding_failed convert '_nova_to_osvif_vif_binding_failed错误
nova-compute 服务出现Unsupported VIF type binding_failed convert '_nova_to_osvif_vif_binding_failed错误问题出现在一次重启nova-compute服务中,发现服务一直处于不断重启中, 日志不断出现以下的错误:定位问题看了一会,并不能看出什么问题,以前从未遇到过。于是深入代码找问题。先直接到最后报错...
2018-10-31 18:47:41
2645
原创 python 运行shell命令的几种方法(os.system、os.popen、subprocess、commands)
1、os.system该函数返回命令执行结果的返回值,并不是返回命令的执行输出,system()函数在执行过程中进行了以下三步操作: 1.fork一个子进程; 2.在子进程中调用exec函数去执行命令; 3.在父进程中调用wait(阻塞)去等待子进程结束。对于fork失败,system()函数返回-1。 ****用法示例>>> os.system('ls -a')...
2018-09-28 10:14:21
8729
原创 永久解决python中文编码问题
方案: 在python的LIB\site-packages文件夹下新建一个sitecustomize.py的文件内容:#codeing=utf8import sysreload(sys)sys.setdefaultencoding('utf8')重启python解释器,就能发现编码已经被设置为utf8le原理: 因为sitecustomize.py 是在 site.py ...
2018-08-03 18:07:19
828
原创 python 操作配置文件ini的三种方法
python 操作配置文件ini的三种方法方法一:crudini 命令说明crudini命令是Linux下的一个操作配置文件的命令工具 用法crudini --set [--existing] config_file section [param] [value] # 修改配置文件内容crudini --get [--format=sh|ini] config_file [...
2018-06-13 19:44:05
24819
1
原创 openstack--aodh告警代码分析
AODH 代码分析版本:aodh-4.0.3 前序aodh是有ceilometer分离出来的组件,主要功能是提供资源告警功能,支持log,webhook等方式告警。下面的分析建议先运行aodh alarm create -h 了解创建时有哪几种类型,哪几种字段。这里会有另一篇文章翻译分析。组成aodh有四大块组成 evaluator:告警条件触发计算模块 n...
2018-06-09 14:36:07
2879
原创 ceilometer + gnocchi 获取数据
ceilometer 数据采集环境:ocata 先看下面这张结构图: 图片来源于官网 这里划分了四大块,一块是数据采集ceilometer, 一个是数据的存储gnocchi,另一个是事件的存储panko,最后一个是告警服务aodh,分工很明确,下面来了解一下ceilometer + gnocchi的组合。 安装请看这篇文章。 下面讲解一下怎么取得我们想要的数据。 ...
2018-05-26 12:44:19
3042
2
原创 ceilometer+gnocchi 安装
ceilometer 和 gnocchi 安装ceilometer 安装:https://docs.openstack.org/project-install-guide/telemetry/ocata/install-base-rdo.html 这里分控制节点,和计算节点,注意分清安装步骤 这两安装官网安装就行,一下步骤与官网一致,建议先看官网步骤一 安装配置ceilomete...
2018-05-25 19:03:17
3604
原创 openstack neutron网络模块分析(三)--- 新增plugin
neutron添加Plugin从前几篇的文章中我可以知道neutron plugin分core plugin和service plugin两种,而core plugin来说我们一般不添加,大部分都是添加service plugin,所以,这篇文章主要讲述怎么添加一个service pluginservice plugin代码目录:/neutron/services 在上面的目录下...
2018-05-23 19:18:52
2608
原创 openstack neutron网络模块分析(二)--- APIRouter
neutron APIRouter分析与新增plugin这篇文章主要分析的几个点: 一、 APIRouter究竟是如何将client端发来的http请求路由到指定的资源controller 二、 Plugin和extension的创建过程 APIRouter代码目录:/neutron/api/v2/router.py class APIRouter(base_wsg...
2018-05-21 12:41:59
2516
原创 openstack neutron网络模块分析(一)---- neutron-server启动
neutron-server 启动流程预备知识:WSGI:一个可以在python web服务中可以广泛使用的API PASTE:Paste Deployment用于发现和配置WSGI Application和Server,有了Paste Deployment,WSGI applications只需向其用户提供一个单独的入口loadapp函数,然后用户调用这个函数 就可以使用已经...
2018-05-17 12:47:36
4140
原创 openstack neutron网络模块分析(四)--- 添加extension
neutron 添加extension环境: ocata版本 neutron-10.0.5 python-neutronclient-6.1.1 horizon-11.0.4主要讲述如何在ocata版本的openstack网络模块neutron中添加extension。 流程图 先看一张从dashboard到neutron相应组件ap...
2018-05-12 10:46:24
3780
原创 openstack neutron网络模块分析(五)--- 扩展数据库
openstack几乎每个模块都有版本的定义,neutron也不例外 neutron的版本定义目录就在 /neutron/db/migration/alembic_migrations/version/ocata/expand下 可以看到下面的文件都是前面一段数据加字幕组成的id后面就是自定义的文件名,所以这个文件名不能像nova那样安装顺利添加,只能用命令生成 neutron...
2018-05-12 10:38:07
1945
转载 CentOS 7 调整 home分区 扩大 root分区
原文地址: 总体过程: 把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home ,恢复/home内容1.查看分区 df -h2.备份home分区文件 tar cvf /tmp/home.tar /home3.卸载/home,如果无法卸载,先终止使用/home文件系统的进程 fuser -km /home/ ...
2018-04-27 10:20:58
827
转载 openstack-nova-创建云主机代码分析
原博客:https://blog.youkuaiyun.com/u014022631/article/details/52530212Nova API的实现,以创建云主机过程分析首先我们要清楚,为nova添加一个新的api是很简单的,因为上面的那一套HTTP请求不需要我们管,只是照着来写就行了, 主要是你的api内的自己的逻辑;所有的api文件都是放在目录’nova/api/openstack/...
2018-04-26 20:09:08
1826
原创 Error: No valid host was found.
使用openstack创建虚拟机经常会遇到以下的这个错误 Error: No valid host was found. There are not enough hosts available. 从字面意思就可以看出是无法找到可用的host的资源来创建虚拟机。再深一层的分析就是为什么会无法找到host主机呢? 原因有多种,有可能是计算节点down了,但这个原因相信大家都能轻易的分析出来...
2018-04-26 20:04:33
8515
原创 openstack neutron网络模块分析(六)--- 利用neutron-metering-agent 监控l3层流量
openstack的信息监控都是通过ceilometer来获取,而在基本的组件中没有将l3层流量的数据push到message中,需要额外安装openstack-neutron-metering-agent来完成这个功能 然后 ceilometer-agent-notification 通过监听消息队列来收取bandwidth信息。 neutron-metering-agent使用的是ipta...
2018-04-21 11:30:58
2565
3
原创 Linux 邮件发送 sendmail mail mutt
sandmail 是Linux下自带的工具1.sendmail mail的安装centos 下使用查看是否已经安装 rpm -qa | grep sendmail或者直接使用 sendmail -h没有则使用命令安装(centos) yum -y install sendmail安装mailx yum -y install mailx...
2018-04-12 11:13:01
928
原创 openstack 制作windows镜像,创建windows虚拟机,虚拟机添加virt-io驱动
如果想要dashboard上创建一个Windows的虚拟机,就要有一个Windows的镜像,而Windows的虚拟机里需要virtio作为网卡驱动。所以需要下载virtio-win iso准备: opentack环境下 1:一个Windows系统的iso镜像 2:wirtio-win iso 官方下载地址https://docs.fedoraproject.org/quick-docs/...
2018-03-31 15:07:11
6824
原创 文件夹拷贝,判断,生成当前用户权限的文件夹
使用到的API: CreateDirectory:创建目录 FindFirstFile,FindNextFile 查找文件 RemoveDirectory:删除空目录 GetFileAttributes:获取文件属性 CreateSymbolicLink:创建符号链接 GetDriveType:获取盘符 SHFileOperation:拷贝文件拷贝文件夹有两种方案,一种是通过SHFil
2017-09-23 11:07:20
515
原创 MFC 列表文件操作
一 、在一个按键中触发另一个按键:void CMainPage_1_1::OnBnClickedButton2(){ //TODO: OnBnClickedButton1();}二、列表拖动文件,显示文件内容 1 先设置住对话框的属性:Accept File 修改为 True。 2 右键类向导(class wizard),选择消息,找到WM_DROPFILES,双击将其移至右边,编辑代码
2017-01-13 16:40:08
1584
原创 python logging模块按日期打印日志,并删除过期的日志
python打印按日期日志文件,删除过期的日志文件,同时向terminal和文件输出,只输出到文件
2016-11-21 19:59:07
27625
1
原创 WebBench测试源码解析
Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接:https://github.com/LippiOuYang/WebBenchlWebBench.c是主要的实现文
2016-10-15 13:59:21
428
转载 linux信号机制之sigaction结构体浅析,signal 函数,信号捕捉(转)
linux信号机制之sigaction结构体浅析,signal 函数,信号捕捉
2016-10-13 15:28:26
481
原创 snort--byte_test,byte_jump用法
byte_test byte_jump 用法详解byte_test:测试一个字节的域为特定的值。能够测试二进制值或者把字节字符串转换成二进制后再测试。格式:byte_test:,,,[[relative],[big],[little],[string],[hex],[dec],[oct]]bytes_to_convert 从数据包取得的字节数。operator 对检测执行的...
2016-03-31 23:13:02
3259
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人