728x90

AWS에서 컴퓨팅 인프라를 운영하려면 머리가 아픕니다. 
늘 쓰던 것을 쓰면 큰 문제도 고민도(가령 묻지도 따지지도 않고 EC2) 없지만
새로운 제품을 써보려고 하면 일단 제품을 이해하는 것부터 허들입니다 ㅎㅎ
물론 한번 쓰기 시작하면 주머니가 탈탈 털릴 정도로 잘 쓰게 되긴 합니다. 

근래에 k8s 쪽을 다룰일이 계속 생기다 보니 AWS의 제품들에도 관심을 갖게 되었고
AWS가 제공하는 컨테이너 오퍼링을 한번 정리해보고 갈 필요가 생겼습니다. 
도대체 제품 설명만으로는 "뭥미?" 하는 경우가 종종 있으니...

그 중, 유명한 4가지 제품들을 한번 정리해 보겠습니다. 
순서대로 ECS, EKS, Fargate 그리고 ECR 입니다.


ECS, EKS vs. EC2, Fargate

ECS, EKS 를 하나로 묶고 EC2, Fargate를 하나로 묶을 수 있습니다. 
ECS는 Elastic Container Service로 Container 기반의 컴퓨팅 플랫폼이라 보면 되고 
EKS는 Elastic Kubernetes Service로 Container 기반이지만 k8s가 환경이라 보면 됩니다. 

이 두가지가 컨테이너에 대한 오케스트레이션을 담당한다고 보면
EC2, Fargate는 ECS, EKS가 동작하는 호스팅에 대한 레이어를 담당하는 제품들입니다. 
즉, EC2와 Fargate 위에 ECS, EKS가 동작한다고 이해하면 됩니다.

한줄 요약 : EC2, Fargate는 컨테이너를 위한 컴퓨팅 리소스이다 

 

ECS vs. EKS

그렇다면 ECS와 EKS는 어떤 차이가 있을까요?
둘다 컨테이너 오케스트레이션 환경이라는 공통점을 갖고 있지만 
ECS는 AWS 에서만 제공되는 오케스트레이션 환경이라 타플랫폼으로의 이식성이 떨어지지만
EKS는 쿠버네티스 환경이라 플랫폼간 이전이 더 용이합니다. 

한줄 요약 : ECS는 AWS Only, EKS는 범용 k8s

 

EC2 vs. Fargate

EC2는 워낙 유명하니 다들 잘 아실겁니다. 
쉽게 생각해서 가상머신(VM)이라고 봐도 무방합니다. 
즉, 독립된 환경이 있고 운영체제를 갖고 있는 컴퓨팅 리소스입니다. 

반면 Fargate는 가상머신보다 더 추상화된 컴퓨팅 환경입니다. 
서버 없이 코드를 실행하는 람다 Lambda 를 서버리스 Serverless 라고 부르는 것처럼
Fargate는 EC2의 서버리스 버전이라고 생각할 수 있겠습니다. 
서버가 없는 컴퓨팅 환경이 Fargate 입니다

한줄 요약 : 독립된 운영체제가 있으면 EC2, 서버리스 컴퓨팅 환경은 Fargate

참고 : https://aws.amazon.com/ko/blogs/korea/how-to-choose-aws-container-services/

 

AWS에서 어떤 컨테이너 서비스를 이용해야 하나요? | Amazon Web Services

“AWS에서 어떤 컨테이너 서비스를 이용해야 하나요?”는 여러분들에게 가장 많이 받는 질문 중 하나입니다. AWS는 다양한 고객의 요구를 충족하고자, 광범위하고도 폭넓은 서비스를 제공하다 보

aws.amazon.com

 

Considerations

ECS와 EKS를 봤을때 느낌적 느낌으로 EKS가 비용이 더 나올것이라고 예상됩니다.
네, 정확히 그렇고 ECS가 비용적으로는 EKS 보다 저렴합니다. 
하지만 ECS는 k8s가 아니기 때문에 이야기 한 것처럼 이식성이 떨어집니다. 

어떤 플랫폼을 쓰던 비용을 계속 체크하면서 써야 하는 것이 퍼블릭 클라우드입니다. 
ECS, EKS, 그리고 EC2, Fargate...!
여러분의 선택은 무엇입니까? :-)

728x90
728x90

IT 분야에서 근 2~3년 동안 가장 뜨거운 화두는 역시 쿠버네티스 Kubernetes 입니다. 
그동안 리눅스에 대한 지식이 DevOps, Infrastructure Engineer의 기본 소양이었다면
이제는 쿠버네티스에 대한 지식이 가장 뜨거운 화두입니다.

쿠버네티스를 실전에서 써볼 환경이 되지 않는다면 
역시 자격증 공부를 통해서 지식을 쌓는 것이 좋습니다. 
다만 쿠버네티스 자격시험은 랩 중심의 시험이기 때문에 
단순히 암기하고 답을 찾는 시험이 아니라서 준비가 쉽지는 않다고 합니다. 


CKAD 강의 추천 - 뭄샤드 형님의 Udemy 강의!

CKAD는 Certified Kubernetes Application Developer 의 약자로
개발자가 쿠버네티스 환경에서 동작하는 어플리케이션을 설계, 개발할 때 필요한 
쿠버네티스 기본 지식과 클라우드 네이티브 환경에 대한 지식을 테스트 하는 시험입니다. 

CKAD 일타강사, 뭄샤드 형님

유데미 Udemy 에서 가장 많은 수강생을 갖고 있는 강의가
바로 쿠버네티스 강의 계의 아이돌, 뭄샤드 형님의 CKAD 강의입니다. 
연초라 그런지 할인중이라 12,000원에 Unlimited 강의 수강이 가능합니다. 

뭄샤드 형님은 따로 Kode Kloud 라는 본인의 서비스도 운영중이며 
유데미 강의 수강자들을 대상으로 Kode Kloud 에서 랩을 무료로 참여할 수 있도록
각 강의에서 리딤 코드도 제공하고 있습니다. 

이론 강의는 유데미에서 듣고 Kode Kloud에서 무료로
랩 실습까지 해볼 수 있는데 가격이 참 착하죠?
연초라 할인이 많이 들어가 있는 느낌입니다!

=> 뭄샤드의 CKAD 유데미 강의 살펴보기 [바로가기]

 

CKA 강의 추천 - 역시, 뭄샤드 형님의 Udemy 강의!

CKA는 Certified Kuberneted Administrator 의 약자로 
DevOps 엔지니어나 Infra Engineer를 위한 Administrator 역량 시험이라 보면 되겠습니다. 
클라우드 네이티브 환경에서의 개발 보다는 아케텍쳐 설계와 운영, 관리에 촛점이 맞춰져 있습니다. 

CKA도 일타강사는 뭄샤드 형님!

2만원 정도로 할인 판매할 때 샀던 강의인데
역시 연초라 12,000원에 Unlimited 강의 수강이 열려 있습니다.
CKAD 와 마찬가지로 Kode Kloud 강의가 같이 제공됩니다.

=> 뭄샤드의 CKA 유데미 강의 살펴보기 [바로가기]

 

새해 맞이 유데미 신년 스타터 팩 보너스도 받자!

유데미는 온라인 강의로 유명한 곳인데요,
2022년 신년을 맞이하여 여러가지 프로모션이 진행중입니다. 
개별 강의 할인과 더불어 "신년 스타터 팩 보너스"가 제공되고 있습니다. 

 

1월 6일까지 어떤 강의든 구매하는 분들에게 제공된다고 하니
기왕 2022년 새로운 공부를 시작하기로 마음 먹었다면
지금 바로 강의를 구매하고 신년 스타터 팩 보너스도 받아 보세요!

참고로 유데미는 30일 무상환불제도를 시행하고 있습니다. 
구매한 강의가 생각보다 별로라고 생각되면 30일 이내에 리펀드 요청도 가능하니
싸다고 사는게 아닌, 나한테 진짜 필요한 강의를 찾아
부담 없이 지식을 늘려나가 보시기 바랍니다!

=> 유데미 2022년 할인 강의 자세히 살펴보기 [바로가기]


2021년 마지막 날까지 열심히 CKA 강의를 들었습니다. 
진도율 100% 채우고 이제 Kode Kloud 에서
랩 실습과 함께 모의 시험을 가지고 연습하는 중입니다. 

1월중으로 CKA를 먼저 취득하고 
곧 CKAD 까지 2월내에 취득해 보도록 해야겠습니다!

 

 

(추가. 2022.09)
참고로, 추천해드린 뭄샤드 형님의 CKA 강의를 듣고 2022년 9월 시험에 합격했습니다. 시험 합격 후기와 시험 꿀팁, 가상 시험 환경에 대한 이야기는 다음의 포스팅에서 간략하게 정리를 해보았습니다. 시험을 준비하고 계시다면 조금이나마 도움이 될 것 같습니다!

 

따끈따끈한 CKA(Certified Kubenetes Administrator) 2022 버전 자격 취득 후기(2022.09월)

참 오래걸렸습니다. 처음 CKA 자격증을 취득해 보자고 생각했던 것이 작년 이맘때이니 정확히 1년되는 시점에 자격증을 취득했습니다. 이걸 정확히 기억하는 이유가, 시험 응시를 계획하던 시점

ondemand.tistory.com

 

 

본 포스팅은 제휴마케팅을 통해 일정 수수료를 지급 받을 수 있습니다. 
다만 실제 CKA 강의를 수강하면서 감명받아
자발적인 홍보를 하고 있다는 점 참고하시기 바랍니다!

728x90
728x90

 

근래에 가장 각광받는 자격시험이 쿠버네티스 Kubenetes 관련된 자격증일 것 같습니다. 리눅스 파운데이션에서 주관하는 쿠버네티스 시험은 크게 3가지 종류인데요, 최근 모 조사기관에서 발표했던 내용에 따르면 모든 자격 시험들 중 CKA(Certified Kubenetes Administrator)에 대한 관심이 가장 많다고 합니다.

쿠버네티스 관련된 시험들은 생각보다 가격이 좀 있기 때문에 할인 쿠폰이 유통(?)될 때 미리 시험을 등록해 두는 것이 좋다고 합니다. 시험을 등록하면 목표 일정을 설정하는 효과가 있으니... k8s를 학습해 나가는데 좋은 모티베이션이 될 것이라고 생각됩니다. 시험 등록일 기준으로 1년간 리스케쥴링이 가능하고 무료 재시험도 한차례 제공되니 사실상 부담도 없을 것 같습니다.

 

375달러가 25% 할인이 되면...

 

281.25 달러가 되는군요!

 

이번에 유통되는 할인 코드는 SCHOOL25 입니다. 리눅스 파운데이션의 시험 등록 페이지에서 쿠폰 코드 Coupon Code 항목에 입력해 주시면 됩니다. 환율이 요즘 급격히 변화하고 있어서 전표 매입 타이밍에 따라 실제 비용은 좀 차이가 생기겠지만 1160원 기준으로 계산해 보면 33만원 정도인 것 같네요. 할인 받아도 싸지는 않은 느낌입니다 ㅎㅎ

여튼, 쿠버네티스 자격시험 준비하고 계신다면 이번 할인 쿠폰을 잘 활용해 보시기 바랍니다. 꾸준히(?) 할인 쿠폰이 나오니 Apply 를 눌러서 쿠폰 적용이 안된다면 한달 정도 여기저기 또 검색해 보시면 할인 쿠폰을 발견하실 수 있을거라 생각합니다. 마지막으로 개인적으로 추천드리는 k8s 강의 링크 하나 드려 봅니다. 강의도 할인 중이라 대략 16,000원 정도로 저렴하네요!

 

 

Certified Kubernetes Administrator (CKA) Practice Exam Tests

Prepare for the Certified Kubernetes Administrators Certification with live practice tests right in your browser - CKA

www.udemy.com

 

(추가. 2022.09)
참고로, 저 역시 위 강의를 듣고 2022년 9월 시험에 합격했습니다. 시험 합격 후기와 시험 꿀팁, 가상 시험 환경에 대한 이야기는 다음의 포스팅에서 간략하게 정리를 해보았습니다. 시험을 준비하고 계시다면 조금이나마 도움이 될 것 같습니다!

 

따끈따끈한 CKA(Certified Kubenetes Administrator) 2022 버전 자격 취득 후기(2022.09월)

참 오래걸렸습니다. 처음 CKA 자격증을 취득해 보자고 생각했던 것이 작년 이맘때이니 정확히 1년되는 시점에 자격증을 취득했습니다. 이걸 정확히 기억하는 이유가, 시험 응시를 계획하던 시점

ondemand.tistory.com

 

본 포스팅은 제휴마케팅을 통해 소정의 수수료를 지급 받을 수 있습니다

 

728x90
728x90

기초적인 것들이 늘 가장 어려운 법입니다. 여러 환경에 구축된 쿠버네티스 클러스터를 다루는 상황이 되니 이게 뭥미~ 하는 생각이 들면서 머릿속이 하얗게 변했습니다. 가령 로컬 환경에 시험용 클러스터가 구축되어 있고 (이하 docker-desktop) 구글 클라우드 플랫폼에 클러스터를 하나 구성한 상황에서 (이하 k8snopd) kubectl 로 양쪽 클러스터를 제어하는 방법의 정리입니다. 


kubectl 설정 파일 확인하기 

kubectl 을 사용하고 있다면 .kube/config 파일에 (맥 기준) 액세스 할 수 있는 클러스터 정보가 기록되어 있습니다. 언급 드린 것처럼 로컬 환경과 GCP 환경에 클러스터가 구성되어 있습니다. 로컬 환경은 맥 용 Docker Desktop 에서 클러스터를 만들었고, GCP 는 gcloud CLI 를 이용해서 원격지 환경에 클러스터를 만들고 접근할 수 있게 가이드를 따랐습니다.

이 상태라면 .kube/config 에는 두 클러스터 접근을 위한 설정이 들어가 있게 됩니다. 설정된 내용은 cat 등으로 조회할 수도 있지만 kubectl 을 이용해서 조회하는 것이 더 깔끔합니다. 

% kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://xx.xxx.xxx.xx
  name: gke_k8s-practice-310514_asia-northeast1-a_k8snopd
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
- context:
    cluster: gke_k8s-practice-310514_asia-northeast1-a_k8snopd
    user: gke_k8s-practice-310514_asia-northeast1-a_k8snopd
  name: gke_k8s-practice-310514_asia-northeast1-a_k8snopd
current-context: gke_k8s-practice-310514_asia-northeast1-a_k8snopd
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
- name: gke_k8s-practice-310514_asia-northeast1-a_k8snopd
  user:
    auth-provider:
      config:
        access-token: ya29.a0AfH6SM...........................
        cmd-args: config config-helper --format=json
        cmd-path: /Downloads/google-cloud-sdk/bin/gcloud
        expiry: "2021-04-15T09:00:09Z"
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp

먼저 clusters 노드로 두개의 cluster 가 지정돤 것이 보입니다. name 키에 지정된 이름이 각각 다른게 보이시죠? GCP 에 만든 클러스터 이름은 다소 복잡합니다. GCP 의 리전명 등이 포함되어 있네요. 이어서 각 클러스터에 접근할 때 사용되는 사용자 토큰 등의 정보가 이어집니다. 

 

kubectl 에서 클러스터 바꾸는 방법

위의 설정에서 주목할 값 중 하나는 current-context 입니다. 제 경우는 GCP 를 나중에 설정해서 그런지 GCP 가 현재 컨텍스트라고 지정되어 있습니다. 즉, kubectl 명령을 사용하면 특별히 컨텍스트를 지정하지 않으면 GCP 의 클러스터로 명령을 날리게 됩니다. 한번 해볼까요?

% kubectl get nodes
NAME                                     STATUS   ROLES    AGE   VERSION
gke-k8snopd-default-pool-8130c84d-371t   Ready    <none>   63m   v1.18.16-gke.502
gke-k8snopd-default-pool-8130c84d-l26t   Ready    <none>   63m   v1.18.16-gke.502
gke-k8snopd-default-pool-8130c84d-xrkt   Ready    <none>   63m   v1.18.16-gke.502

 

그렇다면 로컬 클러스터 (docker-desktop) 로 컨텍스트를 바꾸어 노드 목록을 받아오고 싶다면 어떻게 해야 할까요? kubectl 이 제공하는 --context 매개변수를 이용해서 클러스터의 컨텍스트명을 입력해 주면 쉽게 대상 클러스터를 바꿀 수 있습니다. 함 해보죠!

% kubectl get nodes --context docker-desktop
NAME             STATUS   ROLES    AGE     VERSION
docker-desktop   Ready    master   5d23h   v1.19.3

 


 

 

728x90

+ Recent posts