モノクルでYAMLマニフェストテンプレートをつくる方法


Monokle あなたのマニフェストどのようにお互いに接続され、どのように既存のクラスタに翻訳する方法を示す簡単かつ直感的なインターフェイスを使用してkubernetesマニフェストを検査する素晴らしいツールです.また、あなたのチームがあなたのマニフェストとクラスタの間のドリフトを避けるために、より多くのコンポーネントを追加し続けることができます.
あなたの既存のマニフェストを検査することとは別に、Monokleは、両方から、そして、テンプレートからマニフェストを作成することができます.これらのテンプレートは、新しいコンポーネントを作成している間に速度を上げるのに役立ちますが、より重要なことに、それらは誤ってそれらを誤って設定しているエラーの理由を減らします.
たとえば、すべてのコンポーネントに特定のプロパティを追加するポリシーがある場合は、マニフェストを手動で作成し、必要なプロパティを追加することを忘れずに、テンプレート内のこれらのプロパティを適切に作成することができます.
Monokleを使用してテンプレートを作成すると、以下の例に示すように、開発者が必要なリソースを作成するためのフォームを作成できます.

Monokleは、Kubernetesを開始するためのデフォルトのテンプレートの数が付属しています、このチュートリアルでは、簡単なKubernetesポッドの独自のテンプレートを作成する方法を学びます.

プロジェクトの設定


テンプレートはMonokleのプラグインを介してインストールされます.プラグインは基本的に有効なモノクルを持つGithubリポジトリですpackage.json .
だからまず、先に行ってGithubリポジトリを作成しましょうmonokle-templates-plugin - リポジトリをローカルマシンに接続します.
我々は、現在作成しますpackage.json 我々の倉庫のルートの我々のテンプレートプラグインのために
< div >

テンプレートの設定


<ウル>
  • Monokleテンプレートの設定
  • フォームの設定
  • そして、Karbernetes YAMLはプレースホルダーでマニフェスト
  • < ull >
    <堀田>p >

    1テンプレートの設定


    < tag >各テンプレートに対して特定のフォルダが必要です.フォルダを作りましょうbasic-pod-template , 我々のパスセクションで定義したようにpackage.json :

    <> P >
    クラスをハイライト表示する
    $ mkdir basic-pod-template && cd basic-pod-template
    
    < div >
    <小野寺>テンプレートの設定を作成しましょう.これはMonokle固有のもので、どのテンプレートを作成しているかを定義します.モノクロには、次の2種類のテンプレートがあります.シンプルな< em >バニラ型テンプレートを作ります.p >
    < file >ファイルを作成するmonokle-template-json 次のコンテンツを使用します.
    < div class ="LagagCount - gig - Link - tag "
    "スクリプトのID "https://gist.github.com/aabedraba/b7a5b411e5b1fb1b646cf17fef39cf92.js//>
    < div >
    上のコードでは、フィールドを定義しています.スキーマとforms.uiSchema . これらのフィールドの両方は、良い入力フォームで私たちのテンプレートのユーザーを提供するためにMonokleによって使用されるファイルを定義します.The form-schema.json ファイルには、入力するユーザーに要求するフォームフィールドと、form-ui-schema.json フォームの表示方法(フィールドや説明などのタイトル)を定義します.p >
    次へ行きましょうform-schema.json POD :< p >を作成するためにユーザから要求する基本フィールドの定義
    < div class ="LagagCount - gig - Link - tag "
    "スクリプトのID "https://gist.github.com/aabedraba/192b99a147ad8287136540c77d188482.js//>
    < div >
    これは標準的なJSONスキーマ形式ですjson-schema website . JSONスキーマはほとんどのプロジェクトで使用され、現在作成中のもののようなカスタムフォームを定義します.ここで定義されているのは、必要なセクションで見られるように、フォームの必須フィールドです.p >
    <研究ノート>モノクルはreact-json-schema-form フロントエンドコンポーネントこれらのテンプレートのフォームをレンダリングします.私たちが作成したフォームフィールド定義と、次のビルドを行うUIフォーム定義をとります.p >
    < file >ファイルを作成するform-ui-schema.json 次のコンテンツを使用します.
    < div class ="LagagCount - gig - Link - tag "
    "スクリプトのID "https://gist.github.com/aabedraba/6d5f35e16be313663d6b449937e89c54.js//>
    < div >
    < tag >内部ウィジェットを使っていることに注意してください.namespaceSelection . このウィジェットは利用可能な名前空間のドロップダウンをユーザに提供します.p >

    3 .YAMLマニフェストテンプレート


    最後に、定義しますYAML manifest template プレースホルダでフォームデータを更新します.複数の連続したフォームを定義できるので、フォームとしてフォームを使用していることに注意してくださいmonokle-template.json , つの巨大な形を持つ代わりに.私たちのケースでは、我々は1つのフォームを持っているので、我々は使用されますforms[0] アクセスするにはp >
    を作成するtemplate.yaml ファイルを読み込みます.
    < div class ="LagagCount - gig - Link - tag "
    "スクリプトのID "https://gist.github.com/aabedraba/3c295a087756ee7edb2cd6c5f583eb9c.js//>
    < div >
    あなたが見ることができるように、我々は特定の種類のプロパティを強制的に実行することができました.また、Monokleが[[]]]を使っているのを見ることもできますJavaScriptで書かれたフォーム値と単純なスクリプトの補間の構文p >

    あなたのプロジェクトをGithubにアップロードします


    テンプレートを作成してアップロードしましょうpackage.json そして、このチュートリアルの冒頭に作成したGithubリポジトリへのテンプレートフォルダp >

    あなたのテンプレートをインポートする


    < tt >テンプレートの設定、フォーム定義、マニフェストをプレースホルダで定義したので、設定したプロジェクトでテンプレートをMonokleにインポートする必要があります.p >
    プラグインのセクションをクリックします.
    < P >


    <高橋潤子>p >
    < P >


    以下に示すように、プラグインマネージャーに新しいプラグインを見つけます.
    < P >


    < tt >テンプレートのセクションをチェックすると、新しいテンプレートを使用できるようになりました.p >
    < P >


    テンプレートの使用


    テンプレートを使って基本的なpodを作りましょう.
    < P >


    現時点でマニフェストが作成されたので、保存して配備できます!p >
    < P >


    と同じように、テンプレートを作成しました!🥳


    次の手順


    このチュートリアルからのすべての手順はthis Github repository – それをクローンに自由に感じて、あなた自身の変化をして、あなたの新しいテンプレートに出発点としてそれを使ってください.また、読むことができますし、Monokleのドキュメントの詳細についてはこちらをご覧くださいplugins and templates .


    チェックポイントMonokle on GitHub — そして、あなたが我々がK 8 sマニフェストと資源をより簡単にあなたの日常生活をするために加えるべきである何かを逃しているならば、我々に知らせてくださいp >
    <ウル>
  • Download the latest release on GitHub
  • チェックアウトdocumentation
  • 我々と連絡を取り合うDiscord server
  • < ull >