본문 바로가기
CICD

Kubernetes : kubectl() { linux 명령어, Prefix로 묶인 목록 한꺼번에 처리, grep, awk, xargs }

by yaans 2024. 4. 15.

 

 

 

상황

ReplicaSet에 따로 Label, Selector가 설정되어 있지 않은 상태

ReplicaSet를 수정하고, Pods에 반영하기 위해서는 기존 Pods들을 삭제해야 한다  

 

필요한 명령어

수작업 대신 한꺼번에 삭제하는 방법

 

삭제할 대상 조회 : kubectl get

 

 

삭제할 대상들은 공통 Prefix를 가지고 있다 : grep

 

조회 정보에서 1번째 컬럼 정보만 출력 : awk

 

awk

- 파일이나 레코드(조회 결과처럼 공백으로 구분되어져 있는 각 줄)에 포함된 값을 조작하거나 데이터화

- 이번 명령어에서 한 일 : 특정 필드만 출력

- 공백 기준 각 단어들을 필드로 칭하고 $1,,,$N으로 순서를 구분할 수 있다

- $0는 레코드(모든 필드를 포함한 한 행) 그 자체

- 그 이외에도 특정 필드에 문자열 추가, 패턴이 포함된 레코트 출력, 특정 필드에 연산 수행 등 다양하게 활용 가능하다 

 

앞에서 출력한 결과들을 뒤 명령어의 인자로 전달 : xargs

xargs 

- 파이프 이전에 명령을 인자로 받아 명령어를 실행

- 이번 명령어에서 한 일 : 앞에 출력한 pod 이름들을 kubectl delete pod 명령어의 인자로 만들어 수행

- 그 외에도 조회한 txt 파일을 모두 읽어와 하나의 파일로 병합, 복사, 다운 등 활용 가능

 

 

* 대체 : grep 대신 awk 속성 가능

 

awk 자체에서 패턴을 가진 문자열을 추출할 수 있다

awk '/포함_문자열/ {print $1}'

 

댓글