18.7. チュートリアル: ConfigMap、シークレット、環境変数
このチュートリアルでは、config map、シークレット、環境変数 を使用して OSToy アプリケーションを設定する方法を示します。詳細は、各トピックのリンク先を参照してください。
18.7.1. ConfigMap を使用した設定
config map を使用すると、コンテナーイメージのコンテンツから設定アーティファクトを分離して、コンテナー化されたアプリケーションの移植性を維持できます。
手順
OSToy アプリの左側のメニューで、Config Maps をクリックすると、OSToy アプリケーションで使用できる config map の内容が表示されます。このコードスニペットは、config map の設定の例を示しています。
出力例
kind: ConfigMap apiVersion: v1 metadata: name: ostoy-configmap-files data: config.json: '{ "default": "123" }'
18.7.2. シークレットを使用した設定
Kubernetes の Secret
オブジェクトを使用すると、パスワード、OAuth トークン、SSH 鍵などの機密情報を保存および管理できます。機密情報をシークレットに格納すると、Pod 定義やコンテナーイメージにプレーンテキストで格納するよりも安全性と柔軟性が高まります。
手順
OSToy アプリの左側のメニューで、Secrets をクリックすると、OSToy アプリケーションで使用できるシークレットの内容が表示されます。このコードスニペットは、シークレットの設定の例を示しています。
出力例
USERNAME=my_user PASSWORD=VVNFUk5BTUU9bXlfdXNlcgpQQVNTV09SRD1AT3RCbCVYQXAhIzYzMlk1RndDQE1UUWsKU01UUD1sb2NhbGhvc3QKU01UUF9QT1JUPTI1 SMTP=localhost SMTP_PORT=25
18.7.3. 環境変数を使用した設定
環境変数を使用すると、コードを変更することなくアプリケーションの動作を簡単に変更できます。同じアプリケーションの別々のデプロイメントで、環境変数によって動作を変えることができます。Red Hat OpenShift Service on AWS では、Pod またはデプロイメントの環境変数の設定、表示、更新を簡単に行うことができます。
手順
OSToy アプリの左側のメニューで、ENV Variables をクリックすると、OSToy アプリケーションで使用できる環境変数が表示されます。このコードスニペットは、環境変数の設定の例を示しています。
出力例
{ "npm_config_local_prefix": "/opt/app-root/src", "STI_SCRIPTS_PATH": "/usr/libexec/s2i", "npm_package_version": "1.7.0", "APP_ROOT": "/opt/app-root", "NPM_CONFIG_PREFIX": "/opt/app-root/src/.npm-global", "OSTOY_MICROSERVICE_PORT_8080_TCP_PORT": "8080", "NODE": "/usr/bin/node", "LD_PRELOAD": "libnss_wrapper.so", "KUBERNETES_SERVICE_HOST": "172.30.0.1", "OSTOY_MICROSERVICE_PORT": "tcp://172.30.60.255:8080", "OSTOY_PORT": "tcp://172.30.152.25:8080", "npm_package_name": "ostoy", "OSTOY_SERVICE_PORT_8080_TCP": "8080", "_": "/usr/bin/node" "ENV_TOY_CONFIGMAP": "ostoy-configmap -env" }