[ K8s ] 쿠버네티스 기본 사용법 - 스펙을 지정해 오브젝트 생성하기
베ㅓ파드를 생성 할 때 kubectl run 이나 kubectl create deployment를 이용해서 1개의 파드를 생성시켰다.
그러나 디플로이먼트를 사용하면서 한번에 여러 개의 파드를 만들 수없을까라는 생각을 했다.
그러기 위해선 파일을 작성해야 한다. 그것을 오브젝트 스펙이라고 부른다.
오브젝트 스펙은 일반적으로 야믈파일로 작성된다.
3개의 nginx 파드를 deployment 오브젝트로 만들어보기
- 예제 파일 -
apiVersion: apps/v1
kind: Deployment
metadata:
name: echo-hname
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: echo-hname
image: sysnet4admin/echo-hname
1. 실습 예제파일을 이용해 파드 만들고 잘 만들어졌는지 확인
2. 디플로이먼트를 생성했으니 이번에는 야믈 파일을 수정하여 파드6개로 늘려보겠다. replicas의값을 3에서 6으로 늘리고 이때 사용하는 명령어는 sed이다.
-i는 변경한 내용을 현재 파일에 바로 적용하겠다는 의미
s/는 줘진 패턴을 원하는 패턴으로 변견하겠다는 의미이다.
3. replicas의 값이 6으로 변경이 됬는지 확인을 해본다.
다시 파드를 생성을 하려했지만 이미 존재하는 파드라 생성이 안된다. 이 때 다른 명령어를 써서 기존 파드를 안 지우고 변경된 값으로 생성할수 있다.
*apply 명령어
create 대신에 apply 명령어를 쓰면 변경된 파일의 값을 적용시켜준다. 어브첵트를 처음부터 apply로 생성한 것이 아니여서 경고가 뜨는데 경고가 떠도 작동하는데는 문제가 없지만 일관성에 문제가 생길수 있다.
그러면 잘 적용이 됬는지 확인을 해보자
6개가 생성이 된것을 확인을 할수 있다 . apply 명령어로 쉽게 파드를 생성하는 법을 알아보았다. 변경이 생길 가능성이 있는 복잡한 오브젝트는 파일로 저장한 후 apply로 적용하는 것이 나중에 변경할 때 큰 도움이 될 수 있다.
출처
컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커