- 博客(416)
- 资源 (8)
- 收藏
- 关注

原创 k8s client-go 之 依赖问题解决
k8s client-go依赖问题解决记一次go mod依赖版本不一致的解决过程克隆下client-go的工程,并checkout对应kubernetes版本上,可以直接使用example中的例子,但是在自定义开发时遇到了接口不一致问题,很明显这是依赖版本问题所致。我们使用client-go/examples/create-update-delete-deployment的例子测试测试环境...
2019-12-09 10:35:09
12996
1

原创 k8s client-go 之 官方库安装测试
client-go官方库安装测试git clone git clone https://github.com/kubernetes/client-go.git查看k8s版本➜ ~ kubectl versionClient Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:...
2019-12-08 19:16:19
933

原创 用汇编分析go的defer闭包处理
用汇编分析go的defer闭包处理首先如下代码是我在网上看到的关于defer的代码,当时判断错了很多。package mainimport _ "fmt"func main() { a := DeferFunc1(1) b := DeferFunc2(1) c := DeferFunc3(1) println(a) //4 println(b) //1 println(c)...
2019-06-08 21:28:33
624

原创 Fabric.Peer源码分析
Fabric.Peer源码分析这部分,主要分析链码安装到实例化(启动容器)的过程。操作链码是通过peer chaincode命令进行的,这就是我们所谓的一个命令行的客户端,通过它我们就可以和fabric交互,注意peer node start启动的peer服务,即启动一个peer节点。以下是从e2e_cli/scripts/scripts.sh提取的安装、实例化链码的命令,注意该命令前,要先完...
2019-06-07 11:18:00
657

原创 k8s部署fabric-kafka
k8s部署fabric-kafka在k8s上部署fabric witch kafka consensus,相比之前部署fabric with solo consensus的区别就在于多了一个zk/kfk集群,在我们部署好zk/kfk后,对fabric.solo简单修改即可应用。回顾一下,fabric.solo上解决了哪些问题:docker dns,即在宿主机上启动链码容器,并保持链码容器和...
2019-05-18 17:53:31
1344
2

原创 在k8s上搭建kfk-zk集群(2)
在k8s上搭建kfk-zk集群(2)这篇接zk的部署方式,整体结构是一样的,包括StorageClass、PV、HeadlessService、StatefulSet,不同的是kfk本身的配置,k8s官方没有k8s的部署教程,我在网上找到一个在k8s上部署kfk的帖子,借用其kfk的模版。StorageClass我们已经创建,直接使用local-class。root@hw1:~/zk# ku...
2019-05-18 14:50:23
609

原创 在k8s上搭建kfk-zk集群(1)
在k8s上搭建kfk-zk集群(1)kfk/zk属于有状态的应用,所以应当用StatefulSet来部署应用,但StatefulSet要比无状态的Deployment要复杂,主要表现在增加了:stable stroage,并且需要用StorageClass、PV有状态应用的网络问题,需要Headless Service,并且每个pod是有序编号的,其DNS就是name-1.headless...
2019-05-18 14:46:26
1081

原创 Fabric-solo on k8s
Fabric-solo on k8s本文主要内容:为简化实验,将e2e_cli多组织,改为单组织,部署solo共识算法,此时无需kafka/zookeeper集群,另,e2e_cli demo不需要ca等将e2e_cli下orderer、peer0.org1、peer1.org1、cli等docker-compose yaml文件转化为k8s文件搭建k8s with flannel集群...
2019-05-09 12:43:04
1028
2

原创 Creating a single master cluster with kubeadm
Creating a single master cluster with kubeadm本文涉及的内容:搭建k8s单节点集群k8s网络插件flannel的使用重启集群后,网络插件无法工作的问题及解决k8s dns测试kubeadm搭建single node k8s的过程和用kubeadm搭建多节点的方法一样,但是k8s限制在master节点上部署容器,需要取消master节点的t...
2019-05-09 10:05:54
414

原创 Fabric多机部署-e2e
Fabric多机部署-e2e测试环境为三台华为云ECS主机,加入在同一虚拟子网中;实验将fabric/example/e2e_cli进行修改测试多机部署;三个node上的fabric环境一致,需要修改e2e配置文件;fabric v1.4已经移除e2e demo,本次版本为fabric v1.2。部署环境nodeorg192.168.0.145orderer...
2018-12-27 11:24:09
1134

原创 fabric-go-sdk使用中的若干问题
fabric-go-sdk使用中的若干问题–连接e2e网络problemlocalhost:heroes-service liu$ go run main.go SDK createdRessource management client createdChannel createdChannel joinedInitialization SuccessfulccPkg cre...
2018-12-21 23:38:29
4051
4

原创 kubernetes1.11手动搭建
kubernetes1.11手动搭建本次实验手动搭建一个内部的k8s集群,即不进行认证: 1.通过vagrant和virtual box 构建vm. 2.设计为一个etcd和一个node,初步,master先不搭建node,即目前一个master和一个node.pre 一直想找一篇简单的手动搭建k8s的教程(不进行认证),以初步学习k8s, 形成一个 简单的框架.结果,...
2018-08-26 12:11:11
2380

原创 ubuntu18.04 使用若干问题
ubuntu18.04 使用若干问题gnome-shell,插件很强大,但是很多不能正常使用NetSpeedFrippery Move Clock关于dsl网络链接18.04网络管理没有dsl链接方式,可以通过pppoe方法实现,但仅仅启动了ipv4,可以通过ipv4上网关于ppp0只有ipv4,开启ipv6不能正常访问网络问题在/etc/ppp/options最后添加如下...
2018-05-01 16:15:37
9980
1
原创 lt24. Swap Nodes in Pairs
24. Swap Nodes in Pairs链表、交换https://leetcode-cn.com/problems/swap-nodes-in-pairs/在head前边加一个空节点,方便操作package lt100/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } *//**执行用时: 0 ms , 在所有 Go
2022-02-13 16:38:32
2046
原创 用go刷leetcode-导航
lt20 生成括号,回溯https://longtails.blog.youkuaiyun.com/article/details/122910119
2022-02-13 16:05:30
1819
原创 lt22. 括号生成
lt22. 括号生成回溯题解package lt100func generateParenthesis(n int) []string { return backTracing("", n, n)}/**回溯,因为只有两个符号1. () (的位置必须比)小,递归过程中保证了全部2. 没有到最后,(不能全部用光 if left==0 and right>1 可以直接跳过去3. 不需要验证合法性,因为剪枝完成后,只有有效的了*/func backTracing(result
2022-02-13 16:02:31
1762
原创 143. 重排链表
143. 重排链表给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3.package mainimport
2021-04-09 00:22:36
347
原创 MapStruct分析
MapStruct在编译时会通过CheckStyle检查代码格式,一旦不符合要求,就会编译终止;所以为了在MapStruct加一些日志方便分析,可以先把CheckStley插件去掉。位于processor模块:<!-- <plugin>--><!-- <groupId>org.apache.maven.plugins</groupId>--><!-- &
2021-03-18 20:53:49
1362
原创 NetSpeedMonitor
NetSpeedMonitorINSTALL直接下载编译好的程序see Release v1.3 或用xcode重新编译源码设置开机启动GEN ICONS./genIcon.sh youricon.png youricon.icns将生成的图标文件拖到xcode NetSpeedMonitor 工程中编辑Info.plist的Icon file项清理build 目录重新构建更新v1.3fix多屏切换时,副屏的显示异常fix黑色/白色模式切换时,箭头图
2020-06-26 18:19:10
1013
原创 mac上设置ms office word初始窗口大小
mac上设置ms office word初始窗口大小在Mac上打开word,总是那么小,还需要用鼠标拉大,十分麻烦。但是,Mac上又没有设置初始窗口大小的功能,同样ms word也没有该设置。初始窗口很小,必须调整才能看清。疯狂Google,中文教程只有修改文档页面大小的方案,而不是调整初始窗口。用英文搜索后,发现了强制退出ms word,word会保留当前的设置。这是因为ms会在clo...
2020-04-19 11:26:01
4726
原创 Mac 安装仿宋GB2312 For Word/WPS
Mac Word安装仿宋GB2312学校论文要求字体使用仿宋GB2312,Mac上没有GB2312,模板上虽然现实GB2312但实际上用的是比较接近的一个字体。但是因为某些原因GB2312字体没安装上,后来又执行sudo atsutil databases -remove清理了系统字体缓存,但没有重启,所以两次都没安装成功。注意清理字体后需要重启,否则安装不上字体。直接点击GB2312,出...
2020-03-19 19:38:18
24616
原创 用kubeadm开启apiserver审计日志
用kubeadm开启apiserver审计日志用kueadm搭建了k8s集群,但为了分析集群的工作请求,查看apiserver的日志,没有其他组件的请求信息,再查发现,分析集群请求需要为组件开启审计功能。本文,将通过kubeadm工具搭建集群并开启apiserver的审计功能。并记录一下所遇到的问题。开启Audit需要配置Audit Policy,这里直接使用官方的一个Example配置ku...
2020-02-22 12:03:04
2533
原创 Nginx负载均衡主动健康监测
Nginx负载均衡主动健康监测准备好nginx源码和健康监测的源码。root@hw2:~# wget http://nginx.org/download/nginx-1.14.2.tar.gz--2020-02-19 22:00:31-- http://nginx.org/download/nginx-1.14.2.tar.gzResolving nginx.org (nginx.org...
2020-02-19 22:46:03
1040
原创 公有云(华为)下的高可用负载均衡器
公有云(华为)下的高可用负载均衡器高可用负载均衡器选用方案 VIP+NGINXnodeipnode110.0.0.11node210.0.0.12node310.0.0.13VIP 10.0.0.10在虚拟机上很容易操作,详情参看在京奋斗者的 nginx和keepalived实现nginx高可用但是在公有云上就有些问题了,买了三台服务器部署在同...
2020-02-18 18:32:29
1682
1
原创 kubeadm安装k8s
kubeadm安装k8s之前的博客记录着断断续续的问题,有很多其实是理解上的问题,比如kubelet的配置管理,如果用kubeadm来管理,就应使用apt源的方式安装k8s tools,而不是手动下载二进制文件,否则kubelet的systemctl service就是空的需要手动配置很麻烦,再比如主机有多张网卡,需要通过apiserver-adverstied参数指定,公有云的虚拟主机没有公网...
2020-02-17 18:14:13
967
原创 编译ccenv若干问题
编译ccenv若干问题编译ccenv的基本问题➜ fabric-dev git:(master) ✗ make ccenvmkdir -p .build/image/ccenv/payloadcp .build/docker/gotools/bin/protoc-gen-go .build/bin/chaintool .build/goshim.tar.bz2 .build/image/...
2019-12-22 22:41:12
1003
原创 undefined: proto.ProtoPackageIsVersion3
undefined: proto.ProtoPackageIsVersion3Hyperledger Fabric使用了大量的grpc,如果需要修改客户端和服务端的通信消息,就需要修改相关的proto文件。按照gRPC官网的教程,安装gRPC、Protocol BUffers v3以及protoc的Go插件,并测试google.golang.org/grpc/examples/hellowor...
2019-12-19 18:04:36
3547
原创 Fabric make peer-docker: bzip2 data invalid:bad magic value
Fabric make error on macmake peer-docker-clean时发生bzip2 data invalid:bad magic value错误。liu@liudeMacBook-Pro fabric % make peer-docker-cleandocker images --quiet --filter=reference='hyperledger/fabri...
2019-12-19 14:52:05
1253
1
原创 Fabric No rule to make target(二)
Fabric No rule to make target(二)最近,基于Fabric开发自己的分支,删除了Fabric官方的.git文件,并重新初始化了源代码,加入到了自己的私有仓库中,方便追踪管理第三方修改。实际上这些没必要,反而增加了工作量,带来了一个无法make的bug,本文解析此次Debug过程。修改完Fabric代码后,直接在Fabric root下make相关内容,但是自从修改了...
2019-12-18 22:43:02
818
1
原创 Fabric链码实例化是由组织内的哪个节点完成的?
Fabric链码实例化是由组织内的哪个节点完成的?今天,修改了链码实例化的代码,在peer0.org1 peer1.org1安装链码,实例化通过peer0.org1完成。等等,实例化通过peer0.org1完成?是的,我打算这样,方便后边看输出日志,检查代码的修改效果。产生这个想法也是因为fabric-sample的script.sh中实例化指定了组织节点。➜ fabric-sample...
2019-12-18 14:13:38
1451
原创 Hyperledger Fabric make: *** No rule to make target问题(一)
Hyperledger Fabric make: *** No rule to make target问题最近一段时间,改Fabric代码,发现没法编译了!make总是报找不到target!➜ fabric git:(master) ✗ make configtxgenmake: *** No rule to make target `.build/bin/configtxgen', ne...
2019-12-16 20:11:25
1279
原创 kubeadmV1.14.6启动k8s的一次爬坑
kubeadmV1.14.6启动k8s的一次爬坑熟练的打开ubuntu上的代理,下载指定版本v1.14.6的k8s服务器的二进制包,设置好环境变量,kube init启动。以过往的经验,这没事问题的,况且我是从v1.11版本使用过来的。事实上呵呵。kubelet要放到/usr/bin中!kubeadm init启动集群。root@node1:~# kubeadm init --ign...
2019-12-13 20:23:50
1133
原创 Fabric Docker Start 分析
Fabric Docker Start 分析Fabric Docker Start启动过程分析,这里主要对dockercontroller.go/Start进行分析。fabric/core/container/dockercontroller/dockercontroller.go/Start是链码容器启动的执行函数,这里详细分析该函数,解析各个过程// Start starts a c...
2019-12-09 16:11:56
451
原创 docker registry检查镜像是否存在
docker registry检查镜像是否存在docker registry v2 API没有提供直接判断一个镜像是否已经存在的api,但是可以通过一些接口组合判断,这里用manifest接口判断该镜像是否已经存在测试manifests API,存在结果➜ ~ curl -X GET "http://registry:5000/v2/nginx/manifests/1.12"{ "...
2019-11-30 17:15:56
6508
原创 构建本地私有仓库以及通过Docker客户端交互
构建本地私有仓库以及通过Docker客户端交互本文主要讲述,如何构建私有仓库,如何使用私有仓库,如何通过docker http接口和私有仓库交互,如何通过docker go客户端和私有仓库交互。第一步构建私有仓库有较多的内容讲述这部分内容,不再赘述,详细见私有仓库· Docker —— 从入门到实践 - yeasydocker私有仓库搭建与使用实战docker run --name r...
2019-11-27 15:51:28
966
原创 源码分析-Fabric 1.4.2 lscc启动用户链码的过程
Fabric 1.4.2 lscc启动用户链码的过程lscc负责管理链码的生命周期,其就是说链码容器的启动应该是lscc触发的。但是链码容器是如何从peer chaincode instantiate 触发实例化命令到peer服务完成链码的实例化,即链码容器的启动,看了一些网上的资料机会没有讲这块的。也因为又这块二次开发的需求,所以追踪了一下从lscc到用户链码容器启动的全过程,在此记录一下。...
2019-10-28 16:05:49
1802
原创 IBM第五讲 Orderer解析-笔记
IBM第五讲 Orderer解析OUTLINE:Atomic Broadcast(Total Order)ChannelsSolo/Kafka/RaftPermission in OrdererAtomic Broadcast(Total Order):Execute-Order-Validate共识模型交易过程:Client向Peer发送议案(proposal:A->B...
2019-09-16 20:46:58
1296
2
原创 HDFS NFS Gateway
HDFS NFS Gatewaylabel: 分布式存储、hdfs、nfs最近我们在做一些区块链可靠性的东西,在存储方面我们知道区块链的数据是只增不减的,所以就会造成磁盘占用空间持续上涨,迟早有一天会塞满真个磁盘,而我们要思考的就是如何解决这个问题。在存储这块,我们读的轮文大多是从区块、账本的数据结构优化出发的,目的就是减少磁盘占用,我一直觉得占用是少了点,但终究会沾满空间,也只是比为优化的账...
2019-09-11 16:09:39
700
原创 650. 只有两个键的键盘-M
650. 只有两个键的键盘-Mlabel: dp,质数分解最初在一个记事本上只有一个字符 ‘A’。你每次可以对这个记事本进行两种操作:Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。Paste (粘贴) : 你可以粘贴你上一次复制的字符。给定一个数字 n 。你需要使用最少的操作次数,在记事本中打印出恰好 n 个 ‘A’。输出能够打印出 n 个...
2019-09-05 21:32:54
261
原创 etcd raft cap 理解
etcd raft cap 理解label: cap、raft、etcd写这篇文章,主要是在smartx面试时,被CTO问到了一些顶层设计的问题,这让我感觉到自己对raft理解太浅了,或者说根本没理解清楚。首先raft的协议是做什么的?分布式共识算法,通过raft协议让各个节点保持状态一致;etcd基于raft来做的分布式kv数据库的目的是什么?etcd收zk的启发,基于raft协议开...
2019-08-31 15:34:48
5657
5
SpeedMonitor.app.zip
2020-06-26
YUV播放工具
2016-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人