이번 포스트에서는 Oracle Cloud Infrastructure Resource Manager 서비스(ORM)에서 Terraform을 사용하여 IaC(Infrastructure As Code)를 통해 애플리케이션에서 사용하는 모든 인프라 리소스를 프로비저닝을 해보도록 하겠습니다.
Lab 과정은 다음과 같습니다.
- CI/CD 클라우드 리소스를 격리 및 구성하기 위한 IAM Compartment(컴파트먼트) 생성
- 테라폼 코드가 저장되어 있는 git 저장소를 가리키는 ORM 스택 및 구성을 만듭니다.
- 인프라 프로비저닝: 네트워크, IAM, OKE의 Kubernetes 클러스터, DevOps 프로젝트
Task1: 컴파트먼트 생성(구획 생성)
컴파트먼트는 클라우드 리소스를 구성하고 격리하는 데 사용됩니다. 그러므로 컴파트먼트 구조와 액세스할 그룹을 신중하게 설계하는 것이 항상 권장합니다. 이 실습에서는 cicd 파이프라인을 통해 생성된 모든 리소스를 관리하기 위한 cicd 컴파트먼트를 생성합니다. IAM 그룹 및 정책을 생성하여 해당 컴파트먼트의 리소스를 관리할 수 있는 액세스 권한이 있는 사용자들만이 제어할 수 있도록 합니다.
1. 탐색 메뉴(페이지 왼쪽 상단의 "햄버거" 메뉴라고도 함) Identity & Security -> Identity -> Compartments로 이동합니다.
2. 테넌시(루트 컴파트먼트)에 컴파트먼트을 만들려면 컴파트먼트 만들기를 클릭합니다. 서브 컴파트먼트를 생생 하려면 컴퓨터 폴더 생성 하듯이 하부 폴더를 만듭니다. 컴파트먼트 디테일(세부) 정보 페이지에서 컴파트먼트 생성을 클릭합니다.
3. 컴파트먼트 이름과 설명을 입력합니다.
Task2: Git "deploy" repository를 임포트 합니다.
1. 새 브라우저 탭을 열고 GitHub로 이동합니다.
2. 상단 탐색 모음에서 더하기 기호 -> 저장소 가져오기를 클릭합니다.
3. OCI 아키텍처 DevOps 저장소의 URL을 입력하십시오. https://github.com/oracle-quickstart/oci-arch-devops
4. 새 배포 리포지토리의 이름을 입력합니다. 식별을 용이하게 하기 위하여 이름을 oci-devops-platform-deploy로 지정하겠습니다.
5. 개인 정보 설정을 비공개로 설정한 다음 페이지 하단의 가져오기 시작 버튼을 클릭하여 새 리포지토리를 만듭니다.
6. 새 저장소 URL을 엽니다.
Task3: Oracle Resource Manager 소스 공급자 설정
GitHub 계정으로 리포지토리를 가져온 후 OCI 리소스 관리자(ORM)를 사용하여 인프라를 프로비저닝할 것입니다. ORM에는 GitHub 및 GitLab 등과 같은 버전 관리 시스템/플랫폼과 통합하는 기능이 있습니다.
구성 소스 공급자는 Terraform 구성 파일이 저장된 소스 코드 제어 시스템에 대한 연결 정보입니다.
그러나 ORM에서 구성 소스 공급자를 설정하기 전에 몇 가지 추가 준비 작업이 있습니다.
GitHub 개인 액세스 토큰 생성
API를 통해 GitHub와 통합할 수 있는 GitHub PAT(Personal Access Token)를 생성해야 합니다(일반 사용자/암호 인증을 사용하지 않고). PAT는 API(ORM 서비스에서 사용)를 통해 실행할 수 있는 작업을 정의하는 일련의 권한(범위)과 연결됩니다.
GitHub에서 PAT를 생성하려면:
1. 사용자 설정으로 이동합니다. GitHub 페이지의 오른쪽 상단 모서리에서 프로필 사진 아래에 있는 화살표를 클릭합니다.
2. 저장소 페이지를 열린 상태로 유지하려면 새 브라우저 창/탭을 여는 것이 좋습니다. 따라서 설정을 마우스 오른쪽 버튼으로 클릭한 다음 클릭하여 새 탭이나 창에서 페이지를 엽니다.
3. 새 페이지의 왼쪽 메뉴에서 개발자 설정을 클릭합니다.
4. 왼쪽 메뉴에서 개인 액세스 토큰을 클릭합니다.
5. 새 토큰 생성을 클릭합니다. 계속하기 위해 이전에 인증하지 않은 경우 GitHub 계정을 인증하라는 메시지가 표시될 수 있습니다.
6. 토큰을 더 잘 식별할 수 있도록 메모를 입력합니다. oci-deploy-orm.
7. 그런 다음 토큰의 만료를 정의 합니다. 30 일.
8. 마지막으로 범위 선택 섹션에서 종속성을 자동으로 선택해야 하는 최상위 리포지토리 범위만 확인해야 합니다. 나머지 범위는 모두 선택하지 않은 상태로 두어야 합니다. 이렇게 하면 ORM이 모든 저장소와 통합될 수 있습니다.
9. 페이지 하단에서 토큰 생성을 클릭해야 합니다.
10. 그런 다음 토큰 값을 복사하여 안전 한 곳에 저장합니다. 토큰을 분실한 경우 안전하게 새 토큰을 생성하고 구성을 업데이트할 수 있습니다.
Task4: 오라클 인프라스트럭처 리소스 매니저(ORM) 스택 생성
이번 단계에서는 OCI Resource Manager 스택을 생성 할 것입니다. 스택은 주어진 Terraform 구성에 해당하는 Oracle Cloud Infrastructure 리소스 모음입니다. 각 스택은 단일 영역의 지정한 컴파트먼트에 종속되어 있습니다. 그러나 지정된 스택의 리소스는 여러 지역에 배포할 수 있습니다. OCID(고유 식별자)는 각 스택에 할당됩니다.
1. 리소스 관리자 서비스를 엽니다. 탐색 경로 메뉴에서 리소스 관리자를 직접 클릭할 수 있습니다. 그렇지 않으면 기본 탐색 메뉴 -> 개발자 서비스 -> 리소스 관리자로 돌아갑니다.
2. 왼쪽 메뉴에서 스택을 클릭합니다. 목록 범위 섹션에서 cicd 구획이 선택되어 있는지 확인하십시오. 그런 다음 스택 생성 버튼을 클릭하여 스택 생성 마법사 페이지를 엽니다.
3. 1단계. 스택 정보 페이지에서 Terraform 구성의 출처에 대해 Source Control System을 선택합니다.
4. 스택 구성 섹션에서 다음 데이터를 입력합니다.
5. 스택 정보 섹션에 다음을 입력합니다.
6. 페이지 하단에서 다음을 클릭하여 2. 변수 구성 페이지로 이동합니다.
변수 구성 페이지에서:
6.1 CCD 구획 선택
6.2 프로젝트 이름 설정 HelloOCIDevOps
6.3 둘 다 DevOps Pipeline에서 배포를 실행합니까? 및 고급 옵션을 표시하시겠습니까? 체크 해제되어 있습니다.
정책 설정: 변경할 필요 없음, 기본값 사용: DevOps 파이프라인용 동적 그룹 생성(선택됨).
OKE 클러스터 설정:
OKE 워커노드: 워커노드의 수를 3개에서 1개로 변경 합니다. 나머지 값들은 기본 설정값으로 놔둡니다.
기존 OKE 클러스터를 재사용하려면 새 OKE 클러스터 생성을 선택 취소한 다음 클러스터가 배포된 구획과 클러스터를 선택합니다.
8. 페이지 하단의 다음을 클릭하여 3. 검토 페이지로 이동합니다.
9. 수정된 변수 값을 검토한 후 생성 버튼을 클릭하여 인프라 온보드 스택을 생성합니다.
Task5: 오라클 인프라스트럭처 프로비저닝
1. 스택을 생성한 후 OCI에서 작업이라고도 하는 일부 Terraform 작업을 수행할 수 있습니다. 계획 버튼을 클릭하고 계획의 이름을 정의합니다(예: deploy1 Resource Manager는 Terraform 구성을 구문 분석하고 연결된 스택에 대한 실행 계획을 생성합니다. 실행 계획은 Oracle Cloud Infrastructure 리소스를 프로비저닝하기 위해 계획된 특정 작업의 순서를 나열합니다. 실행 계획은 적용 작업으로 전달된 다음 지침을 실행합니다.
2. 작업 상태가 성공이면 페이지 상단의 스택 세부 정보 탐색 메뉴를 클릭하여 이전 페이지로 돌아갑니다.
3. 그런 다음 적용을 클릭하고 이름(예: deploy1)을 입력하고 이전에 생성된 적용 작업 계획 해결(deploy1)을 선택합니다. 그러면 Oracle Cloud Infrastructure 리소스를 생성(또는 수정)하기 위한 실행 계획이 적용됩니다. 이 작업은 이 실습에 필요한 모든 인프라 리소스(IAM, 네트워크, 로깅, OKE)를 프로비저닝하므로 완료하는 데 약간의 시간(15-20분)이 걸립니다.
4. 작업이 실행되는 동안 로그를 확인할 수 있습니다.
5. 작업이 성공하면 작업 리소스 메뉴를 클릭하여 프로비저닝된 인프라 리소스 목록을 시각화할 수 있습니다.
6. 그런 다음 변수를 변경하려면 스택 세부 정보 페이지로 돌아가서 편집 버튼을 클릭하여 변경할 수 있습니다. 그런 다음 계획 및 적용 작업을 실행하여 이러한 변경 사항을 인프라에 적용해야 합니다. 일부 리소스는 변경할 수 없으며 적용을 누른 후 Terraform/ORM에 의해 완전히 파괴되고 다시 생성될 수 있으므로 항상 실행 계획을 검토하십시오.
'9. 실습 Hands-on Lab' 카테고리의 다른 글
Compute Instacne에 Reserved Public IP 설정하기 (0) | 2022.04.28 |
---|---|
컴퓨트 인스턴스 Compute Instance를 Backup과 Restore하기 (0) | 2022.04.28 |
오라클 레드불 레이싱 다음 결과 예상 하기 (0) | 2022.04.01 |
가상 클라우드 네트워크 구성 Create VCN (0) | 2022.03.31 |
고급 로우 코드 개발 Part1 Lab2 - Oracle APEX on ADB Workshop (0) | 2022.03.31 |
댓글