참고:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 완료하려면 이 값을 클라우드 환경에 해당하는 값으로 대체하십시오.
Golang 마이크로서비스를 OCI Resource Manager와 함께 사용하여 OKE에 Airflow 배포
소개
Apache Airflow를 배포하고 삭제하는 OCI SDK, OCI-CLI, Resource Manager, OCI Devops, Helm의 사용을 나타내는 Golang 마이크로서비스를 사용하여 OKE 클러스터에 임시 리소스 집합을 배치하는 방법을 보여주는 6개 부분 자습서 시리즈의 1 부분입니다.
목표
이 자습서 시리즈는 Golang 마이크로서비스를 사용하여 다음 프로세스 흐름을 구현하여 OKE 클러스터에서 리소스를 만들고 삭제하는 방법을 보여줍니다. 이 자습서에서는 OKE 클러스터를 설치하고 구성하는 방법을 다룹니다.
구조
필요 조건
-
다음에 대한 지식:
- Git(풀, 추가, 커밋, 푸시)
- Linux
- SSH 키의 기본 개념
- Kubernetes의 기본 개념
작업 1: 마법사를 사용하여 OKE 클러스터 설치 및 구성
-
이 실습에 대한 새 구획 생성: Oracle Cloud 계정에 로그인합니다. 왼쪽 상단 탐색 메뉴를 누르고 ID 및 보안을 선택한 다음 구획을 누릅니다.
-
방금 oci-resource-manager-lab을 생성한 구획 내에 새 OKE 클러스터를 생성합니다.
주: 이 섹션에서는 ARM64 구조인 "Ampere" 구성을 사용합니다. 배포할 마이크로서비스는 동일한 아키텍처에 있어야 하며 그렇지 않으면 작동하지 않기 때문에 이는 중요 참고 사항입니다.
-
배스천용 점프박스로 작동할 VM 인스턴스 생성: OKE 끝점에 액세스하려면 배스천 세션을 설정해야 합니다. 이를 위해서는 먼저 점프박스 VM 인스턴스를 제공해야 합니다. 표준 설명서에 따라 새 인스턴스(OCI에서 인스턴스 실행)를 생성할 수 있습니다.
주: OKE 끝점에 액세스할 수 있는 콘솔 Cloud Shell을 사용할 수도 있습니다. 이 튜토리얼의 목적을 위해, 우리는 점프 상자에 Bastion을 갈 것입니다. 자세한 내용은 CloudShell를 참조하십시오.
-
컴퓨트로 이동하고 눌러서 무료 계층에 새 컴퓨트 인스턴스를 생성합니다.
-
free-tier에 있는 Ampere VM Shape(VM.Standard.A1.Flex)를 선택하고 OKE 노드와 동일한 서브넷에 배치합니다("oke-nodesubnet-quick-....").
-
컴퓨터에서 VM에 액세스하려면 랩탑 공개 키를 붙여 넣습니다. SSH 키 쌍이 없는 경우 Generate ssh-key-pair 지침을 따릅니다.
-
고급 옵션 표시를 누르고 Oracle Cloud 에이전트 탭으로 이동하고 배스천 체크박스를 선택합니다.
-
-
배스천을 만들고 점프박스 VM을 가리킵니다. 점프박스 VM과 동일한 서브넷을 선택했는지 확인하십시오.
-
이제 일정 시간 동안 지속되는 배스천 SESSION을 생성해야 하므로 만료된 후에는 새 세션을 생성해야 합니다. SSH 공용 키를 붙여넣어야 합니다.
주: Oracle Linux 이미지의 경우 기본 사용자 이름은 "opc"입니다.
-
SSH 명령이 제공되도록 한 다음 SSH 키 위치를 설정하십시오.
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.sa-saopaulo-1.amaaaaaa3jinyjqa4kfosxytglr6q27365j67yjdh5hxrfpqn4y72nq2p6ma@host.bastion.sa-saopaulo-1.oci.oraclecloud.com" -p 22 opc@10.0.10.127
-
로컬 SSH 키 위치에 대해 "privateKey"를 바꿉니다(일반적으로 ~/.ssh/id_rsa).
ssh -i ~/.ssh/id_rsa -o ProxyCommand="ssh -i ~/.ssh/id_rsa -W %h:%p -p 22 ocid1.bastionsession.oc1.sa-saopaulo-1.amaaaaaa3jinyjqa4kfosxytglr6q27365j67yjdh5hxrfpqn4y72nq2p6ma@host.bastion.sa-saopaulo-1.oci.oraclecloud.com" -p 22 opc@10.0.10.127
-
-
점프박스에 OCI CLI를 설치하고 설정합니다. OCI 리소스를 사용하려면 점프박스에서 OCI CLI를 설정해야 합니다. 전체 지침 및 세부정보는 Install and configure the OCI Command Line Interface (CLI)를 참조하십시오.
-
점프박스 콘솔로 이동하고 다음 명령을 실행합니다.
sudo dnf -y install oraclelinux-developer-release-el8 -y sudo dnf install python36-oci-cli -y
참고: 다음 세부 정보는 이후 단계에서 필요하므로 기록해 두십시오.
-
사용자 OCID: OCI 리소스에 액세스할 수 있는 사용자의 OCID입니다.
-
테넌시 OCID: 테넌시의 OCID입니다.
-
지역: 예: sa-saopaulo-1
-
-
OCIsetup config 명령을 실행합니다.
oci setup config
-
위 단계의 값 노트와 함께 필수 사항을 입력하고 Y를 눌러 RSA 키 쌍을 생성하고 나머지 필드에 대해 기본 enter를 사용합니다.
-
ssh-key 파일 oci_api_key_public.pem 및 oci_api_key.pem가 생성되었습니다.
-
이제 생성된 SSH 키를 Oracle Cloud 내의 사용자 API로 업로드해야 합니다. 자세한 내용은 Upload Key를 참조하십시오. OCI-CLI를 사용하여 Oracle Cloud 테넌트와 통신하려면 이 작업이 필요합니다. 이 자습서에서는 devmaster라는 특정 사용자를 만들었지만 원하는 사용자를 선택할 수 있습니다.
-
oci_api_key_public.pem
파일의 내용을 가져옵니다. -
API 키 추가를 누르고
oci_api_key_public.pem
파일의 내용을 붙여넣습니다. -
OCI 구성 파일은 2단계의 점프박스에 이미 생성되어 있어야 합니다.
~/.oci/config
파일을 확인하고 key_file 경로가 올바른지 확인한 다음 연결을 테스트합니다. -
점프박스 콘솔에서 다음 명령을 실행합니다.
oci iam compartment list
-
테넌시에서 현재 구획 목록을 가져와야 합니다. 그러면 OCI 테넌트에 액세스할 수 있습니다.
-
-
-
명령줄을 사용하여 OKE 클러스터에 액세스하도록 점프박스를 설정합니다.
-
점프박스 인스턴스에 kubectl 명령을 설치합니다.
참고: "arm64"를 아키텍처로 사용하고 있습니다. 점프박스에서 Ampere 구성을 사용 중이므로 이 작업이 필요합니다.
-
점프박스 콘솔에서 다음 명령을 실행합니다.
cd /home/opc curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/arm64/kubectl chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin
-
-
콘솔 페이지에서 OKE 클러스터로 이동하고 Access Cluster(클러스터 액세스)를 눌러 점프박스에서 실행하는 데 필요한 명령을 가져옵니다.
-
수정 권한을 실행하고 연결을 테스트합니다.
chmod 600 /home/opc/.kube/config kubectl get nodes
이제 점프박스에서 Kubernetes 클러스터에 연결됩니다!
다음 단계
이 학습 경로에서 다음 자습서를 진행하려면 여기를 클릭하십시오.
관련 링크
승인
- 작성자 - Joao Tarla(Oracle LAD A-Team 솔루션 엔지니어)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer을 방문하여 Oracle Learning Explorer가 됩니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
Use Golang microservices with OCI Resource Manager to deploy Airflow on OKE
F79687-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.