w10sim.log
로그인
w10sim.log
로그인
쿠버네티스
심우열
·
2023년 11월 14일
팔로우
0
0
쿠버네티스
목록 보기
1/2
1. 워크로드
1. POD
컨테이너 하나 이상의 집합
최소 관리 단위
2. 워크로드 리소스
파드를 관리하는 상위 개체
1. 레플리카 셋 (지속성)
POD의 복제본 개수를 관리해주는 역할, 관리자가 지정한 개수
POD의 복제본이 여러개 있으면 하나가 고장나도 다른 POD에서 작업 수행 가능
-> 가용성 보장
2. deployment (지속성)
레플리카 셋의 상위 개체
배포 및 업데이트 정책 관리
POD의 여러 복제본이 있을때, POD 내부의 기능에 업데이트가 필요할 경우 이를 관리해주는 역할
3. 데몬 셋 (지속성)
POD의 복제본 개수를 관리해주는 역할, POD를 노드당 하나씩만 실행되도록 제한
4. 스테이트풀 셋 (지속성)
POD의 복제본 개수를 관리해주는 역할, POD의 상태 등을 유지
5. 잡 (일회성)
일회성 어플리케이션 관리
완료 횟수를 보장, 즉 에러가 뜨지 않고 잘 동작된 횟수를 체크
6. 크론 잡 (일회성)
일회성 어플리케이션 관리
잡을 지정된 시간에 주기적으로 동작 할 수 있게 해줌
2. NameSpaces
kubectl get ns
1. Default
오브젝트를 생성할때 네임스페이스를 지정해주지 않으면 자동으로 지정되는 네임스페이스
2. kube-node-lease
쿠버네티스의 가용성을 체크하기 위한 네임스페이스
시스템 상태 체크
3. kube-public
누구에게나 공개되어있는 네임스페이스
읽기전용
4. kube-system
쿠버네티스 클러스터를 구성하기 위해서 필요한 각종 오브젝트들이 있는 네임스페이스
3. 쿠버네티스 네트워크
1. 기본설정
파드에 기본적으로 IP 주소가 할당됨
-> 내부용 가상 IP 주소가 할당되고 가변적인 주소
이러한 문제점들을 해결하기 위해서 쿠버네티스에서는 서비스라는 오브젝트를 사용
-> 내부용/외부용 IP 주소까지 할당 가능, 고정적인 IP 주소를 제공
-> 여러 파드들에 대한 단일 진입점을 제공(부하분산 기능 포함)
2. 서비스란?
파드에 대한 네트워크 구성
파드의 label 과 일치하는 selector를 설정 필요
포트 번호를 여러개 사용 가능하게 해줌
포트 연결 시 별칭으로 연결 가능
연결 시 파드와 동일한 네임스페이스에 생성되어야 함
엔드포인트란?
서비스를 통해서 실제 접근하는 대상의 주소를 등록(파드)
3. 서비스의 종류
1. Cluster IP - 내부용 서비스
내부용 IP 만 할당하는 서비스
내부의 파드간에 네트워크 연결시 사용 됨
동일 클러스터의 여러 Pod에 단일 네트워크 진입점을 제공
2. Node Port - 외부용 서비스
노드의 포트 번호로 포트포워딩 설정
외부에서 Node의 Ip 와 Port 번호를 통해 내부의 Pod에 접근 가능
3. Load Balancer - 외부용 서비스
외부의 로드 밸런서 서비스 또는 장치를 통해서 외부 접근 허락
4. External name
파드가 외부로 나갈 때 사용
4. 볼륨
1. 목적
데이터 공유 (파드 내부의 컨테이너끼리)
영구 저장
2. 종류
1. emptyDir
임시로 데이터를 저장하는 빈 볼륨
2. gitRepo
내부적으로 emptyDir 기능을 이용하여, 초기에 Git 레포지토리의 내용을 채워서 제공하는 볼륨, 현재는 사용 안함
3. hostPath
쿠버네티스 클러스터 노드(호스트)의 파일 시스템을 제공하는 볼륨
특정 노드의 특정디렉토리 경로로 제공하기 때문에 다른 노드의 pod에서 같은 경로가 없다면 접근 불가능
4. Network Storage Volume
hostPath 방식의 문제를 해결하기 위해 공동의 nfs에 클라이언트로 등록되어 서로간에 접근이 가능하도록 함
nfs, cephfs, cinder, glusterfs, ...
5. Cloud Storage Volume
6. 정적/동적 프로비저닝 볼륨
7. 특수 유형 볼륨
심우열
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .
팔로우
다음 포스트
Yaml 파일 작성 팁
0개의 댓글
댓글 작성