Red Hat OpenShift on IBM Cloud 에 대해 Terraform을 사용하여 클러스터 액세스 지정
IBM Cloud® 기반 Terraform은 IaC(Infrastructure as Code) 프린시펄에 따라 복잡한 멀티티어 클라우드 환경을 신속하게 구축할 수 있도록 IBM Cloud 서비스에 대한 예측 가능하고 일관성 있는 프로비저닝을 가능하게 해줍니다. IBM Cloud 사용하는 것과 유사합니다 CLI 또는 API 및 SDK를 사용하는 것과 유사하게, HCL( HashiCorp 구성 언어)을 사용하여 Red Hat OpenShift on IBM Cloud 리소스의 프로비저닝, 업데이트 및 삭제를 자동화할 수 있습니다.
관리되는 Terraform on IBM Cloud® 솔루션을 찾고 있습니까? IBM Cloud® Schematics을 사용해 보십시오. Schematics 사용하면 익숙한 테라폼 스크립팅 언어를 사용할 수 있지만, 테라폼 명령줄이나 IBM Cloud® 설정하고 유지 관리할 필요는 없습니다 공급자 플러그인을 설정하고 유지 관리할 필요가 없습니다. { Schematics IBM Cloud® 카탈로그에서 쉽게 설치할 수 있는 사전 정의된 Terraform 템플릿도 제공합니다.
Terraform을 사용하여 Red Hat OpenShift 클러스터 작성
Terraform을 사용하여 클러스터 액세스를 지정하려면 먼저 Terraform을 사용하여 Red Hat OpenShift 클러스터를 작성하는 단계를 수행하십시오. 이미 클러스터가 있는 경우 IAM 사용자 액세스 지정 을 참조하십시오.
시작하기 전에 Red Hat OpenShift on IBM Cloud 리소스를 만들고 작업하는 데 필요한 액세스 권한이 있는지 확인하세요.
-
Terraform on IBM Cloud® 시작하기 튜토리얼에 따라 Terraform CLI를 설치하고 Terraform용 IBM Cloud® 제공자 플러그인을 구성하십시오. 플러그인은 IBM Cloud® API를 추출합니다. 이 API는 Red Hat OpenShift 서비스 인스턴스 및 리소스를 프로비저닝하거나 업데이트하거나 삭제하는 데 사용됩니다.
-
튜토리얼에 따라 Terraform을 사용하여 단일 및 다중 구역 클러스터 작성 을 수행하십시오.
-
선택사항: Terraform을 사용하여 Red Hat OpenShift 클러스터 에 대한 IAM 사용자 액세스 정책을 구성하십시오.
Red Hat OpenShift 클러스터에 IAM 사용자 액세스 지정
Terraform을 사용하여 IBM Cloud 계정의 Red Hat OpenShift 클러스터에 대한 IAM 사용자 액세스 권한을 지정할 수 있습니다. IAM 정책에서 Terraform 사용에 대한 자세한 정보는 IBM Cloud 제공자 Terraform 문서를 참조하십시오.
-
Terraform 디렉토리에서
iam.tf
라는 구성 파일을 작성하십시오.iam.tf
파일에서 HashiCorp 구성 언어 (HCL) 를 사용하여 Red Hat OpenShift 클러스터에 대한 IAM 사용자 액세스 정책을 작성하도록 구성 매개변수를 추가하십시오. 다음 예제 구성은ibm_iam_user_policy
를 작성한 후 지정된 클러스터에 정책을 지정합니다. 자세한 내용은 테라폼 문서를 참조하세요.resource "ibm_iam_user_policy" "cluster" { ibm_id = "<ibm_id>" roles = ["<access_role_1>, <access_role_2>"] resources { service = "containers-kubernetes" resource_instance_id = "<cluster_name>" } }
Terraform을 사용하여 IAM 액세스 정책 구성 자원 설명 ibm_id
IAM 액세스 정책을 작성할 사용자의 IBM Cloud ID 또는 이메일 주소입니다. roles
사용자에게 지정할 액세스 역할의 쉼표로 구분된 목록입니다. service
액세스 정책이 적용되는 서비스 유형입니다. Red Hat OpenShift 클러스터에 대해 "openshift"
를 입력하십시오. 적용 가능한 서비스 유형의 전체 목록을 보려면ibmcloud oc catalog service-marketplace
를 실행하십시오.resource_instance_id
클러스터의 ID 또는 이름입니다. 구성 파일 예:
resource "ibm_iam_user_policy" "test_policy" { ibm_id = "ibm_id@ibm.com" roles = ["Viewer", "Editor", "Administrator"] resources { service = "containers-kubernetes" resource_instance_id = "my-cluster" } }
-
Terraform CLI를 초기화하십시오.
terraform init
-
Terraform 실행 플랜을 작성하고 출력을 검토하십시오. Terraform 실행 계획에는 계정에 Red Hat OpenShift 클러스터를 생성하기 위해 실행되는 모든 작업이 요약되어 있습니다. 출력의
Plan
섹션을 참고하십시오. 구성 파일이 하나의 IAM 사용자 액세스 정책을 작성하기 때문에 예제 출력은Plan: 1 to add, 0 to change, 0 to destroy
를 나타냅니다.Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # ibm_iam_user_policy.test_policy will be created + resource "ibm_iam_user_policy" "test_policy" { + account_management = false + ibm_id = "ibm_id@ibm.com" + id = (known after apply) + roles = [ + "Viewer", + "Editor", + "Administrator", ] + resources { + service = "containers-kubernetes" } } Plan: 1 to add, 0 to change, 0 to destroy.
-
구성 파일을 적용하여 액세스 정책을 작성하십시오. 완료하는 데 몇 초 정도 걸릴 수 있습니다. 출력에서 사용자의 IBM 이메일 뒤에 정책 ID 번호를 기록해 두십시오.
terraform apply
출력 예:
ibm_iam_user_policy.test_policy: Creating... ibm_iam_user_policy.test_policy: Creation complete after 2s [id=ibm_id@ibm.com/f81b161f-e1db-4084-8b28-cfcbe88fec72]
-
명령을 실행하고 이전에 기록한 정책 ID를 검색하여 IAM 액세스 정책이 성공적으로 작성되었는지 확인하십시오.
ibmcloud iam user-policies ibm_id@ibm.com
출력 예:
Policy ID: f81b161f-e1db-4084-8b28-cfcbe88fec72 Roles: Viewer, Editor, Administrator Resources: Service Name containers-kubernetes Service Instance my-cluster