Oracle Cloud [OCI]: Compute cloud-init을 사용하여 CentOS Stream 인스턴스 생성

Oracle Cloud의 Compute 인스턴스는 다양한 이미지를 제공하지만,
2021/1/17 시점에서는 CentOS Stream의 이미지가 준비되어 있지 않습니다.

따라서 CentOS8의 Compute 인스턴스를 만들고 cloud-init에서 업데이트를 수행하여 CentOS Stream을 사용합니다.
언제나 Compute 인스턴스를 만들 때와 거의 다르지 않고 매우 쉽게 만들 수있었습니다.

덧붙여 OCI의 초기 설정을 할 때의 cloud-init의 사용법은 이쪽의 기사가 매우 알기 쉽고, 참고로 했습니다.

■ 참고로 한 기사
cloud-init로 OCI Compute의 초기 설정 완료

작업 절차



1.Compute 인스턴스 생성
1-1. 이미지 변경 CentOS8을 선택
1-2.네트워킹의 구성
1-3.cloud-init 설정
2. 동작 확인

이번에 사용한 서비스와 기술



· OCI Compute
・cloud-init
· CentOS Stream

저자의 환경



Mac OS X 10.15.7

1.Compute 인스턴스 만들기



Compute 인스턴스를 만듭니다.
이번은 "VM.Standard.E3.Flex 1 코어 OCPU, 16 GB 메모리, 1 Gbps 네트워크 대역폭"에서 작성했습니다.

1-1. 이미지 변경



기본 Oracle Linux 7.9 대신 CentOS8을 선택합니다.



1-2.네트워킹 구성



이번에는 미리 등록한 VCN, 퍼블릭 서브넷을 선택하고, 배플 IP 주소를 부여하고 있습니다.

1-3.cloud-init 설정



확장 옵션 표시를 클릭하여 확장 옵션을 표시합니다.



확장 옵션의 관리 탭에서 초기화 스크립트에서 Cloud-init 스크립트 붙여넣기를 선택합니다.
cloud-init 스크립트의 입력란에 아래 스크립트를 붙여넣습니다.

cloud-init는 루트 권한으로 실행되므로 sudo없이 문제가 없습니다.
커맨드 실행중에는 도중에 [Y/N]의 입력이 요구되기 때문에, 모두 [-y]옵션을 붙이고 있습니다.
#!/bin/bash
dnf install centos-release-stream -y
dnf swap centos-{linux,stream}-repos -y
dnf distro-sync -y

cloud-init 입력 후, 작성을 클릭하고 인스턴스가 작성될 때까지 기다립니다.



2. 동작 확인



인스턴스 상태가 "시작 중"이 되어 몇 분 이상 경과한 후 동작 확인을 했습니다.

ssh로 만든 인스턴스에 로그인합니다.
아래 명령을 입력하여 CentOS Stream release 8이 표시되는지 확인합니다.
cat /etc/centos-release
CentOS Stream release 8

cloud-init 런타임 로그는 아래에 저장됩니다.
/var/log/cloud-init-output.log

로그를 확인하면 다음 로그가 출력되지만,
osmsplugin은 Oracle Linux 6/7/8에서 사용하는 플러그인이므로 영향을주지 않습니다.
Failed loading plugin "osmsplugin": No module named 'librepo'

다음과 같은 행이 표시되면 cloud-init의 처리 완료입니다.
Cloud-init v. 19.4 running 'modules:final' at Sun, 17 Jan 2021 14:54:04 +0000. Up 28.87 seconds.
Cloud-init v. 19.4 finished at Sun, 17 Jan 2021 15:00:08 +0000. Datasource DataSourceOracle.  Up 393.38 seconds

참고



■cloud-init 공식 매뉴얼
cloud-init Documentation

재게재



■ 참고로 한 기사
cloud-init로 OCI Compute의 초기 설정 완료

좋은 웹페이지 즐겨찾기