Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

전공공부

[K8S - CKA] Imperative 접근 방식 vs. Declarative 접근 방식 본문

Study/K8S

[K8S - CKA] Imperative 접근 방식 vs. Declarative 접근 방식

monitor 2023. 8. 22. 22:08

1. Imperative 접근 방식


무엇이 요구되는지, 어떻게 접근을 해서 해결을 할 지 지정이 모두 되어 있다.

2. Declarative 접근 방식


어떻게 접근을 해서 해결을 할 지는 시스템이 지정하고 어떤 것이 실행 될지만 지정한다.

예시


그러면, nginx의 버전을 상승 시키고 싶으면 어떻게 할까?

Declarative 방식

간단하게  yaml 파일을 수정하면 이를 적용하는 방식

  • Create Objects
  • k apply -f pod.yaml # 이것도 가능하지만 k apply -f /path/config-dir # 디렉토리를 적용하면 디렉토리 하부의 yaml 파일을 읽어서 모두 설정을 할 수 있다.
  • Update Objects
  • k apply -f pod.yaml

Imperative 방식

  • Create Objects
    • Live Object에 명령어 방식으로 적용되지만 이후에는 저장이 되지 않기 때문에 로컬 파일이 수정이 되어야 함.
    • 추후, yaml 파일을 update 하지 않은 채로 재 배포하면 이전의 이미지로 run 될 수 있다.
  • Update Objects
    • Object 업데이트 전에는 무조건 확인 하거나 replace --force -f 를 사용해서 yaml 파일을 덮어 씌워야 하는데 이러한 작업들은 모두 명령어를 사용하면서 확인을 해야 한다.
    • K8S Memory상의 Object만 변하는 것이니 이를 유의해야 한다.

결론

명령어를 직접 모두 설정하여 빠르게 설정을 변경하고 다음번 수정 건에 적용 되지 않을 것이라면 Imperative 방식을 쓰고
그것이 아니라면 Declarative 방식이 좋을 것이다.

'Study > K8S' 카테고리의 다른 글

[K8S - CKA] Services  (1) 2023.08.26
[K8S - CKA] Kubectl Apply Command  (0) 2023.08.26
[K8S - CKA] Deployment  (0) 2023.08.20
[K8S - CKA] Relication Controller & ReplicaSet  (0) 2023.08.20
[K8S - CKA] Kube Scheduler  (0) 2023.08.15