Engineering/DevOps
-
[Kubernetes] PV, PVC 간단 정리, MySQL 띄워보기Engineering/DevOps 2022. 3. 13. 16:32
컨테이너의 특징 컨테이너 내의 디스크에 있는 파일들은 임시적이다. 즉, 컨테이너가 터미네이트되고 다시 시작되면 내부의 상태는 초기화가 된 상태이다. 파드 내에서 같이 실행되는 컨테이너간에 파일 공유가 어렵다. PV (Persistent Volume) PV 는 볼륨 자체를 의미하며, 클러스터 내에서 리소스로 다뤄진다. 쿠버네티스에서는 다양한 볼륨을 지원한다. AWS EBS, Azure Disk, NFS 등.. 파드는 PV에 직접 연결하는 것이 아니라 PVC를 통해서 볼륨 마운트를 한다. 이러한 추상화 덕분에 파드는 어떤 스토리지를 사용하는지 고려하지 않아도 된다. ex) apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv-volume label..
-
[Kubernetes] 배포 간편화 도구, Taints, Tolerations, RBACEngineering/DevOps 2022. 2. 1. 12:58
컨테이너 인프라 환경의 CI/CD CI (Continuous Integration) 코드를 커밋하고 빌드했을 때 정상적으로 작동하는지 반복적으로 검증하여 애플리케이션의 신뢰성을 높이는 작업이다. 개발자가 코드를 커밋하고 푸시하면 CI 단계로 진입하며, 자동으로 빌드하고 테스트를 거쳐 배포할 수 있는 신뢰성 있는 애플리케이션인지 검증한다. CI 단계를 통해 검증이 끝났으면 CD 로 넘어간다. CD (Continuous Deployment) 애플리케이션을 컨테이너 이미지로 만들어서 파드, 디플로이먼트 등 다양한 오브젝트 조건에 맞추어 미리 설정한 파일을 통해 배포한다. 배포 간편화 도구들 kubectl 쿠버네티스에 기본으로 포함된 커맨드라인 도구이며, 추가 설치 없이 바로 사용할 수 있다. 오브젝트 생성과 ..
-
[Kubernetes] 도커와 컨테이너Engineering/DevOps 2022. 1. 30. 09:42
도커와 컨테이너 파드, 컨테이너, 쿠버네티스 파드는 워커 노드라는 노드 단위로 관리된다. 워커 노드와 마스터 노드가 모여서 쿠버네티스 클러스터가 된다. 파드는 1개 이상의 컨테이너로 구성되어 있다. 컨테이너 컨테이너는 하나의 운영 체제 안에서 커널을 공유하며 개별적인 실행 환경을 제공하는 격리된 공간이다. 컨테이너 기술의 핵심은 다음 세 가지다. 컨트롤 그룹 (cgroup) 네임스페이스 통합 파일 시스템 (Union filesystem) 컨트롤 그룹 프로세스들의 리소스 사용(CPU, 메모리, 디스크 입출력, 네트워크 등)을 제한하고 격리시키는 리눅스 커널 기능이다. 컨테이너는 미리 정의된 제약 조건 하에 CPU와 메모리를 공유할 수 있다. 컨트롤 그룹을 사용하여 컨테이너가 메모리, 디스크 I/O, 네트워..
-
[Kubernetes] 쿠버네티스 클러스터와 외부 네트워크Engineering/DevOps 2022. 1. 23. 13:15
쿠버네티스 클러스터와 외부 네트워크 서비스 외부에서 쿠버네티스 클러스터에서 실행중인 파드에 접근할 수 있도록 네트워크를 노출하는 추상화 방법. 서비스 덕분에 서비스 디스커버리 메커니즘을 사용하기 위해 애플리케이션을 수정할 필요가 없다. 쿠버네티스는 파드에게 고유한 IP주소와 파드 집합에 대한 단일 DNS 명을 부여하고, 그것들 간에 로드밸런싱을 수행할 수 있다. 노드포트 (NodePort) 고정 포트로 각 노드의 IP에 서비스를 노출시키고, 해당 포트로 들어오는 모든 요청을 노드포트 서비스로 라우팅한다. 노드포트 서비스가 라우팅되는 ClusterIP 서비스가 자동으로 생성된다. ClusterIP : 서비스를 클러스터 내부 IP에 노출시킨다. 해당 타입은 클러스터 내에서만 서비스에 도달할 수 있다. Ser..