롤아웃 재시작 포드와 포드 삭제의 차이점은 무엇입니까?

롤아웃 재시작 포드와 포드 삭제의 차이점은 무엇입니까?

k8s에서 롤아웃 재시작 포드와 포드 삭제의 차이점은 무엇입니까? 둘 다 포드를 다시 시작하고 있나요?

답변1

Kubernetes에서는 롤아웃 재시작 및 삭제 명령을 사용하여 각각 포드를 다시 시작하거나 삭제합니다. 그러나 이들은 서로 다른 방식으로 작동하며 포드와 전체 시스템에 서로 다른 영향을 미칩니다.

롤아웃 재시작 명령은 Kubernetes에서 배포 또는 복제본 세트를 다시 시작하는 데 사용됩니다. 이는 배포 또는 복제본 세트의 기존 포드를 최신 버전의 애플리케이션 코드와 업데이트된 구성을 포함하는 새 포드로 교체한다는 의미입니다. 이는 애플리케이션에 업데이트를 배포하거나 제대로 작동하지 않는 배포를 다시 시작하는 데 유용합니다.

반면, delete 명령은 배포나 복제본 세트에 영향을 주지 않고 Pod를 직접 삭제하는 데 사용됩니다. 그러면 시스템에서 포드가 제거되고 사용 중이던 리소스가 확보됩니다. 이는 더 이상 필요하지 않은 포드를 제거하거나 개별 포드의 문제를 해결하는 데 유용합니다.

전반적으로 롤아웃 재시작 및 삭제 명령은 모두 Kubernetes에서 포드를 다시 시작하는 데 사용할 수 있지만 작동 방식이 다르며 시스템에 다른 영향을 미칩니다. 롤아웃 재시작 명령은 전체 배포 또는 복제본 세트를 다시 시작하는 데 사용되는 반면 삭제 명령은 개별 포드를 삭제하는 데 사용됩니다.

답변2

여기까지 온 다른 사람들에게는 kubectl rollout포드에 적용되지 않습니다. 명령줄 도움말( kubectl rollout -h)에 따라:

 Valid resource types include:

  *  deployments
  *  daemonsets
  *  statefulsets

이 글을 쓰는 동안 포드에서 롤아웃 재시작을 실행하려고 하면 다음과 같은 오류 메시지가 나타날 가능성이 높습니다.

$ kubectl rollout restart pod test-zrdcs
error: pods "test-zrdcs" restarting is not supported

포드 리소스의 경우 삭제는 주석에 표시된 대로 수행되고 포드 삭제를 시도합니다. Pod가 더 높은 수준의 리소스(예: 복제본 세트 또는 배포)에 의해 관리되는 경우 해당 개체가 삭제된 Pod를 대체할 수 있습니다.

kubectl제가 지금 사용하고 있는 버전은 다음과 같습니다 .

$ kubectl version --client --short
Client Version: v1.25.4

관련 정보