주:
- 이 자습서는 Oracle에서 제공하는 무료 실습 환경에서 사용할 수 있습니다.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Linux Automation Manager 업그레이드
소개
기존 Oracle Linux Automation Manager 관리자는 올인원 단일 인스턴스 배치에 익숙합니다.
Oracle Linux Automation Manager를 사용하면 관리자가 기존 배포를 업그레이드하고 나중에 업그레이드된 인스턴스를 클러스터화된 배포로 마이그레이션할 수 있습니다. 업그레이드 시 인스턴스는 단일 호스트 배치로 변환되어 자체를 하이브리드 노드로 구성합니다.
이 자습서를 따르면 이전 릴리스에서 Oracle Linux Automation Manager를 업그레이드하는 방법을 알 수 있습니다.
목표
이 자습서에서는 다음을 수행하는 방법을 배웁니다.
- Oracle Linux Automation Manager 업그레이드
필요 조건
-
이전 릴리스의 Oracle Linux Automation Manager가 설치된 시스템입니다.
Oracle Linux Automation Manager 설치에 대한 자세한 내용은 Oracle Linux에 Oracle Linux Automation Manager 설치를 참조하십시오.
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-node" type: "control" passwordless_ssh: true olam_type: v1 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 주소를 인쇄하는 이전 플레이를 기록해 둡니다.
WebUI에 로그인합니다.
-
터미널을 열고 Oracle Linux Automation Manager에 대한 SSH 터널을 구성합니다.
ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
무료 실습 환경에서는 olam-node 인스턴스의 외부 IP 주소를 사용합니다.
-
웹 브라우저를 열고 URL을 입력합니다.
https://localhost:8444
주: 사용된 브라우저를 기반으로 보안 경고를 승인합니다. Chrome에 대해 **고급 버튼을 누른 다음 로컬 호스트로 진행(안전하지 않음) 링크를 누릅니다.
-
자동 배치 중 생성된 USERNAME
admin
및 PASSWORDadmin
를 사용하여 Oracle Linux Automation Manager에 로그인합니다. -
로그인 후 WebUI가 표시됩니다.
업그레이드 실행
-
Oracle Linux Automation Manager 인스턴스를 실행하는 olam-node 인스턴스에 연결된 터미널로 전환합니다.
-
Oracle Linux Automation Manager 서비스를 중지합니다.
sudo systemctl stop ol-automation-manager
-
데이터베이스에서 자동화 암호를 암호화하기 위해 Oracle Linux Automation Manager에서 사용하는 암호 키의 백업을 생성합니다.
sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
-
데이터베이스의 백업을 생성합니다.
이 명령은 데이터베이스 내용을 데이터베이스를 복원하는 데 필요한 모든 SQL 명령과 데이터가 포함된 파일로 덤프합니다.
sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
-
데이터베이스 서비스를 정지합니다.
sudo systemctl stop postgresql
-
기존 데이터베이스 데이터 파일을 제거합니다.
sudo rm -rf /var/lib/pgsql/data
이 명령은 기존 데이터베이스 데이터 파일을 제거합니다. 나중에 덤프 파일을 사용하여 데이터베이스가 재구축됩니다.
-
현재 데이터베이스 패키지를 제거합니다.
sudo dnf -y remove postgresql
-
새 데이터베이스 버전에 대해 모듈 스트림을 사용으로 설정합니다.
Oracle Linux Automation Manager에서는 업그레이드 시 PostgreSQL 12 및 13을 사용할 수 있습니다. 이 연습에서는 버전 13을 사용합니다.
sudo dnf -y module reset postgresql sudo dnf -y module enable postgresql:13
-
Oracle Linux Automation Manager 저장소 패키지를 업데이트합니다.
sudo dnf -y update oraclelinux-automation-manager-release-el8
주: 초기 배치가 Oracle Linux Automation Manager에 대한 최신 저장소 패키지를 이미 설치했으므로 이 단계에서는 무료 실습 환경에서 수행할 작업이 없음을 보고합니다.
-
모든 Oracle Linux Automation Manager 저장소를 사용 안함으로 설정합니다.
sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
-
Oracle Linux Automation Manager 패키지를 릴리스 2로 업그레이드합니다.
sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
-
현재 저장소를 사용으로 설정합니다.
sudo dnf config-manager --enable ol8_automation2.2
-
Oracle Linux Automation Manager 패키지를 업데이트합니다.
sudo dnf -y update ol-automation-manager
주: 다음 예상 메시지가 업그레이드 중 출력에 표시됩니다.
Upgrading : ol-automation-manager-2.1.0-10.el8.x86_64 26/28 warning: /etc/tower/settings.py created as /etc/tower/settings.py.rpmnew Running scriptlet: ol-automation-manager-2.1.0-10.el8.x86_64 26/28 ValueError: File context for /var/run/tower(/.*)? already defined
-
데이터베이스 서버를 설치합니다.
sudo dnf -y install postgresql-server
-
데이터베이스를 초기화한 다음 시작 및 복원합니다.
sudo postgresql-setup --initdb sudo systemctl start postgresql sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
-
데이터베이스를 사용할 수 있는지 확인합니다.
sudo su - postgres -c 'psql -l | grep awx'
출력 예:
[oracle@control-node ~]$ sudo su - postgres -c 'psql -l | grep awx' awx | awx | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
출력에는 덤프 파일을 사용하여 복원을 수행한 후 데이터베이스 내에 생성된
awx
계정이 표시됩니다. -
기본 Oracle Linux Automation Manager 전역 설정 파일을 대체합니다.
Oracle Linux Automation Manager 패키지 업그레이드 후 새 rpm은 확장자가
.rpmnew
인 기본 구성 파일을 생성합니다. 이 프로세스를 통해 시스템 관리자는 구성 차이를 확인하고 필요한 변경 사항을 수동으로 마이그레이션할 수 있습니다.sudo mv /etc/tower/settings.py /etc/tower/settings.py.save sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
-
새 전역 설정 파일과 이전 전역 설정 파일의 차이점을 확인합니다.
sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
주: 이전에
settings.py
파일에 추가한 사용자정의 설정은 WebUI에서 설정하거나/etc/tower/conf.d
아래의 파일로 이동해야 합니다. -
필요한 설정이 포함된 사용자 정의 설정 파일을 만듭니다.
cat << EOF | sudo tee /etc/tower/conf.d/olamv2.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' DEFAULT_EXECUTION_QUEUE_NAME = 'tower' DEFAULT_CONTROL_PLANE_QUEUE_NAME = 'tower' EOF
이 명령은
CLUSTER_HOST_ID
설정을 시스템의 IP 주소로 설정하고 기본 대기열 이름을 사전 업그레이드된 버전의 기본 이름인tower
로 설정합니다. 구성 파일에 입력된 값은 Python 구문 형식을 따라야 합니다.주: Oracle Linux Automation Manager를 업그레이드할 때 업그레이드 후 작업이 보류 중 상태로 유지되지 않도록 하려면
CLUSTER_HOST_ID
값이 이전 설치의 값과 일치해야 합니다. 릴리스 1의 기본 대기열 이름은tower
이고 릴리스 2에서는default
입니다. -
Receptor 구성 파일을 업데이트합니다.
리셉터 메시는 작업 분산을 처리하기 위해 컨트롤러와 실행기 간에 피어 투 피어 연결을 만드는 오버레이 네트워크입니다.
sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
-
Receptor 구성 파일을 확인합니다.
sudo cat /etc/receptor/receptor.conf
id:
는 Oracle Linux Automation Manager 시스템의 호스트 이름 또는 IP 주소입니다.port:
는 TCP 포트 27199로 기본 설정되는 수용체 메시의 TCP 수신 포트입니다.
-
Oracle Linux Automation Manager를 배치합니다.
-
awx
사용자로 셸을 엽니다.sudo su -l awx -s /bin/bash
-
권한 없는 네임스페이스를 그대로 유지하면서 기존 컨테이너를 최신 포드맨 버전으로 마이그레이션합니다.
podman system migrate
-
Oracle Linux Automation Manager에 대한 Oracle Linux Automation Engine 실행 환경을 풀링합니다.
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
-
awx-manage
유틸리티를 사용하여 Oracle Linux Automation Manager 인스턴스를 설정합니다.awx-manage makemigrations --merge awx-manage migrate awx-manage register_default_execution_environments exit
-
-
보안 키 파일의 백업을 복원합니다.
sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
-
다음 매개변수를 Oracle Linux Automation Manager 설정 파일에 추가합니다.
cat << EOF | sudo tee -a /etc/tower/conf.d/olamv2.py > /dev/null # OLAM Reaper Job Status Tracking REAPER_TIMEOUT_SEC = 60 EOF
-
NGINX의 기본 구성을 바꿉니다.
cat << EOF | sudo tee /etc/nginx/nginx.conf > /dev/null user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; } EOF
-
데이터베이스 튜닝 파라미터 갱신
sudo sed -i 's/max_connections = [0-9]\+/max_connections = 1024/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/shared_buffers = [0-9]\+MB/shared_buffers = 5400MB/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(work_mem = \)[0-9]\+MB/\1'540MB/ /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(maintenance_work_mem = \)[0-9]\+MB/\1'720MB/ /var/lib/pgsql/data/postgresql.conf
-
데이터베이스를 재시작합니다.
sudo systemctl restart postgresql
-
NGINX를 다시 시작합니다.
sudo systemctl restart nginx
-
Oracle Linux Automation Manager를 시작합니다.
sudo systemctl start ol-automation-manager
업그레이드를 확인합니다
-
이전 WebUI를 표시하는 데 사용되는 웹 브라우저 창을 새로 고치거나 새 웹 브라우저 창을 열고 URL을 입력합니다.
https://localhost:8444
URL에 사용되는 포트는 SSH 터널의 로컬 포트와 일치해야 합니다.
-
사용자 이름
admin
및 비밀번호admin
를 사용하여 Oracle Linux Automation Manager에 다시 로그인합니다. -
로그인 후 WebUI가 표시됩니다.
다음 단계
업그레이드가 완료되었으며 작업을 실행할 준비가 되었습니다. Oracle Linux Automation Manager에 대해 자세히 알아보려면 Oracle Linux Training Station에서 다른 Oracle Linux Automation Manager 교육을 확인하여 설명서를 확인하고 기술을 지속적으로 습득하십시오.
관련 링크
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를 참조하십시오.