Longhorn クラウド ネイティブ コンテナ分散ストレージ - Python クライアント

Longhorn クラウド ネイティブ コンテナ分散ストレージ - Python クライアント

[[421320]]

この記事はWeChatの公開アカウント「Hacker Afternoon Tea」から転載したもので、著者はShaoです。この記事を転載する場合は、Hacker Afternoon Tea公式アカウントまでご連絡ください。

現在、Longhorn UI を使用して Longhorn を操作できます。それまでの間、以下に示すように Python を使用して Longhorn API にアクセスできます。

1. Longhorn APIエンドポイントを取得する

Longhorn と通信する 1 つの方法は、longhorn-frontend サービスを使用することです。

Longhornがインストールされている同じクラスタで自動化/スクリプトツールを実行している場合は、エンドポイントhttp://longhorn-frontend.longhorn-system/v1に接続します。

ローカル マシンで自動化/スクリプト ツールを実行している場合は、kubectl port-forward を使用して longhorn-frontend サービスを localhost に転送します。

  1. kubectl ポート転送サービス/longhorn-frontend 8080:http -n longhorn-system

エンドポイント http://localhost:8080/v1 に接続します。

2. Pythonクライアントの使用

longhorn.py ファイル (Python クライアントが含まれています) を次の Python スクリプトにインポートし、API エンドポイントからクライアントを作成します。

https://github.com/longhorn/longhorn-tests/blob/master/manager/integration/tests/longhorn.py

  1. ロングホーンをインポートする
  2.  
  3. # 自動化/スクリプトツールがLonghornインストールされている同じクラスタ内にある場合
  4. longhorn_url = 'http://longhorn-frontend.longhorn-system/v1'  
  5. # `longhorn-frontend` サービスをローカルホスト転送する場合
  6. longhorn_url = 'http://localhost:8080/v1'  
  7.  
  8. クライアント = longhorn.Client(url=longhorn_url)
  9.  
  10. # ボリューム操作
  11. #すべてのボリュームを一覧表示する
  12. ボリューム = client.list_volume()
  13. # ボリューム取得する 名前/ID
  14. testvol1 = client.by_id_volume(id= "testvol1" )
  15. # TESTVOL1を添付
  16. testvol1 = testvol1.attach(hostId= "worker-1" )
  17. # TESTVOL1を切り離す
  18. testvol1.デタッチ()
  19. # TESTVOL1スナップショットを作成します 名前 
  20. スナップショット1 = testvol1.snapshotCreate( name = "スナップショット1" )
  21. #スナップショットからバックアップを作成するNAME  
  22. testvol1.snapshotBackup( name = snapshot1.name )
  23. # TESTVOL1レプリカ更新します
  24. testvol1.レプリカ数を更新(レプリカ数=2)
  25. # Longhorn 統合テストその他の例については、https://github.com/longhorn/longhorn-tests/tree/master/manager/integration/tests を参照してください。
  26.  
  27. # ノード操作
  28. #すべてのノードを一覧表示する
  29. ノード = client.list_node()
  30. # ノード取得する 名前/ID
  31. node1 = client.by_id_node(id= "ワーカー-1" )
  32. # NODE1スケジュールを無効にする
  33. クライアント。更新(node1、allowScheduling= False )
  34. # NODE1スケジュールを有効にする
  35. クライアント。更新(node1、allowScheduling= True )
  36. # Longhorn 統合テストその他の例については、https://github.com/longhorn/longhorn-tests/tree/master/manager/integration/tests を参照してください。
  37.  
  38. # 設定操作
  39. #すべての設定を一覧表示する
  40. 設定 = client.list_setting()
  41. # 設定取得する 名前/ID
  42. バックアップターゲット設定 = client.by_id_setting(id= "バックアップターゲット" )
  43. #設定を更新する
  44. バックアップターゲット設定 = クライアント。更新(backupTargetsetting、値 = "s3://backupbucket@us-east-1/" )
  45. # Longhorn 統合テストその他の例については、https://github.com/longhorn/longhorn-tests/tree/master/manager/integration/tests を参照してください。

<<:  クラウドネイティブアーキテクチャが従うべき7つの原則

>>:  クラウドコンピューティングのワークロードを保護する方法

推薦する

ノーコードプラットフォームがSaaSを介してスタートアップの成長を促進する方法

テクノロジーが世界を変えている今、効率的でスケーラブルかつコスト効率の高い成長方法を企業に提供するこ...

QQ(テンセント)Weiboを使ってBaiduでランクインする方法

なぜ今日は「QQ(テンセント)Weiboを使ってBaiduランキングを行う方法」というタイトルの記事...

anyhk: 香港 HKBN NAT VPS、1Gbps 帯域幅、月額 24 元から、Netflix\TVB\HKTV\ViuTV をブロック解除

中国マーチャントであるanyhkは、香港(HKBN、HKT)と台湾HinetのNAT VPS、および...

raksmart: サイト全体の 10% 割引コード、生涯割引、サンノゼ コンピュータ ルーム、CN2 GIA

raksmartは、独自のサンノゼデータセンターを持つ古いブランドです。主に独立したサーバーのレンタ...

PieLayer - 3.5 ドル / メモリ 2g / SSD 45g / トラフィック 1T / ラスベガス

PieLayer は 2009 年に設立されました。現在のサーバーは、ドイツのフランクフルト、ニュー...

cloudsilk: 香港 VPS、500M 帯域幅、中国本土への直接接続、3 つのネットワーク CMI、20% 割引、年間 288 元から

Cloudsilk は、アウトバウンド ジャーニー用の BGP、バックホール用の香港 CMI ネット...

Rackspaceがトップクラスのクラウドホスティングを導入

熱狂的なサポートにより、Rackspace はクラウド コンピューティング サービスのリーダーになり...

SSDVirt - 6.38 USD/四半期/256M メモリ/10G SSD/月間トラフィック 1T

SSDVirt は、2010 年にテキサスで登録された Garrison Network Solut...

毎日の話題:キングソフトと優酷が不正競争で互いに訴訟、それぞれ勝訴

A5 Webmaster Network (www.admin5.com) は12月30日、北京市海...

ピンドゥオドゥオの「100億補助金」攻防

「値下げを手伝ってください」というWeChatソーシャル分裂であれ、「C2M」による産業チェーンの再...

月収数万?信じますか?ネットワークトレーニングとプロモーションについての簡単な説明

最近では、オンライン収入で月に数万元、オンラインのアルバイトで月に4,000元や8,000元を稼ぐ本...

PTC: SaaS の道を歩み続け、デジタル技術で現実を変える

[51CTO.com からのオリジナル記事] 2019 年、PTC は Onshape を買収し、製...

キーワードブラストの概念、観光ウェブサイトのキーワードブラスト戦略

却下理由: 記事が読みにくいキーワードブラストとは何ですか? また、キーワードブラストの概念は何です...