kubernate
기계새
2022. 10. 25. 10:06
2022. 10. 25. 10:06
- devops 와 k8s
- 개발/운영 을 통합. -> MSA가 등장
- 통 모놀리스 -> 느슨하게 결합되고 컨테이너화된 요소로 구성
- 전체 생명주기 통합 관리 : 개발/테스트/배포/운영
- 컨테이너: 지속적인 개발, 통합 배포에 효과적
- k8s와 컨테이너
- k8s : 컨테이너 기반의 가상화 환경을 운영 관리 기술
- 개발환경을 컨테이너 기반 가상환경으로 구현
- CICD 개발도구를 결합
- 빌드/테스트를 용이하게 하여 개발환경 자동화, 운영환경 배포의 기반 마련
- k8s와 오브젝트 모델
- CNCF 쿠버네티스 생태계 및 도구
- 마스터(컨트롤러), 노드/미니언(컨테이너)
- 오브젝트 : 상태를 관리하기 위한 대상
- basic object
- pod (컨테이너화된 app)
- service (LB)-label selector로 하나의endpoint 제공, 어떤pod를 서비스로 묶을지 정의
- volume(저장소)-마운트하여사용(cloud, NFS 등등) pod과 lifecycle이 같음
- namespace(패키지명) k8s 클러스트 내 논리적인 분리단위, 접근권한, 리소스할당 등을 할 수 있다.
- controller
- RC(Replication Controller), RS(Replication Set), DS(DaemonSet), Job, SafefulSet, Deploymenet
- object 및 기타정보
- k8s 클러스트 아키텍쳐
- 마스터는 설정환경 저장, 전체 클러스터 관리
- 노드는 pod, container 처럼 k8s위에서 동작하는 워크로드 호스팅
- 애드온으로 리소스를 관리 클로스트 구현 (DS, deployment)
- k8s 운영
- volume - 데이터 보존, service - pod집합에 접근 기술 api객체
- k8s : 컨테이너의 상태체크, 재시작, 제외(pod) 등 기능을 제공
- k8s 배포
- 배포전략
- blue/green
- canary
- rolling update
- 업데이트된 pod으로 점진적으로 교체, 서비스 중단 없이 제공
- deployment는 replicated 앱을 관리하는 API객체
- ConfigMap - 공개 데이터를 key-value 값으로 저장하여 사용 , 환경설정 내용을 컨테이너와 분리/제공
- k8s 모니터링
- layer : node, container, app, k8s
- k8s 대상 : resource,disk,cpu,memory,pod,network
- k8s 보안
- 계정 role : admin, 일반계정
- network : pod그룹간 통신, 외부네트워크와의 통신 포인트 (end-point)
- Security Context - pod의 접근제어, 권한, 정책 정의
- k8s network
- k8s 에서 IP는 컨테이너가 아니라 pod 에 할당 된다.
- CNI (Container Network Interface) 표준 API 제공