SAE のシークレットは、Kubernetes の Secret リソースタイプに対応します。このトピックでは、saectl ツールを使用してシークレットを管理する方法と、Kubernetes YAML 設定ファイルのサンプルについて説明します。
前提条件
saectl ツールがインストール済みであること。また、AccessKey ID、AccessKey Secret、およびアプリケーションがデプロイされているリージョンが設定済みであること。詳細については、「saectl ツールのインストールと設定」をご参照ください。
シークレットの管理
saectl ツールを使用して、シークレットの作成、表示、更新、削除ができます。
シークレットの作成
secret.yamlという名前の設定ファイルを作成します。以下にサンプルコードを示します。各設定項目の詳細については、「Kubernetes YAML 設定項目」をご参照ください。apiVersion: v1 data: .dockerconfigjson: xxxxxxxx kind: Secret metadata: name: test namespace: default type: kubernetes.io/dockerconfigjsonsecret.yamlファイルが含まれるディレクトリで、次のコマンドを実行してアプリケーションのシークレットを作成します。saectl apply -f secret.yaml
シークレットのリスト表示
saectl get secret ${secret-name} -n ${namespace}
# ${secret-name} はシークレットの名前です。名前を指定しない場合、範囲内のすべてのシークレットが返されます。
# ${namespace} は名前空間 ID です。-n パラメーターで名前空間を指定しない場合、デフォルトの名前空間が使用されます。出力フィールドの説明を次の表に示します。
フィールド | 説明 |
NAMESPACE | シークレットが配置されている名前空間。 |
NAME | シークレットの名前。 |
TYPE | シークレットのタイプ。 |
AGE | シークレットの経過時間。 |
シークレット詳細の表示
get または describe コマンドを使用して、シークレットの詳細を表示できます。出力にはシークレットの設定項目が含まれます。詳細については、「Kubernetes YAML 設定項目」をご参照ください。
get コマンドを使用したシークレット設定の表示
saectl get secret ${secret-name} -o {yaml | json} -n ${namespace}
# ${secret-name} はシークレットの名前です。
# -o パラメーターは出力のフォーマットを指定します。
# ${namespace} は名前空間 ID です。-n パラメーターで名前空間を指定しない場合、デフォルトの名前空間が使用されます。describe コマンドを使用したシークレット詳細の表示
saectl describe secret ${secret-name} -n ${namespace}
# ${secret-name} はシークレットの名前です。
# ${namespace} は名前空間 ID です。-n パラメーターで名前空間を指定しない場合、デフォルトの名前空間が使用されます。シークレットの更新
edit または apply コマンドを使用してシークレットを更新できます。
edit コマンドを使用したシークレット設定のオンライン編集
次のコマンドを実行します。指定したシークレットの設定が YAML ファイルで開きます。
saectl edit secret ${secret-name} -n ${namespace} # ${secret-name} はシークレットの名前です。 # ${namespace} は名前空間 ID です。-n パラメーターで名前空間を指定しない場合、デフォルトの名前空間が使用されます。開いた YAML ファイルで、必要に応じて設定を変更します。ファイルを保存して閉じると、変更が有効になります。
apply コマンドを使用した YAML ファイルからのシークレット更新
secret.yaml 設定ファイルを変更します。ファイルが含まれるディレクトリで、次のコマンドを実行してシークレットを更新します。
saectl apply -f secret.yamlシークレットの削除
saectl delete secret ${secret-name} -n ${namespace}
# ${secret-name} はシークレットの名前です。
# ${namespace} は名前空間 ID です。-n パラメーターで名前空間を指定しない場合、デフォルトの名前空間が使用されます。Kubernetes YAML 設定項目
SAE のシークレットは、Kubernetes の Secret リソースタイプに対応します。次の表に、関連する Kubernetes YAML 設定項目を示します。
設定項目 | 説明 |
metadata.name | シークレットの名前。 この設定項目は更新できません。 |
metadata.creationTimestamp | シークレットが作成された時間。 この設定項目は更新できません。 |
metadata.namespace | シークレットが配置されている名前空間。 この設定項目は更新できません。 |
metadata.uid | シークレットの ID。 |
type | シークレットのタイプ。 この設定項目は静的フィールドです。値は kubernetes.io/dockerconfigjson です。 この設定項目は、シークレットの作成時に必須です。 この設定項目は更新できません。 |
data | シークレットのキーと値のペア。 次のフォーマットを使用します: この設定項目は、シークレットの作成時に必須です。 |