Blog

使用kubeadm安装Kubernetes 1.10

2018-03-29
Kubernetes

kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

...

构建第一个Hyperledger Fabric网络

2018-03-11
Hyperledger Fabric

0.Hyperledger Fabric学习笔记目录 #

  1. Hyperledger Fabric的安装和体验
  2. 初识Hyperledger Fabric网络节点和交易流程
  3. Hyperledger Fabric 1.0的架构
  4. 构建第一个Hyperledger Fabric网络

通过前面学习,已经对Hyperledger Fabric的架构、网络节点、交易流程有了初步的认识,并且快速搭建和体验了一下fabric-samples-1.0.6中的basic-network示例。 学习也是一个不断迭代和深入的过程,本篇我们将按照Hyperledger Doc: Building Your First Network,体验fabric-samples-1.0.6中的first-network示例。

...

初识Hyperledger Fabric网络节点和交易流程

2018-03-09
Hyperledger Fabric

0.Hyperledger Fabric学习笔记目录 #

  1. Hyperledger Fabric的安装和体验
  2. 初识Hyperledger Fabric网络节点和交易流程
  3. Hyperledger Fabric 1.0的架构
  4. 构建第一个Hyperledger Fabric网络

1.Hyperledger Fabric的节点类型 #

前面我们使用docker-composefabric-samples-1.0.6中的basic-network示例快速体验了一下fabric。 当时通过docker ps查看启动了下面几个容器:

1afe407ae5e26        hyperledger/fabric-peer:x86_64-1.0.6      "peer node start"        46 seconds ago      Up 45 seconds       0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp   peer0.org1.example.com
233639c048aa7        hyperledger/fabric-tools:x86_64-1.0.6     "/bin/bash"              48 seconds ago      Up 46 seconds                                                        cli
36f1b776e18a4        hyperledger/fabric-orderer:x86_64-1.0.6   "orderer"                48 seconds ago      Up 46 seconds       0.0.0.0:7050->7050/tcp                           orderer.example.com
4ead19674da34        hyperledger/fabric-couchdb:x86_64-1.0.6   "tini -- /docker-ent…"   48 seconds ago      Up 46 seconds       4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp       couchdb
59117f3913913        hyperledger/fabric-ca:x86_64-1.0.6        "sh -c 'fabric-ca-se…"   48 seconds ago      Up 46 seconds       0.0.0.0:7054->7054/tcp                           ca.example.com

这其中就是Hyperledger Fabric的网络节点。网络节点是区块链通信的主体。这里使用docker-compose启动的basic-network示例运行在一台物理机上,实际上会运行在网络中不同的机器上。

...

Jenkins 2 Pipleline的简单教程(一)

2018-03-02
Jenkins

Jenkins 2.0开始推行Pipeline as Code,实现从CI到CD的转变。 Pipeline实际上是一套Groovy DSL,用Groovy脚本描述CI/CD的流程,Jenkins可以从代码库中获取脚本,实现了Pipeline as Code。Pipeline将原来独立运行的多个任务连接起来,可以实现更加复杂的CI/CD流程。

...

使用Prometheus的blackbox_exporter进行网络监控

2018-02-07
Prometheus

Prometheus提供了一个blackbox_exporter可以实现网络监控,支持http、dns、tcp、icmp等监控。

blackbox_exporter的配置 #

blackbox_exporter以下面的命令运行:

1blackbox_exporter --web.listen-address=:9115 --config.file=blackbox.yml

其中9115是这个exporter的http端点的监听端口,blackbox.yml是它的配置文件,需要在其中使用blackbox_exporter的http、dns、tcp、icmp等prober定制配置出各种监测模块(module)。关于blackbox_exporter的配置具体参考Blackbox exporter configurationBlackbox exporter configuration Exmaple。下面的例子是一个最基本的配置:

...

Kubernetes Pod无法删除,Docker: Device is busy问题的解决

2018-02-05
Kubernetes, Docker

问题发现 #

最近测试环境Kubernetes集群的两台主机重启后,发现这两台主机上(CentOS 7.3)的Pod无法删除。 发现这个问题的经过如下:

某个服务的自动发布触发后,监控系统告警有Pod处于Terminated状态,具体去查看发现前面重启过的两台主机上因为服务发布需要被删掉的Pod一直处于Terminated: ExitCode状态。因为是测试环境,开始没有特别关注,而是直接使用kubectl delete pod <podname> --namespace=<namspacer> --grace-period=0 --force尝试将有问题Pod强制删除,结果强制删除不起作用。马上觉得问题可能没有那么简单,于是分别登录到这两台主机上通过docker ps -a查看对应docker容器的状态,发现这两个Pod的docker容器处于Dead状态。使用docker rm <container id>,提示Device is Busy,无法删除。

...

HDFS的数据存储之block

2018-02-01
Hdfs

HDFS被设计成支持非常大的文件,与HDFS兼容的应用是那些处理大数据集的应用。这些应用程序处理非常大的文件在具有只被创建和写入一次,被读取一次或多次的特性,即HDFS中存储的大文件是一次写入多次读取不支持修改的,同时要求HDFS满足应用程序以流读取速度的要求。

...

使用Curator管理Elasticsearch的索引

2018-01-24
Elasticsearch

Curator是一个用来管理Elasticsearch索引的工具,使用它可以管理需要删除或保留的索引数据。 当Elasticsearch作为ELK、EFK等日志收集方案的日志存储时,删除过期数据以释放存储空间显的格外重要,使用Curator可以删除旧的索引并优化系统。

1.Curator的功能 #

使用Curator可以完成以下功能:

  • 为别名(Alias)添加或移除索引
  • 创建索引
  • 删除索引
  • 关闭索引
  • 删除快照
  • 打开已经关闭的索引
  • 更改分片路由配置
  • 强制合并索引
  • 重建索引(包括从远程的集群)
  • 更改索引每个分片的副本数量
  • 为索引创建快照
  • 从快照还原
  • rollover indices(当某个别名指向的实际索引过大的时候,自动将别名指向下一个实际索引)

2.安装Curator #

安装Curator十分简单,可以通过python pip工具来完成。

...

© 2024 青蛙小白