-
반응형
[IT/DevOps] - macOS 환경 minikube 간편 설치
minikube 설치 글에 이어 알아두면 좋을만한 팁을 작성한다. 과거부터 로컬 개발 환경에서 주로 docker-compose.yaml 파일을 구성하여 DB나 Redis cache 등 구성을 많이 활용되고 있다. 하지만 이제 Docker Desktop에서 minikube로 갈아타게 되면 기존에 작성된 docker compose 파일을 사용하기보다는 최대한 kubernetes 생태계를 활용하는 게 좋을 것이다.
적은 노력으로 minikube 생태계를 바로 활용할 수 있게 도와주는 도구가 kompose이다. 기존에 docker-compose로 작성된 yaml 설정 파일을 kubernetes 생태계에 맞게 설정 파일로 변환해주는 커맨드 툴이다.
방법은 매우 간단하다. 우선, brew를 통해 kompose를 설치한다.
$ brew install kompose
그리고 기존에 만들어진 docker compose 설정 파일을 -f 옵션으로 그리고 최종 결과물은 --out 옵션에 원하는 파일명을 명시하면 된다.
$ kompose convert -f docker-compose.yaml --out k8s.yaml
이제 실행해보자
$ kubectl apply -f k8s.yaml
아래 예시는 기존에 docker-compose로 만들어서 활용하던 mongodb shard 설정들을 kompose로 변환한 뒤 실행한 결과이다. 상황에 따라 변환 후 약간의 손을 봐야 할 경우도 있지만 웬만하면 별 문제 없이 동작 가능하도록 잘 변환을 해준다.
$ kubectl get pods NAME READY STATUS RESTARTS AGE mongodb-cfg-primary-85567bbf8c-rnj4f 0/1 ContainerCreating 0 27s mongodb-cfg-secondary-9b48cc4cc-fcxd8 0/1 ContainerCreating 0 27s mongodb-shard0-primary-7fbf49c9-4hdn7 0/1 ContainerCreating 0 27s mongodb-shard0-secondary-76c5997bff-ks6l5 0/1 ContainerCreating 0 27s mongodb-shard1-primary-7d4749f968-njsrd 0/1 ContainerCreating 0 27s mongodb-shard1-secondary-5454cb7c49-jlgzf 0/1 ContainerCreating 0 27s mongodb-shard2-primary-865cd6c7c7-r4c7k 0/1 ContainerCreating 0 27s mongodb-shard2-secondary-798748c5d7-zbqmc 0/1 ContainerCreating 0 27s mongodb-sharded-85b99c6498-dzc9h 0/1 ContainerCreating 0 27s
반응형