10.3. シークレットおよび Config Map への関数アクセスの手動による追加
シークレットおよび Config Map にアクセスするための設定を手動で関数に追加できます。これは、既存の設定スニペットがある場合などに、kn func config 対話型ユーティリティーとコマンドを使用するよりも望ましい場合があります。
10.3.1. シークレットのボリュームとしてのマウント リンクのコピーリンクがクリップボードにコピーされました!
シークレットをボリュームとしてマウントできます。シークレットがマウントされると、関数から通常のファイルとしてアクセスできます。これにより、関数がアクセスする必要がある URI のリストなど、関数が必要とするデータをクラスターに格納できます。
前提条件
- OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
-
Knative (
kn) CLI をインストールしている。 - 関数を作成している。
手順
-
関数の
func.yamlファイルを開きます。 ボリュームとしてマウントするシークレットごとに、以下の YAML を
volumesセクションに追加します。name: test namespace: "" runtime: go ... volumes: - secret: mysecret path: /workspace/secret-
mysecretをターゲットシークレットの名前に置き換えます。 /workspace/secretは、シークレットをマウントするパスに置き換えます。たとえば、
addressesシークレットをマウントするには、次の YAML を使用します。name: test namespace: "" runtime: go ... volumes: - configMap: addresses path: /workspace/secret-addresses
-
- 設定を保存します。
10.3.2. Config Map のボリュームとしてのマウント リンクのコピーリンクがクリップボードにコピーされました!
Config Map をボリュームとしてマウントできます。Config Map がマウントされると、関数から通常のファイルとしてアクセスできます。これにより、関数がアクセスする必要がある URI のリストなど、関数が必要とするデータをクラスターに格納できます。
前提条件
- OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
-
Knative (
kn) CLI をインストールしている。 - 関数を作成している。
手順
-
関数の
func.yamlファイルを開きます。 ボリュームとしてマウントする Config Map ごとに、以下の YAML を
volumesセクションに追加します。name: test namespace: "" runtime: go ... volumes: - configMap: myconfigmap path: /workspace/configmap-
myconfigmapをターゲット Config Map の名前に置き換えます。 /workspace/configmapは、Config Map をマウントするパスに置き換えます。たとえば、
addressesconfig map をマウントするには、次の YAML を使用します。name: test namespace: "" runtime: go ... volumes: - configMap: addresses path: /workspace/configmap-addresses
-
- 設定を保存します。
10.3.3. シークレットで定義されるキー値からの環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
シークレットとして定義されたキー値から環境変数を設定できます。以前にシークレットに保存された値は、実行時に関数によって環境変数としてアクセスできます。これは、ユーザーの ID など、シークレットに格納されている値にアクセスする場合に役立ちます。
前提条件
- OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
-
Knative (
kn) CLI をインストールしている。 - 関数を作成している。
手順
-
関数の
func.yamlファイルを開きます。 環境変数に割り当てる秘密鍵と値のペアからの値ごとに、以下の YAML を
envsセクションに追加します。name: test namespace: "" runtime: go ... envs: - name: EXAMPLE value: '{{ secret:mysecret:key }}'-
EXAMPLEを環境変数の名前に置き換えます。 -
mysecretをターゲットシークレットの名前に置き換えます。 keyをターゲット値にマッピングしたキーに置き換えます。たとえば、
userdetailssecretに保存されているユーザー ID にアクセスするには、次の YAML を使用します。name: test namespace: "" runtime: go ... envs: - value: '{{ configMap:userdetailssecret:userid }}'
-
- 設定を保存します。
10.3.4. Config Map で定義されるキー値からの環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
config map として定義されたキー値から環境変数を設定できます。以前に config map に格納された値は、実行時に関数によって環境変数としてアクセスできます。これは、ユーザーの ID など、config map に格納されている値にアクセスするのに役立ちます。
前提条件
- OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
-
Knative (
kn) CLI をインストールしている。 - 関数を作成している。
手順
-
関数の
func.yamlファイルを開きます。 環境変数に割り当てる Config Map のキーと値のペアからの値ごとに、以下の YAML を
envsセクションに追加します。name: test namespace: "" runtime: go ... envs: - name: EXAMPLE value: '{{ configMap:myconfigmap:key }}'-
EXAMPLEを環境変数の名前に置き換えます。 -
myconfigmapをターゲット Config Map の名前に置き換えます。 keyをターゲット値にマッピングしたキーに置き換えます。たとえば、
userdetailsmapに格納されているユーザー ID にアクセスするには、次の YAML を使用します。name: test namespace: "" runtime: go ... envs: - value: '{{ configMap:userdetailsmap:userid }}'
-
- 設定を保存します。
10.3.5. シークレットで定義されたすべての値からの環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
シークレットで定義されているすべての値から環境変数を設定できます。以前にシークレットに保存された値は、実行時に関数によって環境変数としてアクセスできます。これは、シークレットに格納されている値のコレクション (ユーザーに関する一連のデータなど) に同時にアクセスする場合に役立ちます。
前提条件
- OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
-
Knative (
kn) CLI をインストールしている。 - 関数を作成している。
手順
-
関数の
func.yamlファイルを開きます。 すべてのキーと値のペアを環境変数としてインポートするすべてのシークレットについて、以下の YAML を
envsセクションに追加します。name: test namespace: "" runtime: go ... envs: - value: '{{ secret:mysecret }}'1 - 1
mysecretをターゲットシークレットの名前に置き換えます。
たとえば、
userdetailssecretに保存されているすべてのユーザー データにアクセスするには、次の YAML を使用します。name: test namespace: "" runtime: go ... envs: - value: '{{ configMap:userdetailssecret }}'- 設定を保存します。
10.3.6. Config Map で定義されたすべての値からの環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
config map で定義されたすべての値から環境変数を設定できます。以前に config map に格納された値は、実行時に関数によって環境変数としてアクセスできます。これは、config map に格納されている値のコレクション (ユーザーに関する一連のデータなど) に同時にアクセスする場合に役立ちます。
前提条件
- OpenShift Serverless Operator および Knative Serving がクラスターにインストールされている。
-
Knative (
kn) CLI をインストールしている。 - 関数を作成している。
手順
-
関数の
func.yamlファイルを開きます。 すべてのキーと値のペアを環境変数としてインポートするすべての Config Map について、以下の YAML を
envsセクションに追加します。name: test namespace: "" runtime: go ... envs: - value: '{{ configMap:myconfigmap }}'1 - 1
myconfigmapをターゲット Config Map の名前に置き換えます。
たとえば、
userdetailsmapに保存されているすべてのユーザー データにアクセスするには、次の YAML を使用します。name: test namespace: "" runtime: go ... envs: - value: '{{ configMap:userdetailsmap }}'- ファイルを保存します。