0Pricing
DevOps Bootcamp · 강의

단계별 스크립트가 아닌 원하는 상태

선언형 방식이 명령형 방식보다 나은 이유를 알아봅니다.

단계별 스크립트가 아닌 원하는 상태은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

단계가 아니라 최종 상태를 설명하기

Ansible은 선언적입니다. 원하는 최종 상태를 설명하면 Ansible이 호스트의 현재 상태에서 그 상태에 도달하는 데 필요한 단계를 알아냅니다.

명령형 방식

명령형 스크립트는 정확한 명령을 순서대로 나열합니다. 시작 상태를 전제로 하므로 호스트가 이미 일부 설정되어 있으면 제대로 작동하지 않습니다.

apt-get update
apt-get install -y nginx
systemctl start nginx

선언적 방식

선언적 작업은 목표만 지정합니다. 예를 들어 nginx가 설치되어 실행 중이어야 한다고 선언합니다. Ansible은 현재 상태를 확인하고 필요한 경우에만 작업합니다.

ansible.builtin.package:
  name: nginx
  state: present

state가 목표를 지정합니다

state 키에서 의도를 선언합니다. present, started 또는 absent는 수행할 작업이 아니라 원하는 최종 상태를 나타냅니다.

ansible.builtin.service:
  name: nginx
  state: started

Ansible은 먼저 비교합니다

변경하기 전에 모듈은 현재 상태를 선언한 상태와 비교합니다. 두 상태가 이미 일치하면 아무것도 변경하지 않습니다.

이것이 수렴입니다

실행할 때마다 호스트가 선언한 상태에 가까워집니다. 이것이 수렴입니다. 시작점이 어디든 호스트는 결국 같은 상태가 됩니다.

순서가 덜 중요합니다

작업이 목표를 선언하므로, 절반만 완료된 플레이를 다시 실행하면 나머지가 마저 완료됩니다. 지난번에 어떤 단계가 실패했는지 추적할 필요가 없습니다.

다시 실행해도 안전합니다

선언적 작업은 다시 실행해도 안전합니다. 이미 올바른 호스트에는 아무 작업도 하지 않으며, 이것이 바로 멱등성의 기반입니다.

기억할 것이 줄어듭니다

'설치되어 있으면 건너뛰기' 확인을 직접 작성하지 않아도 됩니다. 그 로직은 모듈이 담당하므로 플레이북이 짧고 읽기 쉬워집니다.

플레이북은 진실의 원천입니다

선언적 플레이북은 원하는 서버의 문서처럼 읽힙니다. 서버에 어떤 패키지, 서비스, 파일이 있어야 하는지를 설명합니다.

- name: Web server desired state
  hosts: web
  tasks:
    - ansible.builtin.package:
        name: nginx
        state: present

일부 작업은 여전히 명령형입니다

원시 command 및 shell 작업은 명령형입니다. 매번 실행되기 때문입니다. Ansible이 선언적 방식을 유지할 수 있도록 상태 기반 모듈을 우선 사용하세요.

빠른 확인

nginx가 있어야 한다고 지정하는 작업을 작성한 다음, 이미 nginx가 설치된 호스트에서 플레이북을 실행합니다.

복습

원하는 상태를 선언하면 Ansible이 호스트를 그 상태로 수렴시키며, 실제 상태가 다를 때만 작업합니다. 이러한 안전성이 멱등성입니다. 🎯

자주 묻는 질문

“단계별 스크립트가 아닌 원하는 상태” 강의는 무료인가요?

네 — “단계별 스크립트가 아닌 원하는 상태” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“단계별 스크립트가 아닌 원하는 상태”에서 뭘 배우나요?

선언형 방식이 명령형 방식보다 나은 이유를 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“단계별 스크립트가 아닌 원하는 상태” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 단계별 스크립트가 아닌 원하는 상태
  2. 출력에서 changed와 ok 읽기
  3. command가 멱등성을 깨뜨리는 이유
  4. Check 모드: --check로 시험 실행하기
← DevOps Bootcamp(으)로 돌아가기