ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Minikube 활용팁 kompose
    2022. 4. 12. 0 comments

    [IT/DevOps] - macOS 환경 minikube 간편 설치

    minikube 설치 글에 이어 알아두면 좋을만한 팁을 작성한다. 과거부터 로컬 개발 환경에서 주로 docker-compose.yaml 파일을 구성하여 DB나 Redis cache 등 구성을 많이 활용되고 있다. 하지만 이제 Docker Desktop에서 minikube로 갈아타게 되면 기존에 작성된 docker compose 파일을 사용하기보다는 최대한 kubernetes 생태계를 활용하는 게 좋을 것이다.

    kcompose 오픈소스

    적은 노력으로 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
    반응형

    댓글 0

Designed by Tistory.