8.2. デバイステンプレート


フリートのデバイステンプレートには、テンプレートの更新時にフリート内のすべてのデバイスに適用されるデバイス仕様が含まれています。

たとえば、フリートのデバイステンプレートで、フリート内のすべてのデバイスが quay.io/flightctl/rhel:9.5 オペレーティングシステムイメージを実行する必要があることを指定できます。

その後、Red Hat Edge Manager サービスがターゲット仕様をフリート内のすべてのデバイスにロールアウトし、Red Hat Edge Manager エージェントが各デバイスを更新します。

デバイステンプレート内の他の仕様項目も変更できます。変更は同様に Red Hat Edge Manager によって適用されます。

しかし、フリート内のすべてのデバイスがまったく同じ仕様である必要がない場合もあります。Red Hat Edge Manager では、テンプレートにデバイス名またはラベルの値に基づいて設定されるプレースホルダーを含めることができます。

このプレースホルダーの構文は、Go テンプレート の構文と同じです。ただし、使用できるのは単純なテキストとアクションのみです。

プレースホルダーでの条件付きまたはループの使用はサポートされません。

{{ .metadata.labels.key }} または {{ .metadata.name }} など、デバイスのメタデータから任意のものを参照できます。

プレースホルダーでは次の関数も使用できます。

  • upper 関数により、値が大文字に変更されます。たとえば、関数は {{ upper .metadata.name }} です。
  • lower 関数により、値が小文字に変更されます。たとえば、関数は {{ lower .metadata.labels.key }} です。
  • replace 関数は、部分文字列のすべての出現を別の文字列に置き換えます。たとえば、関数は {{ replace "old" "new" .metadata.labels.key }} です。
  • getOrDefault 関数は、存在しないラベルにアクセスした場合にデフォルト値を返します。たとえば、関数は {{ getOrDefault .metadata.labels "key" "default" }} です。パイプラインで関数を組み合わせることができます。たとえば、組み合わせた関数は {{ getOrDefault .metadata.labels "key" "default" | upper | replace " " "-" }} です。
注記

必ず適切な Go テンプレート構文を使用してください。たとえば、ハイフンにより {{ .metadata.labels.target-revision }} は有効ではありません。代わりに、フィールドを {{ index .metadata.labels "target-revision" }} として参照する必要があります。

次の方法で、デバイステンプレートでプレースホルダーを使用できます。

  • デプロイメントステージでデバイスにラベルを付けることができます。たとえば、ステージラベルは stage: testing と stage: production です。次に、使用するオペレーティングシステムイメージを参照する際に、stage キーのラベルをプレースホルダーとして使用できます。たとえば、quay.io/myorg/myimage:latest-{{ .metadata.labels.stage }} のように指定したり、Git リポジトリー内の設定フォルダーを参照したりできます。
  • デプロイメントサイトによってデバイスにラベルを付けることができます。たとえば、デプロイメントサイトは site: factory-berlin および site: factory-madrid などです。
  • 次に、Kubernetes でネットワークアクセス認証情報を含むシークレットを参照する際に、site キーのラベルをパラメーターとして使用できます。デバイステンプレートの次のフィールドは、プレースホルダーをサポートします。

    フィールド

    サポートされているプレースホルダー

    オペレーティングシステムイメージ

    リポジトリー名、イメージ名、イメージタグ

    Git Config Provider

    ターゲットリビジョン、パス

    HTTP Config Provider

    URL 接尾辞、パス

    Inline Config Provider

    コンテンツ、パス

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る