自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 收藏
  • 关注

原创 配置化管理公有云资源工具-Terraform CLI

terraform:官方介绍:Terraform是作为代码软件工具的开源基础结构,可提供一致的CLI工作流来管理数百个云服务。Terraform将云API编码为声明性配置文件安装:下载地址https://www.terraform.io/downloads.html选择linux 64进行下载:安装: 直接解压zip包,将解压后文件放入/url/local/bin/目录下:unzip terraform_0.13.5_linux_amd64.zipmv terraform /url/loca

2021-04-28 22:16:09 590

原创 kubernetes源码分析-ReplicaSet简要分析

在deployment分析中我们可以看到deployment创建,更新等操作最终调用的是ReplicaSetsfunc (dc *DeploymentController) scaleReplicaSet(rs *apps.ReplicaSet, newScale int32, deployment *apps.Deployment, scalingOperation string) (bool, *apps.ReplicaSet, error) { sizeNeedsUpdate := *(rs.S

2021-03-19 21:50:06 470

原创 kubernetes源码分析-deployment分析

deployemt启动注册:​ cmd/kube-controller-manager/app/controllermanager.gofunc NewControllerInitializers(loopMode ControllerLoopMode) map[string]InitFunc { ..... controllers["deployment"] = startDeploymentController ....}func startDeploymentController(.

2021-03-17 21:21:16 681

原创 kubernetes源码分析controller-manager启动

kube controller manager 代码分析1.目录: cmd/kube-controller-manager2.main函数定义在cmd/kube-controller-manager/controller-manager.gofunc main() { rand.Seed(time.Now().UnixNano()) command := app.NewControllerManagerCommand() // TODO: once we switch everything

2021-03-17 21:19:38 622

原创 kubernetes源码分析-基础命令库cobra

cobra 是go语言创建命令很好的一个工具, cobra 是由 spf13 写的 golang 库,地址: https://github.com/spf13/cobrak8s cmd是基于cobra的例如 cmd/kube-controller-manager/app/controllermanager.go NewControllerManagerCommand定义如下: cmd := &cobra.Command{ Use: "kube-controller-manager",

2021-03-17 21:17:29 367

原创 kubnernet源码目录结构

k8s源码地址:https://github.com/kubernetes/kubernetes如图:k8s的组件:kubectl k8s CLI 工具client-go API接口, k8s系统其他组件与k8s api service的通信也是使用的client-gokube-apiserver api服务manager 管理控制器, 包含pod, rc, deployment, namspece, serviceaccount等scheduler调度

2021-03-17 21:15:17 214

原创 go mod使用及goland配置

一.依赖包管理python有pip方便第三方包管理,java拥有maven管理。go在旧版本中可以使用go get 命令获取第三方包, 但是偶尔第三方也存在依赖,这样包管理不是很方便在go 1.12版本后,增加了go mod 来进行依赖包管理, 方便了许多,因此建议使用1.12以上版本(可自行到官网下载)查看版本> go versiongo version go1.13.9 windows/amd64>go modGo mod provides access to opera

2020-09-21 22:32:02 8731 1

原创 linux crash内核故障分析工具

kdump一般与crash工具联合使用,以便在故障发生的时候,进行问题追踪配置kdump:yum install kexec-tools修改grub:GRUB_CMDLINE_LINUX 中添加crashkernel=auto#vim /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 conso...

2020-04-26 22:28:32 3619

原创 kafka常用命令

添加环境变量:vi ~/.bash_profilePATH=$PATH:$HOME/bin:/app/kafka_2.11-2.2.0/binexport PATHkafka在bin目录下提供的一些工具:kafka-acls.sh kafka-preferred-replica-election.shkafka-broker-api-v...

2020-03-18 18:25:17 416

原创 快速了解serverless

serverless 无服务器计算架构,是云计算时代的一种革命性架构模式, 可以看做下一代计算资源架构serverless概念主要思想就是无需用户关注支撑应用服务的底层主机资源服务,因此用户在一定程度上不能设置后端地具体资源配置文件,所需要的资源数量由平台动态进行调度, 简单的说就是 ‘去基础架构’传统架构里,需要事先申请资源进行部署,在需要扩容时再申请新的资源,serverless概念里...

2020-03-17 17:06:21 285 1

原创 python使用kafka

python使用kafka1.安装包:pip install kafka或pip install python-kafka文档:https://kafka-python.readthedocs.io/en/master/usage.html2.生产者:#coding:utf-8from kafka import KafkaProducerproducer = KafkaP...

2020-03-12 17:27:36 741 1

原创 java使用kafka入门

创建一个maven项目, 名称: kafkaDemo添加依赖在pom.xml文件中: <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.11</artifactId> ...

2020-03-12 15:32:49 1920

原创 kafka概念及基本原理

kafka:作用:1.消息系统: 系统解耦,冗余存储, 流量削峰, 缓冲,异步通信,扩展性,可恢复性2.存储系统 将消息持久化到磁盘3.流式处理平台高吞吐,低延时kafka本质上每次写入操作其实都是把数据写入到操作系统的页缓存中, 然后操作系统将页缓存中的数据刷回到磁盘中producer 生产者, broker 相当于kafka服务进程, consumer 消费者, zk集群过...

2020-03-12 15:27:56 1256

原创 libvirt virsh domain命令解析(一)

virsh是libvirt提供的命令行工具, 了解virsh命令的功能,可以快速了解libvirt的主要功能及功能特性这里首先介绍domaindomain 域, 可以看做是一个虚拟机实例通过 virsh -h 可以查看所有命令, 能够看到每个命令的介绍信息(这里不做一一翻译)# virsh -hvirsh [options]... [<command_string>]vi...

2019-11-25 22:11:35 3014

原创 kvm虚拟化及cpu内存调优学习笔记(一)

虚拟化:虚拟化有半虚拟化与全虚拟化演化过程:软件模拟, 通过软件完全模拟磁盘,网卡等虚拟化层翻译 , 加入虚拟化层进行模拟容器虚拟化, 原理是基于cgorup, namespace等技术将进程隔离x86平台指令集分为4个特权模式: Ring 0, Ring 1, Ring 2, Ring 3操作系统一般使用 Ring 0, 应用程序使用 Ring 3, 而驱动程序使用 Rin...

2019-11-25 22:04:25 1175

原创 docker网络原理笔记

docker 网络,使用的是CNM 网络模型方案。 libnetwork是对CNM的实现, 提供docker核心网络架构的全部功能Docker的网络子系统是可插拔的,使用驱动程序。默认情况下存在多个驱动程序,并提供核心网络功能:bridge:默认网络驱动程序。如果未指定驱动程序,则这是您要创建的网络类型。当您的应用程序在需要通信的独立容器中运行时,通常会使用桥接网络。host:对于独立容器,...

2019-10-25 00:49:08 257

原创 docker api url调用

docker安装后没有开启API 远程访问如有需要则需要修改启动参数因为使用systemctl进行启动docker服务, 因此修改对应的service文件具体方法:修改文件:/usr/lib/systemd/system/docker.service中的ExecStartExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/conta...

2019-10-24 22:11:03 2848

原创 docker安装及入门

清理安装包: yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-la...

2019-10-24 21:46:25 163

原创 openstack cinder 创建volume源码分析

cinder volume备注:为方便源码阅读, 列出的部分的源码将被省略, 如需要阅读完整代码, 建议在官网进行下载cinder实现相对比较简单基本结构:api --> volume API --> dbapi --> volume API --> rpc --> volume manager --> driversAPI 入口目前ci...

2019-09-22 16:12:51 1058

原创 openstack cinder snapshot快照源码分析

cinder snapshot快照源码分析源码下载地址:https://releases.openstack.org/index.html1. 介绍Cinder是OpenStack Block Storage服务,用于为Nova虚拟机,Ironic裸机主机,容器等提供卷。Cinder的一些目标是:基于组件的体系结构:快速添加新行为高度可用:扩展到非常严重的工作负载容错:隔离的进程可...

2019-09-17 00:26:40 1343

原创 kafka单机测试环境搭建

kafka单服务器搭建kafka搭建需要jdk, zookeeper因此搭建前需先准备好JDK环境由于kafka的安装包中已经内置一个zk,因此可以不用另外搭建, 当然如果想独立处理,或者已经拥有zk也可以接入使用下载地址:http://kafka.apache.org/downloads1.下载下载带有scala的安装包Binary downloads:Scala 2.11 ...

2019-09-01 20:31:00 283

原创 初识Thrift 及 Thrift示例

简介Thrift是一个轻量级、语言无关的软件栈,它具有一套为RPC通信生成代码的机制支持不同语言, 但是thrift文档资料比较少, 官网上也不是很详细http://thrift.apache.org/tutorial/thrift拥有一套独立的网络栈, 大致分为: +-------------------------------------------+ | Server ...

2019-08-29 12:24:39 690

原创 openstack rally安装失败后折腾一遭

目前参考下面两篇文章搭建openstack rally, 但是都失败了https://cloud.tencent.com/developer/article/1158765https://blog.csdn.net/wylfengyujiancheng/article/details/70404392这里不记录搭建的具体过程,安装没有成功,反而把openstack环境搞得一片狼藉,无法正...

2019-08-27 23:27:25 988

原创 记录一次OpenStack由于资源缓存引起虚拟机创建失败的分析过程

目前在OpenStack使用中遇见虚拟机创建失败的问题问题表现为:虚拟机调度正常资源充足资源配额充足,设置没有限制主机资源调度返回的资源大小正常与实际匹配磁盘大小校验不通过,最后limit限制为本地磁盘大小问题现象:创建一台虚拟机状态ERROR, 报错:nova/compute/manager.py 1902原因是资源limit, 校验不通过:{u'memory_mb'...

2019-08-27 23:07:38 1118

原创 Golang grpc 入门示例

grpc支持多种语言, 也支持Golang安装:由于无法直接获取对应的包, 因此安装需要费点功夫折腾下go get -u github.com/golang/protobuf/{proto,protoc-gen-go}# 下载grpc-gogit clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.o...

2019-08-19 22:33:36 1515

原创 grpc简介及python grpc

grpcgRPC 一开始由 google 开发,开源的远程过程调用(RPC)系统grpc 支持同步和异步调用简单模式下, 调用函数就像本地调用一样, 直接传输数据流式调用将信息以数据量的方式,发送或者接受,gRPC 客户端调用成功的判断是独立的本地的, 因此可能存在客户端与服务端判断不一致的情况例如,您可以在服务器端成功完成RPC,但在客户端失败。在客户端发送所有请求之前,服务器也可...

2019-08-19 22:24:15 1997

原创 Nginx安装及实用配置指南

目录:一. Nginx介绍 二. Nginx安装三. 常用配置及配置文件示例一.配置文件结构示例 二 . Daemon 后台运行 三.转发/ 负载均衡 / 代理四. HTTPS 配置 (SSL证书/ CA 证书)五.http跳转https 六.访问控制 IP限制 七. 流量保护, 限速 八.限速白名单四. 配置文件详解一. Nginx介绍Nginx 是轻...

2019-08-06 22:24:30 539

原创 python pymongo使用mongodb入门

python 使用mongodb是通过pymongo进行操作的安装:pip install pymongo连接client = MongoClient('mongodb://localhost:27017/')创建db或连接dbclient.test_databaseclient['test-database']db = client.get_database("db_name...

2019-08-04 22:45:27 402

原创 MongoDB 入门基础详解

MongoDB是文档型数据库, 与传统关系型数据库有一些区别概念关系database 数据库collection 集合相当于表docment 文档 相当于行index 索引唯一键mongodb不支持多个集合连接,即是 table join不支持mongodb 支持多种数据类型:例如:null 表示空或者不存在的字段字符串日期布尔数值正则表达式数组对象id (obj...

2019-08-04 22:35:56 609

原创 python memcache详解

memcache是键值对key-value存储, 操作很简单方便, python支持对memcache操作,也很简单, 能够快速上手进行开发安装pip install python-memcached入门程序:import memcachemc = memcache.Client(['127.0.0.1:11211'], debug=0)print mc.set("xxxx", ...

2019-08-04 21:49:01 1957 1

原创 memcache安装与详解

memcache:介绍最新版本v1.5.16老牌的内存缓存技术,对相关领域支持比较丰富,window和linux都可以使用,各种框架(tp/yii等等)都支持使用,session的信息可以非常方便的保存到该memcache中,每个key保存的数据量最大为1M,支持的数据类型比较单一,就是String类型,数据存放在内存中,不支持持久化它通过在内存中缓存数据和对象来减少读取数据库的次数,从而...

2019-08-04 21:39:59 249

原创 openstack-nova源码分析(十一)rebuild重建

rebuild 重建:虚拟重置为初始状态, 或者更换镜像等一.APIAPI入口在nova/api/openstack/compute/servers.py @wsgi.action('rebuild') @validation.schema(schema_server_rebuild_v20, '2.0', '2.0') @validation.schema(sch...

2019-07-29 18:55:33 2468

原创 openstack-nova源码分析(十)resize

OpenStack resize 调整虚拟机配置resize调整配置的步骤与冷迁移的步骤大致一致,只是在api以及conductor处理上由一些不同该部分源码分析, 分析不同的部分的关键代码, 相同部分的源码可以参考冷迁移的源码分析一.API入口api 入口定义在nova/api/openstack/compute/servers.py @wsgi.action('resize')...

2019-07-28 23:51:09 597 1

原创 openstack-nova源码分析(九)冷迁移

冷迁移 cold migration:不保存虚拟机在线状态的,将主机迁移到其他宿主机, 迁移过程中会有关机的操作备注: 为了方便梳理流程, 展示关键的流程步骤,过程中展示的源码部分会被删减冷迁移一. 入口API:nova/api/openstack/compute/migrate_server.pyclass MigrateServerController(wsgi.Controlle...

2019-07-28 16:59:21 1232

原创 go使用go-redis操作redis(三)连接类型,pipline, 发布订阅

客户端Client:Client 普通模式的客户端go redis依据用途提供了多种客户端创建的函数, 如下:func NewClient(opt *Options) *Clientfunc NewFailoverClient(failoverOpt *FailoverOptions) *Clientfunc (c *Client) Context() context.Context...

2019-07-21 13:56:31 5993

原创 go使用go-redis操作redis(二)返回类型

返回类型:BoolCmd返回bool 值命令, 提供的一些函数:func NewBoolCmd(args ...interface{}) *BoolCmdfunc NewBoolResult(val bool, err error) *BoolCmdfunc (cmd *BoolCmd) Args() []interface{}func (cmd *BoolCmd) Err() e...

2019-07-21 13:54:18 4849

原创 go使用go-redis操作redis(一)安装及示例

redis官网推荐redigo, 但同时go-redis也使用非常广泛, 并且go-redis封装得更好因此这里研究下go-redis的使用方法安装:go get -u github.com/go-redis/redis源码地址: https://github.com/go-redis/redis文档地址:https://godoc.org/github.com/go-redis/re...

2019-07-21 13:52:21 14732 1

原创 linux 网络性能分析命令小结

网络:需要注意区分的是网络上大B和小b的区别小b: bit 位大B : Byte 字节 1B = 8bit一般网络带宽的100M bps 指的小bnetstat -s 查找高流量的重新传输和乱序数据包# netstat -sIp: 154719 total packets received 0 forwarded 0 incoming...

2019-07-20 22:41:50 875

原创 linux 文件系统及磁盘性能分析命令小结

文件系统分析:iostatstracefreetopvmstatsarslabtop/proc/meminfodfmount###ps: 待续…磁盘性能:iostat# iostatLinux 3.10.0-123.el7.x86_64 (mirror) 07/07/2019 _x86_64_ (1 CPU)avg-cpu:...

2019-07-20 22:40:28 429

原创 linux 内存性能分析命令小结

内存:概念:主存虚拟内存, 一个抽象的主存概念,几乎是无限的和非竞争性的(其实跟操作系统位数有一定关系), 并不是真实内存,它是对于内存的抽象,与真实内存拥有一定的映射关系常驻内存匿名内存 ,没有文件系统路径或者路径名的内存, 它包括进程地址空间的工作数据,一般叫做堆地址空间 , 内存上下文, 每个进程和内核都有对应的虚拟地址空间OOM 内存耗尽, 内存溢出页 ...

2019-07-20 22:38:12 390

空空如也

空空如也

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

TA关注的人

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