데이터센터프로그래밍23(1)

서유리·2022년 5월 31일
1
post-thumbnail

23-Images and Registries(이론)

🟢 오늘 공부할 내용

  • Images
    : ImagePullPolicy
    : :latest tag
  • Private registries
    : Google
    : Amazon
    : Microsoft
    : IBM

🟢 Images

  • 쿠버네티스는 도커이미지와 동일한 이미지를 사용함
  • 이미지를 사용해서 쿠버네티스 pod 안에 있는 컨테이너를 실행하는데 활용하고 있음
  • 쿠버네티스의 yaml 파일처럼 도커에서 이미지를 다루는 것과 문법이 차이가 없음
  • 도커 run을 활용해서 이미지를 실행한 것처럼 쿠버네티스에서도 비슷한 형태로 이미지를 실행함

🟢 Updating Images
🦔 도커이미지와 쿠버네티스의 이미지의 차이는?

  • 쿠버네티스가 도커보다 Policy
    : 이미지를 가져올 때, Policy에 대한 차이가 있음
    ex. 쿠버네티스의 경우, IfNotPresent라는 Policy가 있음
    : 실행시킬 이미지가 자신에게 없다면, 가져오는 형태를 취함 (도커의 경우도 running을 했을 때, 이미지가 컴퓨터 안에 있으면 그것을 사용하여 실행하였고, 없는경우는 가져와서 사용하였음)

🟢 ImagePullPolicy

  • 라벨이 IfNotPresent면, 본인의 로컬에 없으면 외부로부터 가져오는 것을 의미
  • Always는 pod이 살아날때마다 이미지를 가져오게함 (본인의 로컬에 있든지, 없든지 상관없음)
  • Never는 pull 하지 말라는 의미 (로컬에 있는 이미지만 사용함, 만약에 로컬에 이미지가 없으면.. 실행하지 않겠다는 의미)

🟢 Why You Should Avoid : latest tag

  • Immutable & mutable
    : 자신이 운영하고자 하는 시스템에 SW 이미지가 있다면, 그 이미지는 모든버전이 고정된 버전으로 되어있는 것을 선호함. 그리고 그 버전이 유일하게 시스템에서 운영이 되었으며 좋겠다~라는 것을 의미
  • latest는 현재 동작하고 있는 버전1이 있는데, latest가 2인 경우, 1과 2가 혼용된다는 문제점이 발생할 수 있음
  • 최신이 가장 좋은 것이 아닌, 자신이 만든 SW의 버전이 가장 안정적인 것이 가자 합리적이라는 접근 방법임
  • 🌝 따라서, latest를 했을 때, 버전 tracking의 문제가 있다는 것임
    ex. 시스템이 버전 1로 실행될 것이라는 확신이 없기 때문에 문제가 발생했을 때, 버전제어로 복잡해질 수 있음
  • 🌝 따라서, Immutable 원칙을 따라 latest 보단, 1개의 버전이 동작하되 그 버전이 운영자에 의해 명시적으로 구체화 시킬 수 있도록 할 것

🟢 Amazon Elastic Container Registry(ECR)

  • 쿠버네티스는 운영을 하는 SW임
  • 쿠버네티스를 이용할 때 사용할 수 있는 Container Registry
    (1) Amazon
    : Elastic Container Registry(ECR)은 도커 컨테이너 이미지를 손쉽게 저장, 관리 및 배포할 수 있게 해주는 도커 컨테이너 레지스트리임
    : Elastic Container Registry(ECR)은 Amazon Elastic Container Service(ECS)와 통합되므로 개발에서 프로덕션까지 워크플로를 간소화 할 수 있음
    : ECR의 장점은 (1)완전관리형 (2)뛰어난 가용성 (3)보안 (4)간소화된 워크플로
    ex. 자신이 만든 yaml 파일을 Amazon의 ECR에 저장하고, Registry에서는 ECR로 만들어진 이미지에서 압축, 암호화, 접근제어로 보안을 제공하고, 버전 & Tag기능 제공을 함. ECS, EKS(관리형 쿠버네티스 서비스)를 실행할 수 있음
  • 🌝 따라서, (1)ECR을 통해서 Registry를 가져오기 (2) yaml파일을 만들어서 필요한 만큼의 CPU & 디스크를 정의 (3) 컨테이너를 직접 실행 (쿠버네티스 app을 통해서 관리를 하는 체제로 확장할 수 있음)
    : 사이트 https://aws.amazon.com/ko/ecr/
    : ECS를 12개월 간 무료로 사용할 수 있음

🟢 Micresoft Azure Container Registry

  • 마이크로 소프트의 Container Registry서비스가 제공됨
  • 도커 컨테이너와 containerable함
  • 동작할 때, 마이크로소프트의 Container Registry를 사용해서 Azure상으로 띄울 수 있음
  • 마이크로소프트에서 강조하는 장점은 (1) 전세계의 데이터센터를 많이 가지고 있음 (2) 신뢰성 & 보안 (3) 인증취득
  • 12개월 무료체험 가능
    : 사이트 https://azure.microsoft.com/ko-kr/services/container-registry/

🟢 IBM Cloud Container Registry

  • 이미지를 컨테이너에 배치하기 전에 취약성 발견하고, 관리형 사설 레지스트치에 도커 이미지를 저장하고 배포함
    : 사이트 https://www.ibm.com/cloud/free

🟢 Google Container Registry

  • 구글클라우드의 장점은 (1) 안전한 비공개 도커 레지스트리로 높은 보안성 (2) CI/CD 파이프라인을 쉽게 설정하는 등 연결이 잘됨 (3) 심층적인 취약점 스캔 (4) 정책에 위배되는 이미지 차단 (5) 기본 도커 지원 (6) 빠르고 가용성 높은 엑세스
    : 사이트 https://cloud.google.com/container-registry/
    🐶 추가적으로, Googel Kubernetes Engine이 있으므로 자신이 만든 pod을 운영 및 실행이 가능함
    : GKE 사이트 https://cloud.google.com/kubernetes-engine
profile
best of best

0개의 댓글

관련 채용 정보