도커 환경과 쿠버네티스 환경에서 실제 앱을 구동시키는 실습
리눅스 → 도커 → 쿠버네티스 실습 시나리오
# 리눅스
1. 최초의 리눅스 서버에서 Hello world 라는 node.js 앱을 만들어 띄워 보기
→ 리눅스에는 node.js를 실행할 수 있는 패키지가 깔려있어 앱이 구동이 된다.
2. 도커가 깔려있는 다른 서버에서 앞에서 만든 Hello world 앱을 가져올것
→ 이 서버에는 node.js가 깔려있지 않기 때문에 실행 되지 않는다.
# 도커를 이용해 컨테이너를 만든다.
1. 여러가지 컨테이너 이미지들을 공개적으로 올릴 수 있는 도커허브에서 node.js 이미지를 실행할 수 있는 컨테이너 이미지를 가져온다.
2. 복사해온 Hello world 앱을 하나의 컨테이너로 만든다.
Dockerfile
FROM node:slim
EXPOSE 8000
COPY hello.js
CMD node hello.js
3. 컨테이너가 만들어지면 도커를 컨테이너로 구동시켜 외부에서 서비스를 할 수 있도록 open한다.
# 쿠버네티스를 사용하여 앱을 띄운다.
1. 컨테이너 이미지를 다시 도커허브에 올린다
2. 파드안에 컨테이너를 만들때 방금 올린 허브에서 이미지를 가져와 파드를 구동
→ pod를 만들 yaml 파일
pod
apiVersion
kind: Pod
metadata:
name: hello-pod
labels:
app: hello
spec:
containers:
- name: hello-container
image: ldhkube/hello
ports:
- containerPort: 8000
3. 외부에서 접근할 수 있는 서비스를 만든다.
→ service를 만들 yaml 파일
apiVersion
kind: Service # 서비스를 만든다
metadata:
name: hello-svc # 서비스의 이름
spec:
selector:
app: hello
ports:
- port: 8200 # 외부로 오픈 시킬 포트
targetPort: 8000 #컨테이너 포트
externalIPs:
- 192.168.0.30 # 외부에서 이 ip로 접근할 수 있다
출처:
https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EA%B8%B0%EC%B4%88 인프런 강의를 보고 정리 하였습니다.
'클라우드 > 쿠버네티스(Kubernetes)' 카테고리의 다른 글
쿠버네티스 Kubernetes Pod (0) | 2021.09.30 |
---|---|
쿠버네티스 Kubernetes 개요 (0) | 2021.09.30 |
VM(가상머신) 과 Container(컨테이너)의 차이 (3) | 2021.09.30 |
쿠버네티스 Kubernetes의 등장 배경 (0) | 2021.09.29 |
kubernetes 에서 VM 생성하기 1 (0) | 2021.09.25 |