Home 2. kubernetes Resources and Configs
Post
Cancel

2. kubernetes Resources and Configs

kubernetes concept

Namespace - 리소스를 구분하는 장벽

리소스들을 논리적으로 구분하기 위해 사용한다. Pod, Replica-Set, Deployment, Serviec 와 같은 쿠버네티스 리소스들이 묶여있는 가상의 공간 이라고 이해하면 된다.

기본 Namespace

  • default
  • kube-system : 쿠버네티스 클러스터 구성에 필수적인 컴포넌트들과 설정값
  • kube-public 등 하지만 각 네임스페이스의 리소스들은 논리적으로만 구분된 것일 뿐 물리적으로 격리된 것이 아니라는 점을 알아둬야 한다.

리눅스 네임스페이스 와는 완전히 다른 개념이다. 리눅스 네임스페이스는 컨테이너의 격리된 공간을 생성하기 위해 리눅스 커널의 자체 기능을 활용하는 것이며 네트워크, 마운트, 프로세스 네임스페이스 를 의미한다.

Namepspace 사용하기

  • yaml 파일에 설정
  • kubectl create namespace production

Namespace Service 접근하기

다른 네임스페이스에 존재하는 경우, 서비스 이름만으로 접근할 수 없다. 하지만 서비스 이름 뒤에 네임스페이스 이름을 붙이면 접근이 가능하다.s

네임스페이스 종속여부

모든 오브젝트가 네임스페이스에 종속되는 것은 아니다. 노드 와 같은 오브젝트들은 네임스페이스에 의해 구분되지 않기 때문이다.

Configmap, Secret - 설정값을 포드로

쿠버네티스에서는 yaml파일과 설정값을 분리할 수 있는 ConfigMap 과 Secret 오브젝트를 제공한다.

Configmap

일반적인 설정값을 담아 저장할 수 있는 쿠버네티스 오브젝트이다.

  • 컨피크맵의 값을 컨테이너의 환경변수로 사용
  • 컨피그맵의 값을 포드 내부의 파일로 마운트해 사용
  • 컨피그맵의 데이터를 컨테이너의 환경변수로 가져옴
  • 컨피그맵의 내용을 파일로 포드 내부에 마운트해서 사용

Secret

SSH키, 비밀번호와 같이 민감한 정보를 저장하기 위한 용도로 사용된다. 네임스페이스에 종속되는 쿠버네티스 오브젝트이다.

This post is licensed under CC BY 4.0 by the author.