pod 3

kubernetes pod debugging 방법 5가지

kubernetes 를 사용하다보면 pod 를 debugging 할일이 있다. 일반적으로 application을 디버깅을 하기 위해서는 application이 실행되는 서버에 접속해서 로그를 확인거나, application의 api를 호출해야 한다. 그런데, kubernetes에서는 대부분의 pod들이 클러스터 내에서만 접속이 가능하기 때문에 외부에서 접속하거나, api를 호출할수 없는 경우가 상당수이다. 1. pod가 정상적으로 실행되지 않을때 - kubectl decribe kubectl describe po [pod 이름] pod가 실행되기전 에러가 발생한다면, describe 명령을 사용한다. pod가 왜 정상적으로 실행되지 않았는지 원인을 추정해볼수 있다. 마지막 출력내용을 보면 에러가 발생한 ..

IT/Kubernetes 2022.03.06

쿠버네티스 pod가 실행되는 node 선택하기 (feat. nodeName, taint, affinity, toleration)

pod를 특정 node에서 실행시시켜야 하는 경우가 있다. (GPU 등 특정 HW가 있는 node거나, node별로 용도가 구분되어 있는 경우) 이를 위한 쿠버네티스의 기능을 정리해봤다. 1. node 이름으로 선택하기 - NodeName apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx nodeName: kube-01 가장 단순한 방법이다. pod의 spec에 nodeName을 정의하면 해당 node에서 실행된다. 다만 nodeName과 일치하는 node가 없을 경우 자동으로 삭제되는 등 아래와 같은 제약이 있어서 잘 사용되지는 않는다. (실제로 잘못된 nodeName으로 pod를 스케줄링..

IT/Kubernetes 2022.01.20

쿠버네티스 ReplicaSet 사용법 (scale, 삭제, pod 제외)

ReplicaSet 이란? 레플리카셋의 목적은 레플리카 파드 집합의 실행을 항상 안정적으로 유지하는 것이다. 이처럼 레플리카셋은 보통 명시된 동일 파드 개수에 대한 가용성을 보증하는데 사용한다. [출처] https://kubernetes.io/ko/docs/concepts/workloads/controllers/replicaset/ 쉽게 정리하면, 가용성의 위해 동일한 파드의 개수를 유지하는 기능이다. 예를 들어 A라는 pod의 개수를 3개로 유지하기로 설정했다면, Node가 다운되어 pod가 사라져도 다른 Node에 pod를 자동으로 생성해서 pod를 3개로 유지하고, 다른 운영자가 pod 를 실수로 지우거나 새로 생성하더라도 쿠버네티스 자체에서 pod의 개수가 3개가 되도록 지속적으로 유지한다. Re..

IT/Kubernetes 2022.01.15
반응형