自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 golang微服务之注册与发现(zookeeper,etcd,consul)

golang微服务之注册与发现,zookeeper,etcd,consul,接口化,屏蔽底层实现

2022-04-07 21:28:24 2358

原创 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 687

原创 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 2053 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 394

原创 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 4399

原创 k8s kubectl 命令合集

本合集仅做个人记录、持续更新命令一、kubectl 命令查看详细连接请求,参数等信息 “-v 参数” kubectl get node -v 8(9)命令二、查看node资源,pod资源使用情况(需要heapster支持)kubectl top node/pod...

2019-09-08 11:14:12 265

原创 kubernetes Pod驱逐机制

在kubernetes里,pod的驱逐机制分为kubelet驱逐(被动驱逐)和主动驱逐两种。kubelet驱逐在node节点的资源紧缺的条件下,kubelet为了保证node节点的稳定性,回触发主动驱逐pod的机制,流程如下注意:流程图根据个人理解所画,如有错误之处,烦请指出。如果kubelet无法通过节点级别的资源回收获取足够的资源,就会开始驱逐用户的Pod,kubelet会按照下面的...

2019-07-20 14:57:40 9610 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 3880

原创 linux 开发基础篇(性能分析)

摘要:在日常开发、测试或者运维,都需要关注系统或者进程的性能,运行状态等问题,既然是性能的问题就离不开内存、CPU、I/O。所以本篇文章主要讲述如何查看整个系统、单个进程、线程的cpu、内存使用,进程的端口号,进程在哪个cpu核上运行, I/O详情。整篇文章还是老规矩。直接结合场景分析命令,关于这个命令,建议看完之后在Linux环境下用man 或者 --help详细看一遍这里不会去列出命令后的...

2019-05-15 17:30:41 125

原创 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 135

原创 浅析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 9856 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 255

原创 python 操作目录文件合集

python 操作目录文件合集持续更新中…一、查询目录下的所有文件import osfiles = os.listdir(path)# 返回path下的内容,由文件名(文件夹名)组成的list,不包括.和..二、判断目录/文件是否存在importos.path.exists(path)# 存在则返回True,否则False三、创建文件夹import osos.mkdir...

2019-02-25 18:58:40 241

原创 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 197

原创 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 2439

原创 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 8205

原创 永久解决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 779

原创 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 24619 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 2746

原创 ceilometer + gnocchi 获取数据

ceilometer 数据采集环境:ocata 先看下面这张结构图: 图片来源于官网 这里划分了四大块,一块是数据采集ceilometer, 一个是数据的存储gnocchi,另一个是事件的存储panko,最后一个是告警服务aodh,分工很明确,下面来了解一下ceilometer + gnocchi的组合。 安装请看这篇文章。 下面讲解一下怎么取得我们想要的数据。 ...

2018-05-26 12:44:19 2943 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 3506

原创 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 2481

原创 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 2373

原创 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 3992

原创 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 3635 2

原创 openstack neutron网络模块分析(五)--- 扩展数据库

openstack几乎每个模块都有版本的定义,neutron也不例外 neutron的版本定义目录就在 /neutron/db/migration/alembic_migrations/version/ocata/expand下 可以看到下面的文件都是前面一段数据加字幕组成的id后面就是自定义的文件名,所以这个文件名不能像nova那样安装顺利添加,只能用命令生成 neutron...

2018-05-12 10:38:07 1884

转载 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 796

转载 openstack-nova-创建云主机代码分析

原博客:https://blog.csdn.net/u014022631/article/details/52530212Nova API的实现,以创建云主机过程分析首先我们要清楚,为nova添加一个新的api是很简单的,因为上面的那一套HTTP请求不需要我们管,只是照着来写就行了, 主要是你的api内的自己的逻辑;所有的api文件都是放在目录’nova/api/openstack/...

2018-04-26 20:09:08 1658

原创 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 8184

原创 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 2471 5

原创 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 868

原创 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 6594

原创 文件夹拷贝,判断,生成当前用户权限的文件夹

使用到的API: CreateDirectory:创建目录 FindFirstFile,FindNextFile 查找文件 RemoveDirectory:删除空目录 GetFileAttributes:获取文件属性 CreateSymbolicLink:创建符号链接 GetDriveType:获取盘符 SHFileOperation:拷贝文件拷贝文件夹有两种方案,一种是通过SHFil

2017-09-23 11:07:20 466

原创 MFC listctrl列表右键复制菜单, 复制剪切板

MFC 列表右键复制,CTRL+C复制

2017-01-16 10:53:06 3674

原创 MFC 列表文件操作

一 、在一个按键中触发另一个按键:void CMainPage_1_1::OnBnClickedButton2(){ //TODO: OnBnClickedButton1();}二、列表拖动文件,显示文件内容 1 先设置住对话框的属性:Accept File 修改为 True。 2 右键类向导(class wizard),选择消息,找到WM_DROPFILES,双击将其移至右边,编辑代码

2017-01-13 16:40:08 1481

原创 python logging模块按日期打印日志,并删除过期的日志

python打印按日期日志文件,删除过期的日志文件,同时向terminal和文件输出,只输出到文件

2016-11-21 19:59:07 27375 2

原创 WebBench测试源码解析

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接:https://github.com/LippiOuYang/WebBenchlWebBench.c是主要的实现文

2016-10-15 13:59:21 389

转载 linux信号机制之sigaction结构体浅析,signal 函数,信号捕捉(转)

linux信号机制之sigaction结构体浅析,signal 函数,信号捕捉

2016-10-13 15:28:26 443

原创 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 3097

C程序设计语言

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书原著即为C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World'程序就是由本书首次引入的,现在,这一程序已经成为众多程序设计语言入门的第一课。, 原著第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。对于计算机从业人员来说,《C程序设计语言》是一本必读的程序设计语 言方面的参考书。

2016-10-15

]Python基础教程(第2版)

]Python基础教程(第2版)

2016-10-13

空空如也

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

TA关注的人

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