1. 컨트롤러와 오브젝트
쿠버네티스는 크게와 오브젝트를 관리하는 컨트롤러와 오브젝트로 나뉜다.
사용자는 자원의 원하는 상태를 정의하고
- 컨트롤러 : 사용자가 바라는 상태가 일치하도록 오브젝트를 생성/삭제
- 오브젝트 : Pod, Service, namespace, volume등이 있음
2. 네임스페이스
- 클러스터 하나를 여러 개의 논리적인 단위로 나눠서 사용함
- 네임스페이스 별로 별도의 쿼터를 설정해서 특정 네임스페이스의 사용량을 제한할 수 있음
k8s에서는 기본으로 몇 개의 네임스페이스가 자동 생성됨.
이중에서 default, kube-system, kube—public, kube-node—lease 등은 쿠버네티스가 기본으로 생성
docker는 도커로 설치한 쿠버네티스이므로 도커에서 만든 네임스페이스
• default: 기본 네임스페이스입니다. 쿠버네티스에서 명령을 실행할 때 별도의 네임스페이 스를 지정하지 않는다면 항상 default 네임스페이스에 명령을 적용합니다.
• kube-system:쿠버네티스 시스템에서 관리하는 네임스페이스입니다. 이 네임스페이스에 는쿠버네티스관리용 파드나 설정이 있습니다.
• kube-public:클러스터 안 모든 사용자가 읽을 수 있는 네임스페이스입니다. 보통 클러스 터 사용량 같은 정보를 이 네임스페이스에서 관리합니다. 클러스터를 사용하는 모두가 볼 수 있기 때문입니다.
• kube-node-lease:각 노드의 임대 오 브 젝 트 舞 et들을 관리하는 네임스페이스입니다. 쿠버네티스 1.13 이후 알파 기능으로 추가되었습니다.
3. 템플릿
- k8s는 YAML 형태의 템플릿을 사용
apiVersion:v1
kind: Pod
metadata:
spec:
• apiVersion: 사용하려는 쿠버네티스 API 버전을 명시합니다.
kubectl api-versions 명령으로 현재 클러스터에서 사용 가능한 API 버 전을 확인할 수 있습니다.
• kind:어떤 종류의 오브젝트 혹은 컨트롤러에 작업인지 명시합니다.
Pod라고 설정하면 파드에 관한 템플릿입니다. Pod. Deployment, Ingress 등의 다양한 오브젝트나 컨 트롤러를 설정할 수 있습니다
• metadata: 메타데이터를 설정, 오브젝트의 이름이나 레이블을 설정
• spec: 파드가 어떤 컨테이너를 갖고 실행하며, 실행할 때 어떻게 동작하는지 명시
'Cloud > Kubernetes (k8s)' 카테고리의 다른 글
[k8s] k8s cluster install guide (설치 가이드) (0) | 2022.04.22 |
---|---|
[Container] Podman 설치 및 사용법 (0) | 2021.08.24 |
[Container] Docker 설치 및 사용법 (0) | 2021.08.24 |
[k8s] 주요 컴포넌트 설명 (0) | 2021.07.05 |
[k8s] 명령어 (0) | 2021.07.05 |