Kubernetes4 Kubernetes Scheduling #1 Pod Scheduling 1. 개념 쿠버네티스에서 Pod 생성 요청 시, Pod를 적정 node에 배치 Pod를 어느 node에 적절하게 배치할 것인지에 대한 여러 고려 사항 필요 충분한 리소스 ( CPU와 메모리)등 필요 2. 종류 NodeSelector 가장 간단하고 권장되는 node선택 제약 조건 형태 Pod가 클러스터 안에서 어떤 노드에서 실행될 지 키-값 쌍으로 설정 Pod가 노드에서 동작하려면, 노드는 키-값 쌍으로 표시되는 레이블이 필요 Affinity & Anti-affinity Affinity : Pod가 지정한 레이블을 가진 Pod들이 있는 node로 Scheduling Anti : 같은 조건을 가진 Pod를 피해 다른 노드로 Scheduling Taint & Toleration.. 2023. 8. 15. Kubernetes ConfigMap & volume #1 ConfigMap 비기밀 데이터 키-값 쌍으로 저장하기 위해 사용한 API 객체 컨테이너에 필요한 환경설정 내용을 컨테이너와 분리해서 제공하기 위한 기능 컨테이너는 클라우드 네이티브 환경에서 변하지 않는 자원 다른 설정을 가지고 Pod를 실행해야 할 경우 사용 configmap.yaml 더보기 kind: ConfigMap metadata: name: configmap-dev namespace: configmap data: DB_URL: localhost DB_USER: myuser DB_PASS: mypass DEBUG_INFO: debug kubectl create ns configmap kubens configmap vim configmap.yaml kubectl apply -f configma.. 2023. 8. 9. Kubernetes Deploy & Service & Ingress #1 YAML 파일 구조 apiVersion 오브젝트를 생성하기 위해 사용하고 있는 쿠버네티스 API 버전 kind 어떤 종류의 오브젝트를 생성하고자 하는니 metadata 이름 문자열, UID, 선택적 네임스페이스를 포함하여 오브젝트 유일하게 구분할 데이터 spec 오브젝드에 대해 어떤 상태를 의도하는지 정의 #2 Deployment Controller 애플리케이션 배포 시 사용하는 가장 기본적인 컨트롤러 Replicaset은 고가용성 위해 항상 원하는 개수를 정하지만, 이는 서버 다운없이 새로운 버전의 Pod로 교체 가능 베포에 대한 기능 세분화 개수 유지 뿐만 아니라 롤링 업데이트 가능 1. RollingUpdate deployment-nginx.yaml 더보기 apiVersion: apps/v1 .. 2023. 8. 8. Kubernetes 기본 #1 Kubernetes 기본 1. 정의 Linux 컨테이너 작업을 자동화하는 오픈소스 플랫폼 컨테이너화된 애플리케이션을 배포하고 확장하며 수동 프로세스 필요치 않음 클러스터는 퍼블릭, 프라이빗, 하이브리드 클라우드 전체로 호스트 확장 가능 2. 개념 Observe : 현재 상태 Diff : 현 상태가 아닌 요구사항 Act : 현 상태를 요구사항 상태로 만들기 위해 현 상태를 변경 상태체크(ovserve) -> 차이점 발견(diff) -> 조치(act) -> 상태체크(observe) -> loop => 이러한 loop 프로세스를 Controller라고 부름. 3. Container Orchestration Tools Container의 배포, 관리, 확장, 네트워킹을 자동화하는 기술 목적 여러 컨테이너의.. 2023. 8. 7. 이전 1 다음