70.9. Kubernetes で configmap プロパティー機能を使用する
camel-kubernetes コンポーネントには、次の configmap 関連の機能が含まれています。
-
configmap- Kubernetes ConfigMaps から文字列プロパティーを検索する関数。 -
configmap-binary- Kubernetes ConfigMaps からバイナリープロパティーを検索する関数。
Camel は Kubernetes API Server から Configmaps を読み取ります。クラスターで RBAC が有効になっている場合、アプリケーションの実行に使用される ServiceAccount には、そのようなアクセスのための適切な権限が必要です。
Kubernetes プロパティープレースホルダー関数を使用する前に、次のいずれか (または両方) で設定を行う必要があります
- path - ローカルディスクから configmaps またはシークレットをロードするために、実行中の Pod にマウントする必要があるマウントパス。
-
kubernetes クライアント - Autowired。Kubernetes API サーバーに接続するために使用する
io.fabric8.kubernetes.client.KubernetesClientインスタンス。
Camel は最初にマウントパス (設定されている場合) を使用して検索し、次に KubernetesClient を使用するようにフォールバックします。
70.9.1. Kubernetes で configmap を使用する リンクのコピーリンクがクリップボードにコピーされました!
たとえば、Kubernetes の myconfig という名前の configmap には、次の 2 つのエントリーがあります。
drink = beer
first = Carlsberg
これらの値は、次のように Camel ルートで使用できます。
<camelContext>
<route>
<from uri="direct:start"/>
<log message="What {{configmap:myconfig/drink}} do you want?"/>
<log message="I want {{configmap:myconfig/first}}"/>
</route>
</camelContext>
キーが存在しない場合にデフォルト値を指定することもできます。
<log message="I want {{configmap:myconfig/second:Heineken}}"/>