본문 바로가기

전체 글

(70)
커스터마이즈로 배포 간편화하기 (MetalLB 구성) 커스터마이즈의 작동 원리 커스터마이즈를 통한 배포는 kubectl에 구성돼 있는 매니페스트를 고정적으로 이용해야하는 기존 방식을 유연하게 만든다. 우선 커스터마이즈가 어떻게 작동하는지 간단하게 살펴보자. 커스터마이즈는 야믈파일에 정의된 값을 사용자가 원하는 값으로 변경할 수 있다. 쿠버네티스에서 오브젝트에 대한 수정사항을 반영하려면 사용자가 직접 야믈 파일을 편집기 프로그램으로 수정해야한다. 일반적으로 이런 방식으로 수정했을 때 큰 문제가 발생하지 않는다. 그런데 만약 수정해야하는 야믈파일이 매우 많거나 하나의 야믈파일로 환경이 다른 여러 개의 쿠버네티스 클러스터에 배포해야해서 LABEL이나 NAME 같은 일부 항목을 수정해야 한다면 매번 일일이 고치는 데 많은 노력이 든다. 커스터마이즈는 이를 위해 k..
젠킨스 설치를 위한 간편화 도구 Nginx 애플리케이션을 사용하려면 디플로이 먼트를 생성하고 이를 서비스로 노출하는 오브젝트 생성 과정을 총 두번 진행해야 했다. 그런데 이런 적은 수의 오브젝트로 모든 종류의 애플리케이션을 사용자가 사용할 수 있는 형태로 구현할 수 있을까? 그렇지 않다. 필요에 따라서 다수의 오브젝트를 사용해야 하는데, 우리는 수많은 오브젝트를 한번에 생성하는 매니페스트를 실행한적이 있다. MetalLB 구동하는 데 필요한 수많은 오브젝트를 미리 정의된 하나의 매니페스트에 넣고 바로 실행했다. 모든 환경에서 단순히 오브젝트를 정의한 대로만 사용한다면 젠킨스나 커스터마이즈, 헬름 등은 알 필요가 없다. 그러나 사용자마다 필요한 환경적 요소가 모두 다르므로 이를 요구 사항에 맞게 바꾸어야한다. 쿠버네티스 클러스터 환경에서..
컨테이너 인프라 환경에서 CI/CD 컨테이너 인프라 환경에서는 주로 CD를 강조하지만, CI와 CD는 대부분 함께 사용되기 때문에 CI/CD의 개념을 정확히 이해해야한다. 일반적으로 CI는 코드를 커밋하고 빌드했을 때 정상적으로 작동하는지 반복적으로 검증해 애플리케이션의 신뢰성을 높이는 작업이다. CI 과정을 마친 애플리케이션은 신뢰할 수 있는 상태가 된다. CD는 CI 과정에서 생성된 신뢰할 수 있는 애플리케이션을 실제 상용 환경에 자동으로 배포하는것을 의미한다. 애플리케이션을 상용 환경에 배포할 때 고려해야 할 사항이 여러가지 있는데, 이를 CD에 미리 정의하면 실수를 줄이고 실제 적용 시간도 최소화 할 수 있다. CI/CD를 컨테이너 인프라 관점에서 정리해보자. 개발자가 소스를 커밋(commit) 하고 푸시(push)하면 CI 단계로..