[KR] Kubernetes - SecurityContext

K8s에서의 컨테이너 보안 기능 도커에서는 Namespace를 통해 user (User Namespace), file system (Mount Namespace) 등을 분리하고, Capabilities 에서 선택적인 권한을 부여하는 등 보안 기능이 있는데, 쿠버네티스에서도 Security Context를 통해 동일하게 적용이 가능하다. 쿠버네티스에서 컨테이너는 Pod로 캡슐화 되므로, 위의 보안 적용은 컨테이너 레벨 또는 Pod 레벨 모두 적용 가능함. Pod 레벨에서 적용할 경우, Pod 내 모든 컨테이너에 동일하게 적용됨. 만일 서로 다른 설정을 컨테이너와 Pod에 설정하면, 컨테이너 설정이 Pod를 오버라이드 함....

March 14, 2024 · 1 min · Wonyoung Seo

Kubernetes - Command / Args / Configmap / Secret

Command & Arguments Docker Image를 기반으로 Pod 를 생성하면서 command 와 argument를 주입하려는 경우 예시 Docker Image # 예시 DockerfileFROMubuntuENTRYPOINT ["sleep"]CMD ["5"] Pod definition 파일에서 CMD 오버라이드 하기 apiVersion: v1 kind: Pod metadata: name: ubuntu-sleep-pod spec: containers: - name: ubuntu-sleep-pod image: ubuntu-sleep-pod args: ["10"] ## <--- CMD override Pod definition 파일에서 ENTRYPOINT 오버라이드 하기 apiVersion: v1 kind: Pod metadata: name: ubuntu-sleeper-pod spec: containers: - name: ubuntu-sleeper-pod image: ubuntu-sleeper-pod command: ["echo"] # <--- ENTRYPOINT override args: ["10"] # <--- CMD override Environment Variables 환경변수 K8s Pod을 생성하는 과정에서 환경 변수 타입은 크게 3가지가 있음...

March 12, 2024 · 4 min · Wonyoung Seo

[KR] Kubernetes - Multi-Container Pod

Multi-Container Pod (처음 쿠버네티스와 Pod의 개념에 대해 설명할 때) 파드는 최소의 배포단위이기에 여러 개의 어플리케이션 컨테이너를 묶어 하나의 파드로 배포하는 것은 적절한 사용법이 아님. 그러나, 하나의 파드에 복수의 컨테이너를 함께 구성하여 배포하는 방식이 충분히 고려될 수 있음. 다른 컨테이너를 통해 실행되는 서비스가 메인 어플리케이션을 보조하는 경우 동일 스토리지 또는 네트워크의 공유하는 서비스가 필요한 경우 동일한 라이프사이클을 이루는 경우 생성, 배포, 삭제, 스케일 업다운이 동일하게 적용되어야 하는 경우. 예) 웹서버와 별도로 로깅 서비스가 함께 페어를 이룬 경우 따라서 굳이 별도의 파드에 분리할 필요가 없음....

March 8, 2024 · 2 min · Wonyoung Seo

[KR] Kubernetes - NameSpace

Namespace Namespace 는 쿠버네티스 내 존재하는 가상의 공간 클러스터 내에서 오브젝트들과 리소스 그룹을 “논리적"으로 분리함. (물리적 분리가 아님) 작은 규모의 클러스터에서는 그냥 default에서 작업하면 되지만, 엔터프라이즈나 프로덕션 환경에서는 Namespace를 사용하는 것이 좋음 적용 예시 사용자에 따라 Namespace 접근 권한을 다르게 부여할 수 있음. Namespace마다 다른 정책을 부여할 수 있음. Namespace 별로 리소스 할당량(resource quota)을 지정/정의할 수 있음 Namespace의 유형 Default Namespace Cluster가 처음 생성될 때 K8s가 default로 생성함 프로덕션 클러스터의 경우 Default Namespace를 사용하지 않고, 다른 Namespace를 만드는 것이 권장됨....

March 5, 2024 · 2 min · Wonyoung Seo