Kubernetes 컨테이너 환경변수 주입 방식과 우선순위

Kubernetes 상에서 소스코드를 구동할 때, 코드베이스를 변경하지 않으면서 코드의 동작을 컨트롤하기 위한 방법으로 환경변수가 흔히 이용됩니다. Kubernetes 컨테이너에 환경변수를 주입하는 다양한 방식과, 여러 방식을 동시에 이용하여 충돌이 발생했을 때의 우선순위에 관헤 알아보겠습니다. key-value 직접 명시 가장 직관적인 방식으로, container spec 내부에 직접 key-value로 환경변수를 명시하는 방식입니다. apiVersion: v1 kind: Pod metadata: name: pod-with-env spec: containers: - name: container-with-env image: nginx:1.14.2 env: - name: SOME_ENV_KEY value: "some env value" - name: SOME_ENV_KEY_2 value: "another env value" 외부 리소스로부터 값 로드 직접 value를 명시하지 않고, 외부 리소스로부터 환경변수를 주입할 수도 있습니다....

September 21, 2024 · Daram

AWS ECR Multi Architecture Images

Amazon Elastic Container Registry(AWS ECR)는 AWS에서 제공하는 container image를 저장하고 관리할 수 있는 서비스입니다. 이 서비스의 멀티 아키텍처(Multi-Architecture) 기능을 사용하면 서로 다른 CPU 아키텍처(예: x86, ARM 등)를 사용하는 시스템에서도 동일한 container image를 실행할 수 있습니다. 즉, 하나의 container image를 생성하면, 이를 다양한 하드웨어 환경에서 호환되게끔 지원해 주는 기능을 제공한다는 의미입니다. 이를 통해 개발자는 하나의 이미지로 다양한 환경을 지원할 수 있어 운영 효율성이 높아집니다. 아래의 예제에서는 Docker 명령어를 사용하였습니다. AWS ECR Multi Architecture Image Build (buildx) Multi Architecture Image를 빌드하는 첫 번째 방법은 Docker Buildx 명령어를 사용하는 것입니다....

August 16, 2024 · Kai