Kubernetes 환경 구축(Docker)
by youngjun._.Getting Started Kubernetes
Kubernetes 환경 구축하기
✔️기존 리눅스 서버
도커환경과 kubernetes환경에서 실제 앱을 돌려보는 실습을 해보자
- 최초의 리눅스 서버에서 Hello World NodeJS 앱을 만들어서 띄워볼 예정
- 리눅스에는 NodeJS를 실행할 수 있는 package가 깔려있어서 앱이 구동 됨
- 도커가 깔려있는 다른 서버로 가서 Hello World 앱을 그대로 가져오면
이 서버에는 NodeJS가 깔려있지 않기 때문에 실행이 안 됨.
✔️Docker 이미지 컨테이너 만들기
도커를 이용해 컨테이너를 만들어보자
- Docker Hub : 여러 컨테이너 이미지를 공개적으로 올릴 수 있는 곳
- Docker Hub에서 NodeJS를 실행할 수 있는 컨테이너 이미지를 가져오자
- 여기 아까 복사해놓은 HelloWorld 앱을 합쳐서 하나의 컨테이너로 만들 수 있다.
컨테이너화 하기 전에 Docker 파일 내용을 살펴보면
FROM에 NodeJS의 슬림버젼을 가져와서
포트는 8000번으로 Open 시켜놓고
hello.js를 copy 해오고
Container를 구동시킬 때 실행 명령으로 hello.js를 NodeJS로 실행시킨다는 내용
Docker 파일 기반으로 컨테이너가 만들어지면
- Docker로 컨테이너를 구동시킨다 → 외부에서 서비스할 수 있도록 OPEN
- Kubernetes를 활용해 App을 띄워보자
✔️Kubernetes Pod 만들기
- 만들어 놓은 컨테이너 이미지를 Dokcer Hub에 올린다.
- Pod && Pod 내부 컨테이너를 만들 때 위 이미지로 Pod를 구동
이 때 pod를 만들 Yaml 파일을 확인해보면
버전과, Pod를 만들 것이라는 종류 명시
이름은 hello-pod이고 컨테이너의 이름은 hello-container
이미지를 어떤 것을 가져올지 명시하고 그 포트는 8000번
✔️외부에서 접근할 수 있는 Service 만들기
Service 내용을 확인해보면
버전 = v1
Serviece라는 종류의 yaml 파일
그 서비스의 이름은 hello-svc
컨테이너 포트는 8000번이지만
타겟포트(외부에서 오픈할 때) 8200번으로 Open하겠다고 설정
외부에서 이 아이피를 통해 접근할 수 있다고 명시
이 시나리오에 대해 실제 실습을 진행해보자.
'Infra > Kubernetes' 카테고리의 다른 글
Kubernetes - Service (3) | 2020.03.12 |
---|---|
Kubernetes - Pod의 특징 3가지 (0) | 2020.03.12 |
Container와 VM의 차이점 (0) | 2020.03.12 |
왜 Kubernetes를 사용해야할까? (0) | 2020.03.12 |
Kubernetes와 가상화 기술의 History (0) | 2020.03.11 |
블로그의 정보
개발하는만두
youngjun._.