Kubernetes 从1.8到1.9升级记录
📅 2018-04-18
Kubernetes 1.10已经发布,可以开始考虑将团队线上环境的Kubernetes集群从1.8升级到1.9了。 本文记录了在测试环境中的演练过程。
准备 #
当前Kubernetes 1.9的小版本是1.9.6。 在升级之前一定要多读几遍官方的升级须知Kubernetes 1.9 - Action Required Before Upgrading。
...Kubernetes 1.10已经发布,可以开始考虑将团队线上环境的Kubernetes集群从1.8升级到1.9了。 本文记录了在测试环境中的演练过程。
当前Kubernetes 1.9的小版本是1.9.6。 在升级之前一定要多读几遍官方的升级须知Kubernetes 1.9 - Action Required Before Upgrading。
...最近一个正在开发的服务对PersistentVolume的Access Mode有ReadWriteMany的需求。 PersistentVolume持久化卷(即PV)是Kubernetes对存储的抽象,PV可以是网络存储,不属于任何Node,但可以在每个Node上访问。PV有以下三种访问模式(Access Mode):
...Kubernetes 1.10已经发布,这是2018年第1个版本。以下两个链接是官方对本此更新的介绍:
其中比较关键的特性是提高了存储、安全、网络三大特性的稳定性,在安装时可以将DNS服务切换为CoreDNS(当前处于Beta阶段)。另外容器存储接口(CSI)和本地持久化卷(Persistent Local Volumes)进入到了beta阶段。
...kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
...通过前面学习,已经对Hyperledger Fabric的架构、网络节点、交易流程有了初步的认识,并且快速搭建和体验了一下fabric-samples-1.0.6
中的basic-network
示例。
学习也是一个不断迭代和深入的过程,本篇我们将按照Hyperledger Doc: Building Your First Network,体验fabric-samples-1.0.6
中的first-network
示例。
Hyperledger Fabric 1.0的逻辑架构如下:
Hyperledger Fabric 1.0的逻辑架构最上边是面向应用程序的APIs、SDKs和Events,其中:
...前面我们使用docker-compose
和fabric-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
示例运行在一台物理机上,实际上会运行在网络中不同的机器上。
Hyperledger(超级账本)是Linux基金会启动的区块链项目,Hyperledger Fabric是Hyperledger中的一个区块链项目。本篇作为个人学习Hyperledger Fabric的开始,将简单安装和体验一下。
...Jenkins 2.0开始推行Pipeline as Code,实现从CI到CD的转变。 Pipeline实际上是一套Groovy DSL,用Groovy脚本描述CI/CD的流程,Jenkins可以从代码库中获取脚本,实现了Pipeline as Code。Pipeline将原来独立运行的多个任务连接起来,可以实现更加复杂的CI/CD流程。
...Prometheus提供了一个blackbox_exporter可以实现网络监控,支持http、dns、tcp、icmp等监控。
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 configuration和Blackbox exporter configuration Exmaple。下面的例子是一个最基本的配置: