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つの原則

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

推薦する

リフト&シフト後のクラウド コンピューティングの効率を最適化する 10 のステップ

今日、ますます多くの企業が、優れたパフォーマンスを利用してワークロードを最適化し、効率的に処理するた...

Namecheap: 18周年記念、ドメイン更新割引

米国のドメイン名登録業者 namecheap が 18 周年を迎えます。namecheap のドメイ...

事例分析:ウェブサイトのホームページがブロックされる理由と解決策

最近、グループ内の友人の 2 つの Web サイトのホームページがブロックされました。これが 1 つ...

BandwagonHost VPSの夕方のピーク時間帯におけるUSCA_4データセンターの簡単な評価により、それが適切かどうかを判断します。

Bandwagonhost VPS については、皆さんもよくご存知だと思います。現在、当社は 8 つ...

Autohome が独自に運営する垂直型 Web サイトはレッド オーシャンでしょうか、それともブルー オーシャンでしょうか?

8月末、盛拓メディアは、自動車とITという2つの事業分野に応じて、ウェブサイトグループを2つの独立し...

virmach: 格安 VPS の概要、virmach 割引コードの長期更新、およびいくつかの問題の概要

ここでは、virmach の安価な VPS の概要を示します。また、virmach にまだ注目してい...

新しいサイトを立ち上げた後に遭遇する可能性のある問題とその対処方法をまとめます

最近、立ち上げたばかりのいくつかの新しいサイトが、次々と伝説のサンドボックスを経験しました。各サイト...

持続可能で高品質な外部リンクを作成する方法

SEO に取り組んでいる友人は、外部リンクの構築が SEO にとって不可欠な作業であること、そして多...

Baidu によってウェブサイトが降格された後の 3 つの経験

最近の12月のBaiduのアップデートでは、ある日突然、ウェブサイトのホームページがダウングレードさ...

蘇寧のRed Boy買収の経験からeコマースサイトを救う道

今日、「SuningのRedbaby買収は、中小垂直電子商取引企業の課題解決のサンプルである」という...

HawkHost - VPS プロモーション 5.2% オフ (前例のない)

Hawkhost は有名なホスティング プロバイダーです。西海岸のデータ センター ホストは中国に非...

Pacificrack: 年間 12 ドル - 1G メモリ/1 コア/20g SSD/500g トラフィック/1Gbps 帯域幅

Pacificrack は 7 月の最新プロモーションで、月額 1.5 ドルと年額 12 ドルの 2...

Huawei Cloud TechWave Cloud Native 2.0 Special Dayが開催間近、GaussDBがアップグレードされて再デビュー

データは企業のデジタル変革の中核要素の 1 つであり、データベースはデータのライフラインをサポートす...