Nutanix时代データベース& API自動化

  • 2021年12月8日
  • 0回复
  • 41意见

UserLevel 3.

本记事はChris Rasmussen氏が2020.年度11.月份16.日に.nutanix.dev.に投稿した記事の翻訳版です。

原文はこちら

Nutanix上での自動化を考えた場合,これは仮想マシンやイメージだけにとどまりません。Nutanix冷静ででアプリケーションライフサイクルサイクルサイクル管を,karbonでkubernetesクラスタを自動化することができます。これらについてはコンポーネントや製品について,多くの記事とコードのサンプルでカバーされています。

ほとんどすべてのアプリケーションの一部ではあるものの,未だにNutanix.devでカバーされていないコンポーネントがあります——データベースです。読者の一部はNutanix时代が”あらゆるクラウドのデータベース運用をシンプル化”するものであるということについてご存知でしょう.Eraがどのようなものかについて更に詳しくはNutanix.comの記載を参照していきましょう:

パブリック,プライベート,そしてハイブリッドクラウドにおいて,时代は単一コンソールからのシンプルで,高速,一貫した管理によって思い通りのデータベース管理を実現します。时代によって劇的に稼働時間が改善され,退屈なマニュアル操作は低減され,コスト効率性が高まります。この次世代のクラウドとクラスタをまたいだ1 -クリックのシンプルさが実現されます。これこそが时代が実現する新時代なのです。

- //www.jhbzcj.com/products/era.

しかしながら,もしもあなたがアプリケーションを设计立场であるのなら,nutanix eraによって提供されるたメリットをプログラマティック形形したいと考えますよよね?このこの记事はそんなそんな皆様ためのものもの

私の環境

私がこの记事ををを周ほどに书架。

もしもこれまでに环境内nantanix时代を展开したことがなく,时代用户指南をご确认ください。区域のインストールと展开はERA安装和初始配置

自动化とAPIののテストですですが,私はLinux上の邮递员のPOP OS 20.10(Ubuntu由来)を利用し书架ます。このこの记事书籍た。この记事を书架2020年11月16日时代では邮递员の新版版本は7.34.0です。

更に私の时代ののアプライアンスはipアドレス10.42.250.101に構成されています。もしまだそうしていないなら时代仮想アプライアンスのIPアドレスを書き留めて置くことをおぼえておいてください。

今日のタスク

本日の记事では,とてもシンプルに见えることを実ますします。実际のところ,あらゆるところに応じててのアプローチありますが,时代の利用すれば以のななを自动化

  • ERAでホストされたMYSQLデータベースをを管管専専の仮想マシンの
  • MYSQLインスタンスをその専専専マシン内に展开
  • 専用仮想マシンを时代の致理性ツールツールツールツールツールツール配原因,レポートできることを确认

この手順は时代UIを利用することで完全に迅速かつ容易になりますが,我々のタスクはこれを时代APIを利用してすべて行うことです。本日の記事からお持ち帰りいただきたいことは时代によってAPI経由でデータのリクエストを作成することがどんなに簡単になるかということです。それでは始めましょう。

リクエストを设备する

时代の自動化の観点から最も素晴らしいことの一つとして,上で述べてきたようなMySQL仮想マシンとデータベースの展開に必要なすべての情報について,(UI上から)問い合わせてくるだけでなく,最終的にJSONフォーマットの请求主体も提供してくれることで,全く同様のことをプロブラマティックに行うことができます。时代はNutanix製品として初めてこれを実装した製品で,膨大な時間を節約することができます。ちょっとした免責とともにではありますが,追加情報が必要になった際には公式なnutanix.devのapiドキュメントを常に公式リファレンスとして利用してください。

構成を指定

  1. Nutanix时代を时代アプライアンスのipアドレスをブラウザに入力量して开放,展开の最中间にした认证情てますししまでログインします。ERAのヴァージョンについての概要概要が展开头されされているいる名,时代が现エンティティリストなど表示れますリストリストされますは。あるため,仮想マシンやデータベースはまだ利用できません。
  2. 「仪表板(ダッシュボード)」「││││││││数据库(データデータ)」「数据库 -
  3. “MySQL”の下の“源实例(ソースインスタンス)“をクリックします。
  4. そののち”条款(展開)“ボタンをクリックし,“MySQL”を選択できます。

  1. ここで選択する設定は皆様次第です,データベース自体はデモ用途でのみ利用されているからです。以下に表示するのが私が基本的な展開で使った設定です。最后のステップで「条款(展開的)“をクリックしないでください

注意:最初のステップ内で,sshの公开键键が必要になりなりなりにご身のものがば利用ください,もしもしないないにははのを选択して利用してくださいのは构いませんが,他で使わないでください。):

将AAAAB3NzaC1yc2EAAAADAQABAAACAQDOlc2 + i6CanUwxRq3b0WsxSOA2kmbl1 / sBWXuRPA4XVBHFykqrhvpO01nxm49mGOhYcmO2XgnG9ZQGKohhJHTScGc2IUOkwjfPcc0KyXprn1LKz / y7aAi3jSaeH0iPmsGiwSQut1kjs + UZKqZ / keD0011X1o38cHg87kapemyOpeGm9Vx4vqEoXAHepzvabBSH4UfUdO2lRhKJ9/3Cyl2W4HW / uJBMu2W + 7 uc7o5mfrvoso1oybxorad / AF / vVl002QOwjfOZ6Qa0 + 4 mzwtflfkmbtvf + z502JGlqaGGZw4gGjBv5JJYa2JJxpdT5VYqx4obowDn3NE17uhjWGrwc7LMAIZzSc5SWChrze9M / 2 e96a5injvsppn56mt5f / MoKDuRAyzWtxGQqGD4yH1rB1YhLYTk5ug3GI2pPrW0iY / 3 gbn2xq / HTr08 + v + 7 t / sBj7wdWmRggkqs4 + rmxesRylhkcOI / x7NudGGJQA20x7TDsb6sJUHgmkotEjY4UNV8B6duhJW0XviRNDKXkgH6rZAa6VQyiuc + p56REn0EXDN7o + 0 zufocnpc7luu44mo + ghJv9UNtNwNWHE7 / X5sXqQxosSB5qcPyyLQQqDqLwN / XCXhNrEquaFhpMQ9KYazRwBOysacJ3XfhcsCc6jEXHLtfme3J2QNswr2kFUFXUZ + Q = = no-reply@acme.com

  1. 手順の最後のステップで,“API等效(等価API)“ボタンが表示されます。“API等效(等価API)“ボタンが今回注目すべきものです。こちらをクリックして、左のペーンの「Copy(コピー)」ボタンをクリックしてJSONデータをコピーしてください。

注意これからリクエストを邮局を利用ししてます,しかし,api等效ウィンドウの右侧右侧ををを右侧右侧ててであればばば,コードばサンプル提供してい。

生成されたjsonの请求体と必要なな合并のコードサンプル

ここで确认できるのは,时代が以前のステップのの値を受け取り,jsonのののの请求身体を作物成しいるというです。これこれを适切apiリクエストリクエストへへと,データベース仮想マシン,新闻インスタンス,そしてデータベース自身を1ステップで作品成し。

リクエスト作作作作者:

Nutanix时代API文档nutanix.dev.で利用できますが,それ以外のものをまずみていきましょう。

殆どのエンティティやエンティティのリストを取り扱うAPIと同様に,时代APIも时代から何が見えているのかを確認することができます。しかし,既存の仮想マシンやイメージ,平静などへのアクセスを提供するNutanix棱镜APIとは異なり,时代APIのエンドポイントは棱镜中心経由ではアクセスしません。それらへのアクセスは时代の仮想アプライアンスのIPアドレスから行います。これを心に留めておいてください,あとから混乱せずにすみます。

以下は时代APIを利用して行えるよく使うAPIリクエストです。

获取ERA数据库时代ののデータベースリストを受け取る的)

  • 请求类型:得到
  • 请求URL:https:// {{era_ip}} / era / v {{era_api_version}} /数据库
  • 例:
https://10.42.250.101/era/v0.8/databases.

按名称获取ERA数据库(名为から时代のデータベースを受け取る的)

  • 请求类型:
  • 请求URL:https:// {{era_ip}} /时代/ v {{era_api_version}} /数据库/名称/ {{database_name}}
  • 例:
https://10.42.250.101/era/v0.8/databases/name/mysql01_db01

配置数据库VMデータベース仮想マシンを展開する的)

JSON POST身体が準備できましたので,次のステップへと進むことができますNutanix时代APIを利用してデータベース展開のリクエストを送信します。

  • 请求类型:邮政
  • 请求URL:https:// {{era_ip}} /时代/ v {{era_api_version}} /数据库/条款
  • 要求身体:以前のステップでコピーしたもの
  • 例:
https:/10.42.250.101/era/v0.8/databases/provision.

适切な情iciticalををへへ诘め込ん,「送(诚信)「ボタンボタンをクリックする,レスポンスレスポンスは応答応答とおりとおりですですことができことができは前のとおり,スクリーンショット内の名前タイムマシンの名前をしなければばませませでし

{

“姓名”:“mysql01”,

“努力”:“6BDF5F0681743250574CFC9A051FDC7A21EB4223F0162A586F67ABCEFE92FCC1”,

:“operationId f75acb32 e2dc - 483 b - 9 - e4e - 212 d06f1700d”,

“DBSERVERID”:“EB352B69-B8DF-444E-886A-806378854B0B”,

“消息”:null,

:“entityId 4 a11b8c8-ea46-44ff-ba6f-0df195fd9728”,

“EntityName”:“MySQL01”,

:“entityType ERA_DATABASE”,

“状态”:“成功”,

“缔和赛”:null,

“decestencyReport”:null

}

jsonの応答内にでいくつかかこれまでない情さされます今回のでれれ注目しのoperationIdです。この操作に関するIDを利用して,他のAPIリクエストを送って,プログラマティックに展開のリクエストの状況を確認することもできます。

  • 请求类型:得到
  • 请求URL:https:// {{era_ip}} / era / v {{era_api_version}} / Operations / {{oction_id}}
https:/10.42.250.101/era/v0.8/operations/f75acb32-e2dc -483b-9e4e-212d06f1700d

私の开放システムでデータの展开着中にこのリクエスト走ら走らと,これが表示されます(レスポンスがとても长いので切り诘めてありますあり):

{

“EntityName”:“MySQL01”,

“工作”:null,

“stepGenEnabled”:假的,

“setStartTime”:False,

“时区”:“UTC”,

“id”:“f75acb32 e2dc - 483 b - 9 - e4e - 212 d06f1700d”,

“名称”:“提供MySQL数据库MySQL01”,

“unquename”:null,

“类型”:“provision_database”,

“开始时间”:“2020-11-16 03:56:00”,

“超时”:250,

“eMETIME”:null,

“installid”:null,

“OWNERID”:“EAC70DBF-22FB-462B-9498-949796CA1F73”,

“状态”:“1”,

“百分比填充”:“77”,

“脚步”: [

{

......

視覚的なリクエストの確認

同様に,リクエストリクエスト管理されいるいる中に时代uiではでは作品のを确认することができますますますますます。时代uiでは以下のような画面が表示されました

APIによる开展开代理は100%完了しています

データベース展開処理を選択することで,それぞれのステップの詳細を見ることができます。

まとめ

何が何が実现できたたの?ほんほんの仅か:

  • 新しいMySQLインスタンスを保持する専用のLinux VMを展開
  • 単独のデータベースを保持するmysqlインスタンスを开
  • 単一のデータベースを新闻インスタンス内に展开,これを新闻mysqlデータベースホストとする
  • これらのすべてが时代APIを利用して完了していますが,JSONの请求主体すら我々は各必要がありませんでした!

本稼働环境やエンタープライズ环境は环境のデータベースベース管によってしたた构构のが行わていますがが殆どののてますが,我们の料合,アプリケーションアプリケーション开放者jsonののの请求身体内にこうし情たを埋め込み,リクエストを诚信するだけです。つまり,我们は以下も実现ている

  • Nutanix平静の蓝图内の変数として入力値を利用
  • データベースの展开を必要とする网页アプリや他のあらゆるアプリケーションのこうしたたをを利用するアプリケーションとして开

更にこの先は吗?

もしも我们の推特のフィード@nutanixdevs.をフォローしているのであれば,Nutanixのデベロッパーマーケティングチームが最近nutanixdevliveという抽搐チャンネルチャンネルを始めたのをご覧になってと思いますます思い思います思いますますににににストリームを実施ししていストリームトピックス実施はし·いストリームなははははははははは···.nu​​tanix eRaと时代を利用することで,どのようにしクラウドクラウド普遍なベースベースををにするするか(NutanixDEVLive在抽搐へアクセスして,スケジュールの詳細情報を確認しましょう。

今回の情報がみなさまにとって興味深く,便利なものであることを願います。お読みいただきありがとうございます,良い日をお過ごしください


0回复

做第一个回复的人!

回复


Baidu