2022. 5. 19. 21:26ㆍkubernetes
오브젝트 종류
kubectl api-resouces
위 명령어를 이용해 오브젝트들의 목록을 확인 할 수 있다.
● Label/LabelSelector
● Workload
- Pod
- Controller
- ReplicationController
- ReplicaSets
- DaemonSets
- Jobs
- CronJobs
- Deployments
- StatefulSets
- HorizontalPodAutoscaler
● Network
- Service
- Endpoints
- Ingress
● Storage
- PersistentVolume
- PersistentVolumeClaim
- ConfigMap
- Secret
● Authentication
- ServiceAccount
- RBAC
- Role
- ClusterRole
- RoleBinding
- ClusterRoleBinding
● Resource Isolation
- Namespaces
● Resource Limits
- Limits
- Requests
- ResourceQuota
- LimitRange
● Scheduling
- NodeName
- NodeSelector
- Affinity
▶ Node Affinity
▶ Pod Affinity
▶ Pod Anti Affinity
- Taints/Tolerations
- Drain/Cordon
오브젝트의 버전 확인
kubectl api-versions
ex) apps/v1
- app : 그룹
- v1 : 버전
> 그룹이 없는 api는 core 그룹
● Stable
- 안정화된 버전을 뜻한다.
- v1, v2 같이 v뒤에 숫자를 붙여 표기
● Beta
- 안정화 되진 않았지만 충분히 검증 되어 오류는 없다.
- 다음 버전으로 올라가게 되면 기능이 변경 될 수 있어 downtime 발생할 수 있다.
(특정기능을 사용하기 위한 재시작)
- Mission Critrcal 같은 필수적인 시스템에서는 사용을 자제해야한다.
- v1beta(n), v2beta(n)와 같이 beta 뒤에 숫자를 붙여 표기
● Alpha
- 기본적으로 비활성화된 상태이므로 평소에는 보이지 않는다.
- 개발 중인 API로 주로 개발자들이 사용 및 관리
- v1alpha(n), v2alpha(n) 와 같이 alpha 뒤에 숫자를 붙여 표기
※ 버전 순서
- v1alpha1 -> v1alpha2 -> v1alpha3 -> v1beta1 -> v1beta2 -> v1
오브젝트 정의
yaml 파일로 오브젝트를 정의 할 시 기본적으로 apiVersion, kind, spec, metadat를 정의해야 한다.
apiVersion:
kind:
metdata:
spec:
- apiVersion : 지원하는 오브젝트의 버전
- kind : 오브젝트의 종류
- metadata : 오브젝트의 메타데이터
▶ 이름, 네임스페이스, 레이블, 어노테이션
- spec : 오브젝트에 대한 선언
오브젝트의 정보를 확인할 수 있는 명령어
#pod의 정보
kubectl explain pods
#pod의 metadata의 정보
kubectl explain pods.metadata
#pod의 spec의 정보
kubectl explain pods.spec
#pod의spec의 containers의 정보
kubectl explain pods.spec.containers
##pod의 spec의 containers의 images의 정보
kubectl explain pods.spec.containers.images
#pod의 spec에 구성 방법을 자세히 보여줌
kubectl explain pods.spec --recursive
오브젝트 관리
● 명령형 커멘드 : kubectl 명령으로만 구성된 오브젝트 관리 명령어
#생성
kubectl create
#실행
kubectl run
#표시(확인)
kubectl expose
● 선언형으로 오브젝트로 구성 및 관리 : yaml 파일들로 오브젝트 구성 및 관리를 한번에 실행
#리소스 파일을 적용
kubectl apply -f resources/
'kubernetes' 카테고리의 다른 글
Label과 LabelSelector, Annotations (0) | 2022.05.29 |
---|---|
Namespace (0) | 2022.05.29 |
Workload - Pod (0) | 2022.05.29 |
Kubespray로 Kubernetes 설치 (0) | 2022.05.17 |
K8s(kubernetes) 설치 (0) | 2022.05.17 |