3.5.6. odo link
odo link
コマンドは、odo
コンポーネントを Operator がサポートするサービスまたは別の odo
コンポーネントにリンクするのに役立ちます。これは Service Binding Operator を使用して行います。現時点で、odo
は必要な機能を実現するために Operator 自体ではなく、Service Binding ライブラリーを使用します。
3.5.6.1. 各種リンクオプション
odo
は、コンポーネントを Operator がサポートするサービスまたは別の odo
コンポーネントにリンクするための各種のオプションを提供します。これらのオプション (またはフラグ) はすべて、コンポーネントをサービスにリンクする場合でも、別のコンポーネントにリンクする場合でも使用できます。
3.5.6.1.1. デフォルト動作
デフォルトでは、odo link
コマンドは、コンポーネントディレクトリーに kubernetes/
という名前のディレクトリーを作成し、そこにサービスとリンクに関する情報 (YAML マニフェスト) を保存します。odo push
を使用すると、odo
はこれらのマニフェストを Kubernetes クラスター上のリソースの状態と比較し、ユーザーが指定したものと一致するようにリソースを作成、変更、または破棄する必要があるかどうかを判断します。
3.5.6.1.2. --inlined
フラグ
odo link
コマンドに --inlined
フラグを指定すると、odo
は、kubernetes/
ディレクトリーの下にファイルを作成する代わりに、リンク情報をコンポーネントディレクトリーの devfile.yaml
にインラインで保存します。--inlined
フラグの動作は、odo link
および odo service create
コマンドの両方で似ています。このフラグは、すべてが単一の devfile.yaml
に保存されている場合に便利です。コンポーネント用に実行する各 odo link
および odo service create
コマンドで --inlined
フラグを使用するのを覚えておく必要があります。
3.5.6.1.3. --map
フラグ
場合によっては、デフォルトで利用できる内容に加えて、コンポーネントにバインディング情報をさらに追加する必要がある場合があります。たとえば、コンポーネントをサービスにリンクしていて、サービスの仕様 (仕様の略) からの情報をバインドしたい場合は、-map
フラグを使用できます。odo
は、リンクされているサービスまたはコンポーネントの仕様に対して検証を実行しないことに注意してください。このフラグの使用は、Kubernetes YAML マニフェストの使用に慣れる場合にのみ推奨されます。
3.5.6.1.4. --bind-as-files
フラグ
これまでに説明したすべてのリンクオプションについて、odo
はバインディング情報を環境変数としてコンポーネントに挿入します。この情報をファイルとしてマウントする場合は、--bind-as-files
フラグを使用できます。これにより、odo
はバインディング情報をファイルとしてコンポーネントの Pod 内の /bindings
の場所に挿入します。環境変数のシナリオと比較して、-bind-as-files
を使用すると、ファイルはキーにちなんで名前が付けられ、これらのキーの値はこれらのファイルのコンテンツとして保存されます。