胡伟煌

个人博客

[Ethereum] 以太坊系列(二)之账户管理

1. 账户 以太坊有两种账户类型: 外部账户(EOA) 合约账户 所有账户的状态代表以太坊网络的状态,以太坊网络会和每一个区块一起更新,网络需要达成关于以太坊的共识。账户代表外部代理人的身份,账户运用非对称加密的私钥来签署交易,以便以太坊虚拟机可以安全验证交易发送者的身份。 2. 钥匙文件(Keyfiles) 每个账户都由一对密钥来定义,包括公钥和私钥。账户以地址为索引,地址由公钥生成,......

[Blockchain] 区块链系列(八)之区块链介绍

1. 区块链简介 1.1. 区块链的概念 区块链是一个去中心化的分布式数据库,该数据库由一串使用密码学方法产生的数据区块有序链接而成,区块中包含有一定时间内产生的无法被篡改的数据记录信息。 区块中包含了数据记录、当前区块根Hash、前一个区块根Hash、时间戳以及其他信息。数据记录的类型可以根据场景决定,比如为资产交易记录、资产发行记录等。 从技术层面看,区块链是一个基于共识机制、去中心化的......

[Blockchain] 区块链系列(六)之比特币交易

1. 比特币交易简介 比特币交易是比特币系统最重要的部分,本质是数据结构,数据结构中含有比特币交易参与者价值转移的相关信息。比特币区块链是一本全球复制记账总账簿,每个比特币交易即账簿上公开的一页转账记录。 2. 比特币交易的生命周期 创建比特币交易,通过一个或多个签名加密,签名标志了该比特币的使用许可。 交易广播到比特币网络中,每个节点进行验证,并进行广播,直到该交易被大多数节点接收。 比......

[Blockchain] 区块链系列(四)之密钥和地址

1. 比特币密钥 比特币的所有权是通过数字密钥、比特币地址和数字签名来确定的,数字密钥不存在网络中,而由用户生成,存储在一个文件或简单的数据库中,一般称之为钱包。 比特币交易都需要一个有效的签名才会被存储到区块链中,只有有效的密钥才能产生有效的数字签名,因此拥有密钥副本就拥有了该账户的比特币控制权。 密钥是成对出现的,由公钥和私钥组成。公钥类似银行账号,私钥类似支票签名。在比特币交易环节, ......

nfs-client-provisioner源码分析

如果要开发一个Dynamic Provisioner,需要使用到the helper library。 1. Dynamic Provisioner 1.1. Provisioner Interface 开发Dynamic Provisioner需要实现Provisioner接口,该接口有两个方法,分别是: Provision:创建存储资源,并且返回一个PV对象。 Delete:移除对......

csi-provisioner源码分析

本文主要分析csi-provisioner的源码,关于开发一个Dynamic Provisioner,具体可参考nfs-client-provisioner的源码分析 1. Dynamic Provisioner 1.1. Provisioner Interface 开发Dynamic Provisioner需要实现Provisioner接口,该接口有两个方法,分别是: Provisi......

资源配额

资源配额(ResourceQuota) ResourceQuota对象用来定义某个命名空间下所有资源的使用限额,其实包括: 计算资源的配额 存储资源的配额 对象数量的配额 如果集群的总容量小于命名空间的配额总额,可能会产生资源竞争。这时会按照先到先得来处理。 资源竞争和配额的更新都不会影响已经创建好的资源。 1. 启动资源配额 Kubernetes 的众多发行版本默认开启了资源配额的支持......

使用kubespray安装kubernetes

1. 环境准备 1.1. 部署机器 以下机器为虚拟机 机器IP 主机名 角色 系统版本 备注 172.16.94.140 kube-master-0 k8s master Centos 4.17.14 内存:3G 172.16.94.141 kube-node-41 k8s node Centos 4.17.14 内存:3G 172.16.94.142 kube-n......

使用minikube安装kubernetes

以下内容基于Linux系统,特别为Ubuntu系统 1. 安装kubectl 1curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linu......

安装Docker

1. CentOS 安装Docker 建议使用centos7 1.1. 安装Docker 1.1.1. 卸载旧版本 旧版本的Docker命名为docker或docker-engine,如果有安装旧版本,先卸载旧版本 12345678910$ sudo yum remove -y docker \ docker-client \ ......