사용자 앱을 컨테이너 플랫폼으로 마이그레이션하는 방법 (개방형 클라우드 플랫폼 테크 엣지 세미나)
이 포스팅은 개방형 클라우드 플랫폼에서 하는 테크엣지 세미나를 정리한 글이다.
마이그레이션과 컨테이너 플랫폼에 대해서
모르는 부분이 많아서, 세미나 이후 공부를 했다 .. ㅎ
그걸 정리한 글은 아래요
클라우드 테크 엣지 세미나 내용 :
K-PaaS 어플리케이션 플랫폼에 배포된
사용자 앱을 컨테이너 플랫폼으로 마이그레이션하는 방법
운영자 측면에서 마이그레이션 하는 방법 (2가지)
개발자 측면에서 마이그레이션 하는 방법 (3가지)
마이그레이션을 할때
애플리케이션 플랫폼을 바라보는 입장에 따라
앱을 전환하는 방법이 다르기에,
운영자 측면, 사용자(개발자) 측면에서 설명해주셨다.
운영자 측면에서, 마이그레이션 방법
어플리케이션 플랫폼 운영자
0. AP 에 배포된 앱의 컨테이너 rootfs 추출
+ rootfs : 리눅스 시스템에서 루트 파일 시스템을 나타내는 용어
테이너에서 실행되는 운영 체제의 rootfs(루트 파일 시스템)을 추출해
다른 환경이나 플랫폼으로 마이그레이션 하거나 분석하는데 사용됨
1번째 방법. container rootfs 활용
① running 어플리케이션 확인 및 컨테이너 ID 확인
② 컨테이너 동작 command 및 환경 변수 확인
③ diego-cell 에서 컨테이너 확인 및 rootfs 경로 확인
④ rootfs 디렉토리 tgz 생성 및 VM 밖으로 tgz 추출하기
⑤ docker 를 이용해 이미지 생성 및 command 확인
⑥ 이미지 repository 등록 및 contanier platform에 배포
⑦ 환경변수 적용 프로세스 정상화
[정리]
운영자측면에서, 앱을 마이그레이션할때는
컨테이너 rootfs (루트 파일 시스템)을 활용한다.
rootfs를 기반으로,
(1) 도커 이미지를 빌드하고 (2) 이미지 저장소 등록한 뒤 (3) 배포함
[추가]
(1) 도커 이미지를 빌드
: rootfs를 기반으로 Dockerfile을 작성하여 새로운 도커 이미지를 빌드
Docker 이미지는 애플리케이션 실행에 필요한 모든 것을 포함하며,
루트 파일 시스템의 상태와 구성이 이미지에 반영됨
(2) 이미지 저장소 등록
: 빌드된 도커 이미지를 이미지 저장소에 등록.
이미지 저장소는 빌드된 이미지를 저장하고 공유할 수 있는 중앙 위치임
대표적인 예로 Docker Hub, Amazon ECR, Google Container Registry 등이 있다
(3) 배포
: 등록된 도커 이미지를 사용하여 새로운 환경에 애플리케이션을 배포
이는 컨테이너 오케스트레이션 도구(예: Kubernetes)를 사용하거나
직접 Docker 명령어를 이용하여 수행됨.
2번째 방법. Droplet 파일 활용하기
- 어플리케이션 플랫폼에 배포되면서 생성된 Droplet을 이용
+ Droplet 이란 ?
Droplet은 클라우드 플랫폼 DigitalOcean의 가상 서버를 뜻함
이 서버는 특정 운영 체제와 리소스를 갖추고 있습니다.
① droplet 다운로드
② dockerfile 작성, 이미지 build 및 repository 등록
③ 환경변수 적용 프로세스 정상화
④ dockerfile 수정, 이미지 build 및 repository 등록
개발자 측면에서, 마이그레이션 방법
어플리케이션 플랫폼 사용자(개발자)
1번째 방법. Pack 툴 이용
① pack 설치
② pack config
③ pack build
④ 이미지 등록
⑤ 사용자 앱 배포
+ pack 은??
- 클라우드 네이티브 빌드팩과 사용자 파일을 사용해 어플리케이션 이미지를 생성
- 클라우드 파운더리 생태계에서 앱을 빌드하고 패키징하는데 사용되는 오픈 소스 도구
+ pack 툴이 하는 일
- pack은 클라우드, 컨테이너 오케스트레이션, 혹은 로컬 환경에서 애플리케이션을 빌드하고 패키징하는 강력한 도구
- 다양한 언어와 프레임워크에 대한 지원을 통해 개발자가 편리하게 애플리케이션을 관리할 수 있도록 도움
2번째 방법. Dockerfile 작성
dockerfile 기반의 어플리케이션 배포
① dockerfile 작성
: 도커 이미지 빌드를 위해
: 앱의 실행환경, 필요한 종속성, 코드 등 앱의 특정 요구사항에 맞춰 설정
② 도커 이미지 빌드
: 작성한 dockerfile을 기반으로 도커 이미지를 빌드함
③ 도커 이미지 테스트
: 빌드된 도커 이미지를 로컬에서 테스트해 앱이 올바르게 작동하는지 확인
④ 도커 레지스트리에 이미지 등록
: 앱의 도커 이미지를 도커 레지스트리에 등록해 다른 환경에서도 사용할 수 있도록 함
⑤ 앱 배포
3번째 방법. move2kube 툴 이용
move2kube는 소스 파일을 분석하여 쿠버네티스로 플랫폼 변경을 지원하는 도구임
자세하게 설명을 해주지 않아서,
많이 아쉬운 세미나였다..
내가 잘 몰라서 그런걸 수 도 있겠지만,
방법만 딱딱 알려주고
어떻게 해야하는지는 안알려준 강의랄까
그래도,
이 세미나를 통해서 알게된건
1.
어플리케이션 플랫폼을 어떤 입장에서 보는지에 따라
마이그레이션 방법이 달라지는것
2.
한가지의 방법으로 마이그레이션을 하는게 아니라
다양한 방법이 있다는 것
3.
각각의 마이그레이션 방법에 따라
사용하는 툴이나 활용 파일과 명령어는 다르더라도
CI / CD 파이프라인 대로 흘러가는것

.png?type=w580)
.png?type=w580)
댓글
댓글 쓰기