python访问k8s的api_Kubernetes中通过python api访问IPFS服务

本文介绍了如何在Python环境中使用ipfsapi库连接并操作Kubernetes集群内的IPFS服务,包括连接内部域名,获取Peers列表,并展示了查看Peers详细信息的示例,为进一步的自动化任务执行打下基础。
摘要由CSDN通过智能技术生成

IPFS是一个分布式的全球一致性(参见 HT与分布式一致性)文件系统,结合了BT、P2P、DHT等的优势。之前的帖子中,介绍了将IPFS部署到Kubernetes集群,以及通过portforward开放IPFS服务的方法。目前IPFS已经提供了python api,可以访问集群中的IPFS服务。

基础服务准备

安装ipfsapi库

pip install ipfsapi

访问IPFS服务

# 引用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])

输出如下:

{'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 - 运行处理任务指南)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值