6.2. kernel_settings 역할을 사용하여 선택한 커널 매개변수 적용
다음 단계에 따라 Ansible 플레이북을 준비 및 적용하여 여러 관리 운영 체제에 지속적으로 영향을 미치는 커널 매개 변수를 원격으로 구성합니다.
사전 요구 사항
-
root권한이 있습니다. -
RHEL 서브스크립션에서 권한을 부여한 경우 제어 시스템에
ansible-core및rhel-system-roles패키지를 설치했습니다. - 관리 호스트의 인벤토리는 제어 시스템에 있으며 Ansible은 해당 호스트에 연결할 수 있습니다.
RHEL 8.0 - 8.5는 Ansible 기반 자동화를 위해 Ansible Engine 2.9가 포함된 별도의 Ansible 리포지토리에 대한 액세스를 제공했습니다. Ansible Engine에는 ansible , 과 같은 명령줄 유틸리티, ansible -playbookdocker 및 podman 과 같은 커넥터, 플러그인 및 모듈 전체 환경이 포함되어 있습니다. Ansible Engine을 확보하고 설치하는 방법에 대한 자세한 내용은 How do I download and Install Red Hat Ansible Engine 을 참조하십시오.
RHEL 8.6 및 9.0에는 Ansible 명령줄 유틸리티, 명령 및 일부 기본 제공 Ansible 플러그인 세트가 포함된 Ansible Core( ansible-core RPM으로 제공됨)가 도입되었습니다. AppStream 리포지토리에서는 제한된 지원 범위가 있는 ansible-core 를 제공합니다. RHEL 9 AppStream에 포함된 ansible-core 패키지의 지원 범위를 확인하여 자세한 내용을 확인할 수 있습니다.
절차
선택적으로 설명을 위해
인벤토리파일을 검토합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일은
[testingservers]그룹 및 기타 그룹을 정의합니다. 이를 통해 특정 시스템 세트에 대해 보다 효율적으로 Ansible을 실행할 수 있습니다.구성 파일을 생성하여 Ansible 작업에 대한 기본값 및 권한 에스컬레이션을 설정합니다.
새 YAML 파일을 생성하고 텍스트 편집기에서 엽니다. 예를 들면 다음과 같습니다.
vi /home/jdoe/<ansible_project_name>/ansible.cfg
# vi /home/jdoe/<ansible_project_name>/ansible.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 삽입합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [defaults]섹션은 관리 호스트의 인벤토리 파일에 대한 경로를 지정합니다.[privilege_escalation]섹션은 지정된 관리 호스트에서 사용자 권한을root로 이동하는 것을 정의합니다. 이는 커널 매개 변수를 성공적으로 구성하려면 필요합니다. Ansible 플레이북이 실행되면 사용자 암호를 입력하라는 메시지가 표시됩니다. 사용자는 관리 호스트에 연결한 후sudo를 통해 자동으로root로 전환합니다.
kernel_settings역할을 사용하는 Ansible 플레이북을 생성합니다.새 YAML 파일을 생성하고 텍스트 편집기에서 엽니다. 예를 들면 다음과 같습니다.
vi /home/jdoe/<ansible_project_name>/kernel-roles.yml
# vi /home/jdoe/<ansible_project_name>/kernel-roles.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 파일은 플레이북을 나타내며 일반적으로
인벤토리파일에서 선택한 특정 관리 호스트에 대해 실행되는 플레이 라고도 하는 정렬된 작업 목록이 포함되어 있습니다.다음 내용을 파일에 삽입합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow name키는 선택 사항입니다. 임의의 문자열과 플레이를 레이블로 연결하고 플레이의 용도를 식별합니다. 플레이의hosts키는 플레이가 실행되는 호스트를 지정합니다. 이 키의 값 또는 값은 관리 호스트의 개별 이름 또는인벤토리파일에 정의된 호스트 그룹으로 제공될 수 있습니다.vars섹션은 선택한 커널 매개 변수 이름과 설정해야 할 값이 포함된 변수 목록을 나타냅니다.roles키는vars섹션에 언급된 매개변수 및 값을 구성할 시스템 역할을 지정합니다.참고필요에 맞게 플레이북에서 커널 매개변수와 해당 값을 수정할 수 있습니다.
필요한 경우 플레이의 구문이 올바른지 확인합니다.
ansible-playbook --syntax-check kernel-roles.yml playbook: kernel-roles.yml
# ansible-playbook --syntax-check kernel-roles.yml playbook: kernel-roles.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 플레이북의 성공적인 확인을 보여줍니다.
플레이북을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible에서 플레이북을 실행하기 전에 암호를 입력하라는 메시지가 표시되므로 관리 호스트의 사용자가 커널 매개 변수를 구성하는 데 필요한
root로 전환할 수 있습니다.recap 섹션에서는 모든 관리 호스트에 대해 플레이가 성공적으로 완료되었습니다(
failed=0). 4 커널 매개 변수가 적용됨(changed=4).- 관리 호스트를 다시 시작하고 영향을 받는 커널 매개변수를 확인하여 변경 사항이 적용되었는지 확인하고 재부팅해도 유지됩니다.