쿠버네티스(이하 k8s) 클러스터에 application을 배포하기위해서는 k8s에 기술된 정의대로 object를 생성해야하고 이 때, yaml 형식의 manifest파일을 작성하게 된다.
외부와 통신하는 서버를 배포한다고 했을때, 기본적으로 자주 사용되는 k8s object는 아래와 같다.
1. Deployment - Pod 배포를 제어하는 object. pod replicas, resouce, 배포 방식같은것들을 제어한다.
2. Service - Pod들을 하나의 ip로 묶어줌. pod에 고정된 주소로 접근할 수 있게 하는 역할. 다양한 어플리케이션을 올리고 통신이 필요한경우 사용.
3. Ingress : 외부의 클러스터 pod 서비스에 접근관리 위한 ojeject. 일반적으로 http를 관리함.
yaml 파일에 기술하는 옵션은 object마다 다르지만 아래 4개는 모든 리소스 정의에 공통적으로 존재한다.
- apiVersion - 이 오브젝트를 생성하기 위해 사용하고 있는 쿠버네티스 API 버전이 어떤 것인지
- kind - 어떤 종류의 오브젝트를 생성하고자 하는지
- metadata - object에 이름을 부여하여, object를 구분지을 데이터
- spec - 오브젝트에 대해 어떤 상태를 의도하는지
- object spec 에 대한 포맷은 object마다 다르고, 아래 쿠버네티스 API 레퍼런스 페이지에 오브젝트에 대한 모든 spec 포맷을 살펴볼 수 있다.
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#-strong-api-overview-strong-
'Hello World > IaC' 카테고리의 다른 글
[IaC] Terraform Docker image 생성 (0) | 2022.08.09 |
---|---|
[AWS] AWS CDK 란? CloudFormation 과 비교하기 (0) | 2022.07.11 |
[Ansible/AWX] AWX 관리 tip - Management Job (0) | 2021.03.24 |
[Ansible/AWX] AWX inventory 에 host 자동 추가 (2) | 2021.03.24 |
[Ansible/AWX] Ubuntu에 AWX 설치 따라하기 (0) | 2021.03.17 |
댓글