Kubernetes/KoudKloud - CKAD with Tests 22

Storage Class 관련 명령어

PV와 PVC를 이용하면 퍼시스턴트 스토리지를 쉽게 사용할 수 있지만 클러스터 관리자가 실제 스토리지를 프로비저닝해두어야 한다는 불편함이 있다. 쿠버네티스는 이 작업을 자동으로 수행할 수 있도록 PV 동적 프로비저닝(Dynamic Provisioning)을 지원하여, PV 프로비저너를 배포하고 사용자가 선택 가능한 PV 타입을 정의하는 스토리지 클래스(SC, Storage Class) 객체를 기반으로 지원한다. 이 글에서는 Storage Class 목록을 확인하고, 생성하는 명령어를 정리해둔다. Storage Class 목록 확인 get 명령을 이용해 Storage Class의 목록을 확인할 수 있다. kubectl get storageclasses.storage.k8s.io Storage Class 상..

Volume 관련 명령어

Pod는 수시로 삭제되었다가 재생성되는데, 삭제 시에 포드 내부에 있는 데이터도 함께 삭제된다. 유지해야 하는 데이터가 존재한다면 Volume을 구성해 Pod에 마운트해야 한다. 이 글에서는 Volume 구성 및 PV/PVC를 이용한 구성 및 확인 명령어에 대해 정리한다. Volume (HostPath) 구성 포드 생성 yaml 파일에 .spec.containes.volumeMounts 필드와 .spec.volumes 필드를 작성하여 구성한다. apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: webapp name: webapp spec: containers: - image: kodekloud/event-simulator na..

Ingress 확인 및 생성

Ingress란 클러스터 내의 서비스에 대한 외부 접근을 관리하는 개체로, 일반적으로 HTTP를 관리한다. 이 글에서는 Ingress 정보를 확인하고 생성하는 명령어에 대해 정리한다. Ingress 목록 확인 get 명령으로 이름, 호스트 등의 정보를 확인할 수 있다. kubectl get ingresses.networking.k8s.io Ingress 상세 정보 확인 describe 명령으로 이름, 규칙 등의 상세 정보를 확인할 수 있다. kubectl describe ingresses.networking.k8s.io --namespace= # 예시 kubectl describe ingresses.networking.k8s.io --namespace=app-space ingress-wear-watch ..

Network Policy 생성 및 확인

Network Policy는 IP 주소 또는 Port 수준에서 트래픽 흐름을 제어하는 경우 사용한다. 포드가 네트워크 상의 네트워크 엔티티와 통신할 수 있도록 허용하는 방법을 정의한다. 이 글에서는 Network Policy 정보를 확인하고, 생성하는 방법에 대해 정리한다. Network Policy 목록 확인 kubectl get networkpolicies.networking.k8s.io Network Policy 상세 정보 확인 이름, Label, 정책 유형 등의 정보를 확인할 수 있다. kubectl describe networkpolicies.networking.k8s.io # 예시 kubectl describe networkpolicies.networking.k8s.io payroll-poli..

Services 관련 명령어

Services란 포드에서 실행 중인 애플리케이션을 네트워크 서비스로 노출하는 방법이다. 즉, 서비스를 통해 포드에 접근할 수 있다. 이 글에서는 Services 목록 및 정보를 확인하고, 생성하는 방법에 대해 정리한다. Services 목록 확인 get 명령어로 Services 목록을 확인한다. 서비스의 이름, 유형 등을 확인할 수 있다. kubectl get service 사진에서 확인할 수 있는 kubernetes 서비스는 kubernetes 시작 시 생성된 기본 서비스이다. Services 상세 정보 확인 describe 명령어로 Services의 상세 정보를 확인한다. Port, TargetPort, Label, Endpoints 등의 정보를 확인할 수 있다. kubectl describe se..

Job/CronJob 관련 명령어

Job은 특정 개수의 포드가 성공적으로 완료되는 것을 보장하며, 실행한 포드가 실패, 하드웨어 장애 발생, 노드 재부팅 등과 같은 문제 발생 시 자동으로 포드를 재실행한다. 주로 실행 후 종료되어야 하는 작업을 실행시킬 때 사용한다. 이 글에서는 job을 생성, 삭제, 수정 및 정보를 확인하는 방법에 대해 정리한다. Job 생성 create 명령을 이용해 Job을 생성한다. kubectl create job --image= # 예시 kubectl create job throw-dice-job --image=kodekloud/throw-dice Job 목록 확인 Job의 이름, 완료 여부 등을 확인할 수 있다. kubectl get jobs.batch Job 상세 정보 확인 포드를 완료할 때까지 포드를 재..

Deployments 업데이트 관련

2021.11.15 - deployment 확인 및 생성 명령어 이 글에서는 Deployments의 업데이트 전략을 확인하고, 수정하는 방법에 대해 정리한다. Deployments Update 전략 확인 describe 명령 실행 결과에서 StrategyType 필드를 확인한다. kubectl describe deployments.apps Deployments Rolling Update 시 삭제 가능한 포드 수 확인 describe 명령 실행 결과에서 RollingUpdateStrategy 필드를 확인한다. max unavailable : Rolling Update 시 동시 삭제가 가능한 포드의 최대 개수 max surge : Rolling Update 시 동시 생성이 가능한 포드의 최대 개수 두 값 모..

Selector로 Label 별 필터링

Label은 항목에 붙인 속성과 같고, Selector로는 그 항목을 필터링할 수 있다. 이 글에서는 Label이 설정된 자원을 Selector로 필터링하는 방법을 정리한다. selector로 필터링한 포드 목록 확인 get pods 명령에 --selector 옵션을 주어 필터링한다. kubectl get pods --selector KEY=VALUE kubectl get pods --selector=KEY=VALUE # 예시 kubectl get pods --selector env=dev kubectl get pods --selector=env=dev selector로 필터링한 replicaset 목록 확인 get replicaset 명령에 --selector 옵션을 주어 필터링한다. kubectl g..

노드/포드 리소스 사용량 확인

쿠버네티스 클러스터 내 자원을 모니터링하는 방법에는 여러가지 방법이 존재한다. 이 글에서는 Metric server가 구성된 클러스터 환경을 사용한다는 가정 하에, 간단하게 포드와 노드를 모니터링하는 방법을 정리한다. 노드의 리소스 사용량 확인 노드의 CPU/메모리 사용량을 확인한다. 사용하기 위해서는 클러스터 내에 Metric Server가 구성되어 동작하고 있어야 한다. kubectl top node 포드의 리소스 사용량 확인 top 명령어로 포드의 CPU/메모리 사용량을 확인한다. kubectl top pod

Log 관련 명령어

포드 내 컨테이너의 로그를 확인하는 방법을 정리한다. 포드 컨테이너 로그 확인 기본적으로 logs 명령을 이용해 포드 내 컨테이너의 로그를 확인할 수 있다. kubectl logs # 예시 kubectl logs webapp-1 멀티 컨테이너 포드 로그 확인 포드 내 컨테이너가 여러 개인 경우, 로그를 확인하고자 하는 컨테이너의 이름을 지정하여 특정 컨테이너의 로그만을 확인할 수 있다. kubectl logs # 예시 kubectl logs webapp-2 db

1 2 3