Kubernetes31 kubernetes Probe Probe Probe는 kubelet에 의해 주기적으로 수행되는 컨테이너 진단이다. (health check) 문제가 있는 컨테이너를 찾아내어 자동으로 재시작하거나 서비스에서 제외시킨다. 진단하기 위해선 다음과 같은 handler를 호출해서 이용한다. 1. ExecAction 예를 들어 컨테이너에 접속해서 지정된 명령어를 수행하고 exit code가 0일 때만 성공으로 분류 2. TCPScoketAction 예를 들어 지정된 포트로 TCP 소켓 연결을 시도 tcp virtual circuit netstat -anp tcp tcp port number 3. HttpGetAction 예를 들어 지정된 포트와 url로 HTTP get 요청을 전송하여 응답상태가 200~400구간에 속해야 성공 get 방식 po.. 2022. 12. 27. kubectl config 명령어 (클러스터 context 변경) 설정/구성 master node = docker1 local node = docker2 alias k='kubectl' kubectl config 로컬 PC에서 쿠버네티스 작업을 하다 보면, 연결한 쿠버네티스 클러스터를 변경해야 하는 경우가 있다. kubectl의 config 명령은 현재 사용 중인 CLI 등의 클라이언트가 접속할 쿠버네티스 클러스터 정보를 지정하는 데 사용하는 명령어다. 이는 kubeconfig 파일의 수정을 통해 컨텍스트를 변경하는 원리를 사용한다. 터미널에 k config 라고 쳐보면 뒤에 붙는 옵션에 대한 설명서가 나온다. k config view k config get-contexts k config get-users 어떤 명령어를 골라서 특정하면 보기 편할 지 골라서 쓰면 .. 2022. 12. 27. Namespace Namespace 네임스페이스는 클러스터 자원을 (ResourceQuota를 통해) 여러 사용자 사이에서 분배하는 방법이다. 쿠버네티스에서, 네임스페이스 는 단일 클러스터 내에서의 리소스 그룹 격리 메커니즘을 제공한다. 네임스페이스는 여러 개의 팀이나, 프로젝트에 걸쳐서 많은 사용자가 있는 환경에서 사용하도록 만들어졌다. 사용자가 거의 없거나, 수 십명 정도가 되는 경우에는 네임스페이스를 전혀 고려할 필요가 없다. 네임스페이스는 이름의 범위를 제공한다. 리소스의 이름은 네임스페이스 내에서 유일해야하지만, 네임스페이스를 통틀어서 유일할 필요는 없다. 동일한 소프트웨어의 다른 버전과 같이 약간 다른 리소스를 분리하기 위해 여러 네임스페이스를 사용할 필욘 없다. 동일한 네임스페이스 내에서 리소스를 구별하기 위.. 2022. 12. 26. Kubernetes Resource 관리 리소스 관리 쿠버네티스는 파일구성과 레이블을 통해 에플리케이션을 배포하고 관리한다. 설정/구성 master node = docker1 local node = docker2 alias k='kubectl' LABELS 동일한 네임스페이스 내에서 리소스를 구별하기 위해 레이블을 사용한다. 리소스가 많을 경우, -l 또는 --selector 를 사용하여 지정된 셀렉터(레이블 쿼리)를 지정하여 레이블별로 리소스를 필터링하는 것이 더 쉽다. nginx로 실행한 컨테이너의 정보를 yaml 파일로 저장 k run webserver --image=nginx:1.14 --port=80 --dry-run -o yaml > webserver.yaml metadata 레이블과 이름을 webserver1로 수정 vi webse.. 2022. 12. 22. Kubernetes 기본 명령어 ※ 참고로 편의상 kubectl = k 로 alias 해놨다. 정보 확인 쿠버네티스는 네임스페이스끼리 통신할 때 텍스트 주소로 통신하기 때문에 coreDNS가 필수다. 다음 명령어로 coreDNS의 주소가 어디에 있는 지 확인할 수 있다. k cluster-info coreDNS가 정상 실행running되고 있는 것을 확인하기 위해 아래 명령어를 쓴다. kubectl get all -n kube-system 특정 노드에 대한 정보를 확인해 보자. cpu, memory 등의 용량을 볼 수 있고 kubelet과 kube-proxy 등의 버전을 볼 수 있다. k describe node master.labs.local 노드 스케쥴러 노드 스케쥴러의 진행상황을 실시간으로 볼 수 있다. 이 창을 따로 왼쪽에 띄워.. 2022. 12. 21. Kubernetes image pull error 앞으로 귀찮으니까 k를 kubectl의 단축키로 설정하고 시작하겠다. vi ~/.bashrc alias k='kubectl' source ~/.bashrc pending : 디스크가 부족해도 생길 수있음 ErrImagePull / ImagePullBackOff 에러 pod 생성 k run webserver --image=nginx:1.14 --port=80 pod 확인 create가 안뜨고 다음과 같이 ErrImagePull / ImagePullBackOff 가 반복된다. k get pods kubectl describe pod [name] 을 조회하면 원인이 조회된다. 일반적으로 아래 셋 중 하나의 원인이다. 1) Repository ... does not exist or no pull access.. 2022. 12. 20. 이전 1 2 3 4 5 6 다음