kubernetes 환경에서 MySQL, Redis를 구성해보자
·
kubernetes
StatefulSet 리소스로 프로젝트에 필요한 컴포넌트들을 설치하고, 테스트 해보는 것까지 기록하는 목적이다. ​각 컴포넌트간에 ClusterIP 방식으로 통신하고자 설계했다.​default로 설정된 ClusterIP은 k8s cluster 내부에서만 접근이 가능한 서비스로 외부로 노출되지 않는 특징이 있다.그래서 Pod끼리 해당 서비스의 DNS 이름이나 ClusterIP를 사용해서 주로 접근한다.​ConfigMap과 Secret 리소스를 활용해서 컴포넌트들을 결합한 서버를 배포하는게 이번 게시글의 목적이다.​​​우선 먼저, 항상 eks를 종료하기 전에 모든 리소스를 삭제(terraform destroy)했기에 다시 생성해줘야 한다.1. *.tf 폴더 경로에서 terraform apply로 재생성2. ..
Docker 컨테이너 패키징과 이미지 최적화의 이해
·
backend
로컬의 경우 ARM, x86 68bit 두 가지 환경이 있다.서버 환경도 보통 후자인데 크로스 플랫폼으로 빌드하지 않는 이상, 최신 버전의 맥북은 빌드시 ARM 으로 된다.​서비스 배포시 우리는 어떤 환경에서던 동일한 Dockerfile을 작성해서 컨테이너 이미지를 빌드한다.​어떻게 동일한 컨테이너 이미지를 이용해서 Docker와 kubernetes에서 이용 가능할까? 이에 대해 알려면 Docker에 대한 살짝 더 깊은 이해가 요구된다.​​​OCI(Open Container Initiative) : 저수준 컨테이너 런타임OCI 이미지 스펙을 가진 컨테이너 이미지는 OCI 런타임에서 구동 가능실제 실행할려면 isolation된 환경이 필요한데, 관련된 리눅스 기술을 관리하는 레이어Linux 운영체제의 커널..