0

トークン値を他の .tf ファイルから他の .tf ファイルに解析します

このリンク とこの記事から理解しようとしました

data.tf

data "external" "get_token" {
  program = ["/bin/sh", "${path.module}/get-token.sh"]
}

get-token.sh

#!/bin/bash
token=$(kubectl -n kube-system exec [POD_NAME] cat /var/lib/kube-proxy/kubeconfig 2>/dev/null | grep token | awk '{print $2}'

プロキシ.tf

...
metadata_startup_script = <<-EOT
- name: kube-proxy
  user:
    token: ${lookup(data.external.get_token.result, "token")}
    certificate-authority-data: ${google_container_cluster.new_container_cluster.master_auth.0.cluster_ca_certificate}
...
EOT

私の期待は tokenと同じ値certificate-authority-dataです。 certificate-authority-data期待どおりの正確な値がありますが、tokennil または空白です。get-token.sh手動で実行しましたが、問題ありません。しかし、テラフォームがそれを解析したい場合、値は正常に解析されません。'variable の前後に追加しました${lookup(data.external.get_token.result, "token")}。動作しないようです。

4

1 に答える 1