주:
- 이 자습서는 Oracle에서 제공하는 무료 실습 환경에서 사용할 수 있습니다.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Linux Automation Manager에서 Hop 노드 사용
소개
Oracle Linux Automation Manager는 업스트림 수신기 프로젝트를 기반으로 서비스 메시 기술을 지원합니다. 서비스 메시는 데몬 기반 수신기 응용 프로그램을 통해 컨트롤러, 홉 및 실행 노드를 오버레이 네트워크에 연결합니다.
Oracle Linux Automation Manager는 서비스 메시의 일부로 홉 노드를 도입했습니다. 이 노드 유형을 사용하면 SSH가 점프 호스트를 사용하는 것과 동일한 방식으로 제어 플레인 노드에서 원격 또는 제한된 네트워크의 실행 노드로 작업을 중계할 수 있습니다. 이러한 구현을 통해 여러 실행 노드에서 작업을 실행하고 자동화가 필요한 시스템에 가까운 작업을 이동할 수 있습니다.
아래 샘플 인벤토리는 사용 가능한 실습 환경에서 다중 노드 클러스터 배치를 정의합니다. 하드웨어에서 클러스터 설치를 자동화할 수 있도록 하려면 ansible-playbooks 프로젝트의 Oracle Linux Automation Manager 섹션에서 플레이북을 확인하십시오.
이 샘플 인벤토리는 두 개의 제어 플레인 노드, 두 개의 실행 노드, 단일 원격 실행 노드가 있는 홉 노드 및 원격 데이터베이스로 구성된 클러스터를 생성합니다.
이 이미지는 해당 클러스터에 대한 서비스 메시 토폴로지를 보여줍니다.
이 자습서에서는 서비스 메시의 상태를 확인하고 다양한 노드 간의 토폴로지 통신을 확인하는 몇 가지 방법을 보여줍니다.
목표
이 자습서에서는 다음을 수행하는 방법을 배웁니다.
- 제어 플레인 및 실행 노드의 용량 나열
- 제공된 클러스터 노드에 대한 서비스 메시 상태 보기
- API 호출을 사용하여 서비스 메시 상태 보기
필요 조건
- Oracle Linux Automation Manager가 설치되고 Service Mesh가 구성된 클러스터
- OCI(Oracle Cloud Infrastructure) 계정
- 컴파트먼트의 리소스 작업을 수행할 수 있는 권한이 있는 OCI 계정의 사용자
- 해당 계정의 인증서 및 OCID 정보에 액세스
Oracle Linux Automation Manager 설치에 대한 자세한 내용은 Oracle Linux Automation Manager Installation Guide를 참조하십시오.
Oracle Linux Automation Manager 인스턴스 배포
주: 고유 테넌시에서 실행 중인 경우 랩 환경을 배치하기 전에 linux-virt-labs
GitHub 프로젝트 README.md을 읽고 필요 조건을 완료하십시오.
-
Luna Desktop에서 터미널을 엽니다.
-
linux-virt-labs
GitHub 프로젝트를 복제합니다.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
작업 디렉토리로 변경합니다.
cd linux-virt-labs/olam
-
필요한 모음을 설치합니다.
ansible-galaxy collection install -r requirements.yml
-
Oracle Linux 인스턴스 구성을 업데이트합니다.
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-control-01" type: "control" 2: instance_name: "olam-control-02" type: "control" 3: instance_name: "olam-execution-01" type: "execution" 4: instance_name: "olam-execution-02" type: "execution" 5: instance_name: "olam-remote-execution-01" type: "execution" 6: instance_name: "olam-hop-01" type: "execution" 7: instance_name: "olam-db" type: "db" passwordless_ssh: true olam_type: none add_cluster_ports: true EOF
-
lab 환경을 배치합니다.
ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
무료 실습 환경에서는 Oracle Cloud Infrastructure SDK for Python용 RPM 패키지를 설치하므로 추가 변수
ansible_python_interpreter
이 필요합니다. 이 패키지의 설치 위치는 python3.6 모듈 아래에 있습니다.기본 배치 구성은 AMD CPU 및 Oracle Linux 8을 사용합니다. Intel CPU 또는 Oracle Linux 9를 사용하려면 배치 명령에
-e instance_shape="VM.Standard3.Flex"
또는-e os_version="9"
를 추가합니다.중요: 플레이북이 성공적으로 실행될 때까지 기다렸다가 일시 중지 작업에 도달합니다. 플레이북의 이 단계에서 Oracle Linux Automation Manager 설치가 완료되고 인스턴스가 준비됩니다. 배포하는 노드의 공용 및 전용 IP 주소를 인쇄하는 이전 플레이를 기록해 둡니다.
Oracle Linux Automation Manager 클러스터 배포
-
새 터미널을 엽니다.
-
linux-virt-labs 프로젝트의 olam 디렉토리에 있는지 확인합니다.
-
기본 인벤토리 파일을 변환합니다.
이 변환 스크립트는 인스턴스 배치 플레이북에서 생성된 기본 인벤토리에서 클러스터 호환 인벤토리 파일을 생성합니다.
chmod +x convert_ansible_inventory.sh ./convert_ansible_inventory.sh hosts > hosts.cluster
-
클러스터 배치 플레이북을 실행합니다.
ansible-playbook -i hosts.cluster deploy_olam_cluster.yml -e ansible_python_interpreter="/usr/bin/python3.6"
WebUI에 로그인합니다.
-
터미널을 열고 Oracle Linux Automation Manager 클러스터의 olam-control-01 인스턴스에 대한 SSH 터널을 구성합니다.
ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
-
웹 브라우저를 열고 URL을 입력합니다.
https://localhost:8444
주: 사용된 브라우저를 기반으로 보안 경고를 승인합니다. Chrome에 대해 **고급 버튼을 누른 다음 로컬 호스트로 진행(안전하지 않음) 링크를 누릅니다.
-
자동 배치 중 생성된 USERNAME
admin
및 PASSWORDadmin
를 사용하여 Oracle Linux Automation Manager에 로그인합니다. -
로그인 후 WebUI가 표시됩니다.
WebUI에서 인스턴스 그룹 확인
인스턴스 그룹을 사용하면 정책에 따라 클러스터 내의 인스턴스를 그룹화할 수 있습니다. 이러한 정책은 인스턴스 그룹 동작 및 작업 실행을 결정합니다.
-
탐색 메뉴의 관리에서 인스턴스 그룹을 누릅니다.
-
인스턴스 그룹 페이지를 검토합니다.
이 페이지에는 정책 설정에 따른 용량이 표시됩니다. 이러한 정책 설정에 대한 자세한 내용은 Oracle Linux Automation Manager 사용 설명서에서 리소스 설정 장의 인스턴스 그룹 관리를 참조하십시오.
클러스터 토폴로지 시각화
-
탐색 메뉴의 관리 섹션 아래에서 토폴로지 뷰를 누릅니다.
-
토폴로지 뷰 페이지를 검토합니다.
이 페이지에는 각 노드가 포함된 클러스터 토폴로지의 그래픽 레이아웃이 표시됩니다. 노드 위로 롤오버하면 한 노드에서 다른 노드로 화살표가 표시되어 피어 연관을 나타냅니다.
인스턴스 나열
관리자는 awx-manage
유틸리티를 사용하여 인스턴스 그룹(대기열)과 연관된 인스턴스를 구성하고 나열할 수 있습니다. 관리자는 클러스터 내의 모든 제어 플레인 노드에서 이 작업을 수행합니다.
-
olam-control-01 인스턴스에 연결된 터미널 창으로 전환합니다.
-
Oracle Linux Automation Manager 사용자 계정에 로그인합니다.
sudo su -l awx -s /bin/bash
-
인스턴스를 나열합니다.
awx-manage list_instances
출력 예:
[awx@olam-control-01 ~]$ awx-manage list_instances [controlplane capacity=594] 10.0.0.50 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59" 10.0.0.52 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59" [execution capacity=891] 10.0.0.57 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:38" 10.0.0.59 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59" 10.0.0.61 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59" [ungrouped capacity=0] 10.0.0.53 node_type=hop heartbeat="2025-04-26 17:23:32"
출력에는
controlplane
및execution
대기열과 연관된 각 노드가 표시됩니다. 홉 노드는 용량을 포함하는 활성 대기열과 연관되지 않으므로ungrouped
대기열에 나타납니다. -
Oracle Linux Automation Manager 사용자의 연결을 해제합니다.
exit
이 작업을 수행하면 olam-control-01 인스턴스의 oracle 사용자 계정으로 돌아갑니다.
서비스 메시 상태 표시
서비스 메시가 실행 중인 상태에서 서비스 메시 및 연관된 노드의 상태를 가져올 수 있습니다.
-
서비스 메시의 상태를 가져옵니다.
sudo receptorctl --socket /var/run/receptor/receptor.sock status
출력 예:
[oracle@olam-control-01 ~]$ sudo receptorctl --socket /var/run/receptor/receptor.sock status Node ID: 10.0.0.50 Version: 1.4.2 System CPU Count: 4 System Memory MiB: 31804 Connection Cost 10.0.0.59 1 10.0.0.61 1 10.0.0.53 1 Known Node Known Connections 10.0.0.50 10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 10.0.0.52 10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 10.0.0.53 10.0.0.50: 1 10.0.0.52: 1 10.0.0.57: 1 10.0.0.57 10.0.0.53: 1 10.0.0.59 10.0.0.50: 1 10.0.0.52: 1 10.0.0.61 10.0.0.50: 1 10.0.0.52: 1 Route Via 10.0.0.52 10.0.0.53 10.0.0.53 10.0.0.53 10.0.0.57 10.0.0.53 10.0.0.59 10.0.0.59 10.0.0.61 10.0.0.61 Node Service Type Last Seen Tags 10.0.0.50 control Stream 2025-04-26 17:29:26 {'type': 'Control Service'} 10.0.0.52 control Stream 2025-04-26 17:28:54 {'type': 'Control Service'} 10.0.0.61 control Stream 2025-04-26 17:28:54 {'type': 'Control Service'} 10.0.0.59 control Stream 2025-04-26 17:28:54 {'type': 'Control Service'} 10.0.0.53 control Stream 2025-04-26 17:28:32 {'type': 'Control Service'} 10.0.0.57 control Stream 2025-04-26 17:28:33 {'type': 'Control Service'} Node Work Types 10.0.0.50 local 10.0.0.52 local 10.0.0.61 ansible-runner 10.0.0.59 ansible-runner 10.0.0.53 local 10.0.0.57 ansible-runner
receptorctl
명령은 제어 소켓 인터페이스를 통해 서비스 메시와 상호 작용하는 프론트 엔드 CLI입니다.--help
를receptorctl
명령에 전달하면 CLI 옵션과 다른 명령이 표시됩니다. -
제어 플레인 노드에서 원격 실행 노드로 추적 경로를 실행합니다.
sudo receptorctl --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i)
출력 예:
[oracle@olam-control-01 ~]$ sudo receptorctl --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i) 0: 10.0.0.50 in 282.074µs 1: 10.0.0.53 in 817.948µs 2: 10.0.0.57 in 817.226µs
주: 출력에 렌더링에 실패한 특수 문자가 표시되면 메뉴에서 터미널 > 인코딩 설정 > 유니코드를 눌러 터미널 창의 인코딩을 UTF-8로 전환합니다.
위 예에서 경로는 첫번째 제어 플레인 노드에서 시작되고 홉 노드를 통과하며 원격 실행 노드에 위치합니다.
WebUI에서 서비스 메시 상태 확인
Oracle Linux Automation Manager API는 관리자가 서비스 메시 클러스터의 각 노드에 대한 상태 정보를 볼 수 있도록 하는 REST API 호출을 사용합니다.
-
사용 가능한 실습 환경에서 브라우저 window로 전환하고 URL을 입력합니다.
https://localhost:8444/api/login/
주: 사용된 브라우저를 기반으로 보안 경고를 승인합니다. Chrome의 고급 버튼을 누른 다음 로컬 호스트로 진행(안전하지 않음) 링크를 누릅니다.
-
Oracle Linux Automation Manager REST API에 로그인합니다. 자동 배치 중 생성된 사용자 이름
admin
및 비밀번호admin
를 사용합니다. -
로그인 성공 후 REST API가 표시됩니다.
-
응답 영역에서 /api/v2/ 하이퍼링크 중 하나를 누릅니다.
Click은 GET 요청을 수행하고 사용 가능한 모든 API 리소스를 표시합니다.
-
아래쪽으로 스크롤하고 mesh_visualizer 링크를 누릅니다.
-
출력을 살펴봅니다.
다른 노드와 해당 특정 node_type를 확인합니다. 링크 섹션은 각 노드가 서비스 메시에서 서로 연관되는 방식을 보여줍니다.
다음 단계
다양한 출력에는 Oracle Linux Automation Manager를 사용하여 플레이북을 실행하기 위한 홉 및 실행 노드가 있는 실행 중인 클러스터가 표시됩니다. 이제 Oracle Linux Training Station에서 다른 튜토리얼을 확인하여 몇 가지 플레이북을 실행하고 추가 연습을 수행하십시오.
관련 링크
Oracle Linux Automation Manager 설명서
Oracle Linux Automation Manager 교육
Oracle Linux Training Station
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Use Hop Nodes on Oracle Linux Automation Manager
G33083-02
Copyright ©2023, Oracle and/or its affiliates.