kubectl을 사용해 POD 만들기
< yaml 파일을 사용해 POD만들기> - 수동으로 파드 생성
[root@k8smaster ~]# cd ~/lab/03
[root@k8smaster 03]# kubectl create -f guestbook-manual.yaml
[root@k8smaster 03]# kubectl get pods
[root@k8smaster 03]# kubectl get rs
< 실행중인 POD전체의 정의검색>
생성된 pod의 내용을 볼 수 있다.
# kubectl get po guestbook-manual -o yaml
# kubectl get po guestbook-manual -o json
(p.47) 그림 설명 - k8s.pdf
POD를 기준으로 쿠버네티스의 여러 컴포넌트들이 어떻게 상호 작용하는지에 대한 설명 그림
1. pod : 쿠버네티스의 최소 배포 단위 / 컨테이너를 가지고 있으며 2개이상의 컨테이너도 가능.
2. pod generator : 파드생성에 관여하는 컴포넌트들
1) deploy : deployment(배포). 자동 롤백 , 업데이트 기능
2) rs : ReplicaSet. 파드의 복제 개수를 보장.
3) rc : ReplicationController. 파드 복제(구형)
4) sts: StatefulSet . 상태가 있는 파드. 영속적이니 스토리지를 가진 파드 ( ex. 데이터베이스 )
5) ds : DaemonSet. 각 노드마다 하나의 pod가 실행되도록 보장
6) job : 단기적으로 실행되는 작업에 대한 관리. 작업 완료 -> pod종료
7) cronjob: 주기적으로 실행되는 작업을 스케쥴링하고 관리함.
8) hpa: Horizontal Pod Autoscaler. 파드의 수를 자동 조정
3. Configuration
pod에 대한 설정 제공
1) secret: 비밀번호, API 키, 토큰 등 관리
2) cm: ConfigMap. 환경설정파일. 명령행 매개변수 등과 같은 암호화가 필요없는 정보를 제공
4. Network Exposition
: 외부 네트워크와 pod간의 통신 설정
1) svc: Service. ip단위의 NAT. 외부로 부터 들어오는 요청을 가상네트워크 속에 존재하는 파드로 분기하는 것
-> endpoint(파드의 ip주소 + 포트) 를 제공
2) ing: ingress. URI 단위의 서비스 . HTTP나 HTTPS의 라우팅을 통해 미리 생성된 여러 서비스들로 분기시키는 역할
5. Resoure Mgt : 시스템 자원 관리
limits: cpu, 메모리 같은 리소스 자원의 상한선을 제한
quota: 네임스페이스의 리소스 사용 총량 제한.
6. Storage: 저장소 관리
--> 쿠버네티스에서 영구적 스토리지 볼륨 관리
pv: PersisitentVolum 클러스터에서 사용할 수 있는 스토리지 리소스를 정의함
pvc : PersisitentVolumClaim 스토리지 요청
sc : StorageClass 스토리지 유형 정의. 스토리지의 동적 할당을 처리
7. IAM(Identitiy and Access Management)
: 접근 권한 정책 생성 및 사용자의 접근 권한 관리
role : ( 네임스페이스 내) 권한 정의
ClusterRoleBinding 클러스터 전체에서 권한 부여 .
rb: RoleBinding. 특정 네임스페이스에 대한 권한 부여
cr: ClusterRole 클러스터 수준의 리소스 권한 정의
'Kubernetes' 카테고리의 다른 글
쿠버네티스 (ReplicationController 의 생성) (0) | 2024.09.30 |
---|---|
쿠버네티스 (POD 삭제 / 컨테이너 이름을 지정해서 pod로그 가져오기) (0) | 2024.09.27 |
쿠버네티스 ( ReplicaSet, Metrics-Server) (0) | 2024.09.26 |
Kubernetes를 이용한 컨테이너 (k8snode1에 GNOME 데스크탑 환경 설치) (0) | 2024.09.25 |
Kubernetes를 이용한 컨테이너 (0) | 2024.09.24 |