胡伟煌

个人博客

[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 \ ......

12 Factor

以下主要介绍PaaS平台设计架构中使用到的方法论,统称为12-Factor(要素) 简介 软件通常会作为一种服务来交付,即软件即服务(SaaS)。12-Factor原则为构建SaaS应用提供了以下的方法论: 使用标准化流程自动配置,减少开发者的学习成本。 和操作系统解耦,使其可以在各个系统间提供最大的移植性。 适合部署在现代的云计算平台上,从而在服务器和系统管理方面节省资源。 将开发环......

k8s知识体系

1. k8s知识体系 以下整理了k8s涉及的相关知识体系。 思维导图:https://www.processon.com/view/link/5d7f7d08e4b03461a3a937e2 2. k8s重点开源项目 TODO var isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPo......