728x90
Kubernetes 네임스페이스
네임스페이스의 개념
- 네임스페이스를 이해하기 위해 다음과 같은 비유를 사용
- 두 명의 마크라는 이름을 가진 소년이 있음.
- 구분을 위해 각자의 성(스미스, 윌리엄스)으로 부름.
- 각 소년은 다른 집에 속해 있음.
- 각 집 안에서는 단순히 이름으로만 소통
- 집 밖에서는 전체 이름을 사용해 소통
- 각 집은 자신만의 규칙과 자원을 가짐
Kubernetes의 네임스페이스
- 이러한 집들은 Kubernetes의 네임스페이스와 같음.
- 지금까지 우리는 기본 네임스페이스에서 작업해 왔음.
- 기본 네임스페이스는 클러스터가 처음 설정될 때 자동으로 생성됨.
- 기본 네임스페이스는 클러스터가 처음 설정될 때 자동으로 생성됨.
- Kubernetes는 내부 목적을 위한 네임스페이스를 따로 생성함
- kube-system: 네트워킹 솔루션, DNS 서비스 등을 위한 네임스페이스
- kube-public: 모든 사용자에게 공개되어야 하는 리소스를 위한 네임스페이스
네임스페이스 사용의 필요성
- 작은 환경이나 학습 목적이라면 기본 네임스페이스에서 작업해도 무방함.
- 하지만, 엔터프라이즈 또는 프로덕션 환경에서는 네임스페이스 사용을 고려해야 함.
- 같은 클러스터에서 개발과 프로덕션 환경을 분리하고 싶다면,
- 각 환경에 대해 다른 네임스페이스를 생성할 수 있음.
- 개발 환경에서 작업할 때 실수로 프로덕션 리소스를 수정하지 않도록 보장함.
- 각 네임스페이스는 자체적인 정책과 자원 할당량을 가질 수 있음.
네임스페이스 내 리소스 접근
- 네임스페이스 내에서는 단순히 이름으로 리소스에 접근할 수 있음.
- 예: 웹 앱 파드가 DB 서비스에 접근할 때, 단순히 DB 서비스라는 이름으로 접근 가능.
- 다른 네임스페이스의 서비스에 접근하려면 전체 이름을 사용해야 함.
- 예: servicename.namespace.svc.cluster.local 형식.
- 예시: dbservice.dev.svc.cluster.local.
네임스페이스 운영
1. Pod 확인
2. Pod 생성
3. 새로운 네임스페이스 생성
4. 네임스페이스 전환
5. 자원 할당량 설정
- 리소스 쿼터 정의 파일 사용
요약
- 네임스페이스는 Kubernetes 클러스터 내에서 리소스를 격리하고 관리하기 위한 강력한 도구
- 기본, kube-system, kube-public 네임스페이스는 자동으로 생성
- 네임스페이스를 사용하면 리소스를 격리하고, 특정 정책과 자원 할당량을 설정할 수 있음
- 명령어와 정의 파일을 사용해 네임스페이스를 생성하고 전환할 수 있음.
728x90
'자격증 > CKA' 카테고리의 다른 글
[CKA] Udemy 45. 시험 Tips - Imperative Commands with Kubectl (0) | 2024.07.04 |
---|---|
[CKA] Udemy 44. Imperative vs Declarative (0) | 2024.07.04 |
[CKA] Udemy 38. Services - Load Balancer (0) | 2024.07.01 |
[CKA] Udemy 37. Services - Cluster IP (0) | 2024.07.01 |
[CKA] Udemy 36. Services - NodePort (0) | 2024.06.30 |