파이썬 스크립트의 테라폼 출력
모두들, 나는 테라폼이 처음이라 질문이 거의 없다. 따라서 terraform main.tf 파일은 적색편이 클러스터를 만들고 있으며 jdbc url의 출력을 사용해야 하는 다른 디렉토리(동일한 프로젝트)에 파이썬 스크립트가 있습니다. 파이썬 코드에서 동적으로 사용할 수 있는 방법이 궁금합니다. CI/CD에서 둘 다 함께 실행되며 새로 생성된 적색편이 URL의 출력은 파이썬 파일인 다음 DAG로 사용되어야 한다. 감사해요.
사용자의 특정 CI/CD 환경을 알지 못하고 이러한 환경을 동일한 CI/CD 단계에서 실행하고 있는지 또는 별도의 단계에서 실행하고 있는지 알지 못하면 정확한 답변을 제공하기가 어렵습니다. 다음은 몇 가지 일반적인 제안 사항입니다:
Terraform 출력 값을 환경 변수로 설정하여 다음과 같이 Python 스크립트에서 읽을 수 있습니다:
export MY_OUTPUT_VARIABLE=$(terraform output my_output_variable)
또는 다음과 같이 Python 스크립트를 입력 인수로 사용하도록 구성할 수 있습니다:
python my_python_script.py --input-var $(terraform output my_output_variable)
또는 Terraform 출력을 파일에 파이프로 연결할 수 있는데, 이는 Terraform과 Python을 별도의 CI/CD 단계로 실행하는 경우 유용할 수 있습니다. 그런 다음 Python 스크립트는 파일을 직접 읽을 수도 있고, 파일의 값을 읽어 입력 또는 환경 변수로 Python 스크립트에 전달하는 셸 스크립트로 파일을 래핑할 수도 있습니다. 예:
terraform output my_output_variable > terraform_output
나중에:
python my_python_script.py --input-var $(cat terraform_output)
다른 옵션은 출력을 클라우드 비밀로 저장한 다음 Python 스크립트에서 프로그래밍 방식으로 비밀에 액세스하는 것입니다.
예를 들어, 버킷 이름에 임의 접미사를 추가하여 액세스할 수 있습니다:
resource "google_storage_bucket" "my_bucket" {
project = my_project_id
name ="my-bucket"
}
resource "google_secret_manager_secret" "my_bucket_name_secret" {
project = my_project_id
secret_id = "my-bucket-name"
}
resource "google_secret_manager_secret_version" "some_name" {
secret = google_secret_manager_secret.my_bucket_name.id
secret_data = google_storage_bucket.my_bucket.name
}
'개발하자' 카테고리의 다른 글
Float - 눌린 상태의 용기? (0) | 2023.04.29 |
---|---|
반대하지 않는 이유.키가 TypeScript에서 유형의 키를 반환합니까? (0) | 2023.04.28 |
Kubernetes 및 JVM 메모리 설정 (0) | 2023.04.27 |
AKS(Azure Managed Kubernetes)에서 모든 컴퓨팅 중지 (0) | 2023.04.27 |
URL을 경로 매개 변수로 Fast에 전달하는 방법API 경로? (1) | 2023.04.26 |