IPFS是一个分布式的全球一致性(参见 HT与分布式一致性 )文件系统,结合了BT、P2P、DHT等的优点。以前的帖子中,介绍了将IPFS部署到Kubernetes集群,以及经过portforward开放IPFS服务的方法。目前IPFS已经提供了python api,能够访问集群中的IPFS服务。python
pip install ipfsapi
# 引用ipfsapi import ipfsapi # 链接到IPFS管理服务 # 若是是集群外运行,但与集群在同一台主机。 # api为返回的客户端对象,能够使用help(api)查看其接口。 # api = ipfsapi.connect('127.0.0.1', 5001) # 若是是在集群的pod运行,使用内部域名访问服务。 # 我在Kubernetes中的Jupyter上运行,链接成功。 api = ipfsapi.connect('ipfs2-ipfs.ipfs2', 5001) # 获取peers的列表。 # api.swarm_peers()返回Dict对象,Key为Peers,value为列表。 PeerList = api.swarm_peers()["Peers"] # 显示Peers的总数,会根据网络随时变化。 len(PeerList) # 显示所有Peer的列表。 print(PeerList)
显示部分Peers的信息:网络
for i in range(3): print(PeerList[i])
输出以下:tcp
{'Addr': '/ip4/1.24.210.4/tcp/4001', 'Peer': 'QmZgbW9VNA4EJoxuReUmXZNszHqurheeqNQvZ671kdbYLg', 'Latency': '', 'Muxer': '', 'Streams': None} {'Addr': '/ip4/100.34.210.63/tcp/39733', 'Peer': 'QmPRa5sovWPGhSDuEGU2cgfws5ra91bD89xTWmArJxickp', 'Latency': '', 'Muxer': '', 'Streams': None} {'Addr': '/ip4/100.38.242.117/tcp/10238', 'Peer': 'QmXdgmKZYNmybYY33J7UFTuqFdvndEbWY2PdDcHuteqvyj', 'Latency': '', 'Muxer': '', 'Streams': None}
能够经过上面的方式查看IPFS支持的各类信息,包括添加文件、下载文件等等。分布式
调试完成后,能够写入脚本,进一步放到按期任务中调度执行(参见 ubernetes Jobs - 运行处理任务指南 )。spa