# package.yamlrole:policy:version: "2.0"statement:- action:- cloudapp:VerifyLicense- cvm:DescribeInstancesresource: "*"effect: allow
# variable.tf variable "cloudapp_cam_role" {}
cloudapp_cam_roleをプロセスの環境変数または設定ファイルに注入する必要があります。以下はCVMとコンテナの例です。# deployment.tfresource "tencentcloud_instance" "demo_cvm" {# 注意:CAMロールをCVMインスタンスのランタイムロールに紐付ける必要があります。cam_role_name = var.cloudapp_cam_roleuser_data_raw = <<-EOT#!/bin/bash# ロール名を環境変数へエクスポートするexport CLOUDAPP_CAM_ROLE=${var.cloudapp_cam_role}# 起動プロセスは環境変数からロール名を読み取ることが可能ですnode main.jsEOT}
# deployment.tfresource "tencentcloud_instance" "demo_cvm" {#注意:CVMのインスタンスランタイムロールにCAMロールを紐付ける必要があります。cam_role_name = var.cloudapp_cam_roleuser_data_raw = <<-EOT#!/bin/bash# ロール名を設定ファイルへエクスポートするecho "${var.cloudapp_cam_role}" >> /usr/local/.cloudapp_cam_role#プロセスを起動する際、コンフィグファイル /usr/local/.cloudapp_cam_role からロール名を読み取ることができます。node main.jsEOT}
# <deployment.tf>resource "tencentcloud_kubernetes_cluster" "tke-cluster1" {worker_config {# その他のworker_configの内容は省略しています。cam_role_name = var.cloudapp_cam_role}}resource "cloudapp_helm_app" "helm_charts" {chart_values = {CAM_ROLE = var.cloudapp_cam_role # ロール変数名をここに注入します。}}
# <values.yaml># CAMロール名。クラウドAPIの呼び出しに必要な一時キーを取得するために使用され、tf宣言から注入されます。CAM_ROLE: ""# <templates/statefulset.yaml>kind: StatefulSetspec:spec:containers:- name: "my-container"image: {{ quote .Values.SERVER_IMAGE }}env:# CAM_ROLEをコンテナの環境変数に付与します。- name: CAM_ROLEvalue: {{ quote .Values.CAM_ROLE }}
# <values.yaml># CAMロール名、クラウドAPIを呼び出すための一時的なキーを取得するために使用され、tf宣言から注入されます。CAM_ROLE: ""# <configmap.yaml># ConfigMapを宣言するkind: ConfigMapmetadata:name: cloudapp-configdata:.cloudapp_cam_role: {{ quote .Values.CAM_ROLE }}# <templates/statefulset.yaml>kind: StatefulSetspec:template:spec:containers:- name: "my-container"image: {{ quote .Values.SERVER_IMAGE }}valueMounts:- name: cloudapp-cam-rolemountPath: /usr/local/cloudappsubPath: .cloudapp_cam_rolevolumes:- name: cloudapp-cam-roleconfigMap:name: cloudapp-config
/usr/local/cloudapp/.cloudapp_cam_roleからCAMロールを読み取ることができます。curl http://metadata.tencentyun.com/meta-data/cam/security-credentials/$CLOUDAPP_CAM_ROLE
{"TmpSecretId": "(RESPONSED SECRET ID)","TmpSecretKey": "(RESPONSED SECRET KEY)","ExpiredTime": 1658866289,"Expiration": "2022-07-26T20:11:29Z","Token": "(RESPONSED TOKEN)","Code": "Success"}
フィードバック