본문 바로가기

Computer Science/Kubernetes(CKA) 자격증 준비

(110)
Kubernetes 정리 37: Services-Loadbalancer 1. Load Balancer 우리는 앞에서 Nodeport에 대해서 알아보았다. NodePorr서비스는 워커 노드 포트에서 외부 애플리케이션을 사용할 수 있도록 해준다. 이제 프론트엔드 애플리케이션으로 초점을 돌리겠습니다. 투표앱과 결과앱이 있습니다. 이제 우리는 이런 파드가 클러스터의 워크 노드에서 호스팅된다는 것을 알고 있습니다. 클러스터에 4개의 워커노드가 있다고 가정해보겠습니다. 그리고 Nodeport 타입의 서비스를 생성하여 외부 유저가 애플리케이션에 액세스할 수 있도록 합니다. Node port 타입 서비스는 노드로 들어오는 트래픽을 수신하고 각 노드에 트래픽을 라우팅하는데 도움을 줍니다. 그런데 애플리케이션에 액세스 할 때 유저에게 어떤 URL을 제공하시겠습니까? IP와 포트를 통해 두 애..
Kubernetes 정리 36: Services Cluster IP 1. ClusterIP 풀스택 웹 애플리케이션에는 일반적으로 다양한 종류의 파드가 있다. 프론트엔드 웹 서버를 실행하는 파드 세트, 백엔드 웹서버를 실행하는 파드 세트, Redis와 같은 key-value store를 실행하는 파드 세트, MYSQL과 같은 영구 데이터베이스를 실행중인 파드 세트 등이 있을 수 있다. 웹 프론트엔드 서버는 백엔드서버와 통신해야하며, 백엔드서버는 데이터베이스, Redis서버 등과 통신해야 한다. 2. 애플리케이션 간의 연결을 설정하는 올바른 방법 모든 파드에는 할당된 IP주소가 있다. 파드는 얼마든지 죽을 수도 있고 항상 새로운 파드들도 생성된다. 따라서 파드에 할당된 IP주소는 정적 주소가 아니다. 따라서 애플리케이션 간 통신을 한다고 했을 때, 이 파드 IP에 의존할 수..
Udemy CKA 강의정리 33 : Practice Test - Deployments 1. How many PODs exist on the system? 2. How many ReplicaSets exist on the system? 3. How many Deployments exist on the system? 4. How many Deployments exist on the system now? 5. How many ReplicaSets exist on the system now? 6. How many PODs exist on the system now? 7. Out of all the existing PODs, how many are ready? 8. What is the image used to create the pods in the new deployment? 9. Why do..
Udemy CKA 강의정리 32 : Certification Tip! Yaml 파일을 만들고 편집하는 것은 어려우니 'kubectl run' 커맨드를 활용해 Yaml template을 생성하는데 도움이 될 수 있다. 아래 커맨드들을 사용해 이전 Practice들을 시도해보자. 1) Create an NGINX POD kubectl run nginx --image=nginx 2) Generate POD Manifest YAML file(-o yaml). Don't createi it(--dry-run) kubectl run nginx --image=nginx --dry-run=client -o yaml 3) Create a deployment kubectl create deployment --image=nginx nginx 4) Generate POD Manifest YAM..
Udemy CKA 강의정리 31 : Deployments 1. Deployment 애플리케이션이 담긴 컨테이너는 PoD에 캡슐화된다. 파드를 여러 개 보장해주는 역할로 ReplicaSet을 사용했다. Deployments는 ReplicaSet보다 한단계 더 높은 구조계층에 있다. (Deployment를 사용하면 ReplicaSet이 자동으로 생성된다.) Deployment는 원활한 업그래이드를 위해 롤링 업데이트, 롤백, 중지, 재개하는 기능을 제공한다. 2. Deployment 생성방법 1) 다른 컴포넌트들과 마찬가지로 Definition file을 생성한다. Deployment 의 Definition file은 ReplicaSet Definition File에서 'kind'부분만 다르고 동일하다. 2) Definition file이 완료되면, 아래 커맨드로..
Udemy CKA 강의정리 29 : Practice Test - ReplicaSets Q1. How many PODs exist on the system? Q2. How many ReplicaSets exist on the system? Q3. How about now? How many ReplicaSets do you see? Q4. How many PODs are DESIRED in the 'new-replica-set'? Q5. What is the image used to create the pods in the 'new-replica-set'? Q6. How many PODs are READY in the 'new-replica-set'? Q7. Why do you think the PODs are not ready? Q8. Delete any one of the 4 PODs. ..
Udemy CKA 강의정리 28 : ReplicaSets' 1. Replication Controller Replication Controller는 클러스터에서 여러 POD의 인스턴스를 실행하는 데 도움이 된다. 이는 곧 고가용성(High Availabilty)를 제공한다. POD가 하나만 있어도 Replication Controller가 도움이 된다. Replication Controller는 기존 POD가 죽었을 때, 새로운 POD를 자동으로 불러와서 지정된 수의 POD가 항상 실행 중이라는 것을 항상 보장한다. Replication Controller가 필요한 또 다른 이유는 부하를 분산하기 위해 여러 POD를 생성해야한다.(로드 밸런싱) 유저가 늘어나면 로드밸런싱을 위해 추가 파드를 배포한다. 해당 노드의 리소스가 부족해지면 클러스터의 다른 노드에 추가 ..
Udemy CKA 강의정리 16 : Kube Controller Manager Kubernetes Controller ManagerKubernetes Controller Managerk1. Node Controller 노드 컨트롤러는 애플리케이션이 계속 실행될 수 있도록 노드의 상태를 모니터링하고 필요한 조치를 취한다. 노드 컨트롤러는 이 조치를 Kube API Server를 통해 수행한다. 노드 컨트롤러는 5초마다 노드의 상태를 테스트한다. 만약 노드가 멈추면 노드는 접근할 수 없는 것으로 표시된다.(Unreachable) 하지만 바로 표시하지는 않고, 표시하기 전에 40초 동안 기다린다. 노드가 접근할 수 없는 것으로 표시된다면 회복할 5분의 시간을 준다. 5분안에 회복이 안 될 경우, 노드에 할당된 POD들을 제거하고 POD가 replica set의 일부인 경우, health..
Udemy CKA 강의정리 15 : Kube-API Server 1. Kube API Server Kube API Server는 주요 관리 컴포넌트이다. Kubectl 명령을 실행하면, kubectl 유틸리티는 kube-apiserver에 접근한다. kube-apiserver는 가장 먼저 요청을 인증하고 검증한다. 그리고 etcd 클러스터로부터 데이터를 받아 다시 요청한 정보와 함께 응답한다. 반드시 kubectl 명령어를 사용할 필요는 없다. 대신 POST 리퀘스트를 보내서 API를 직접 호출할 수 있다. 1. Authenticate User: 먼저 요청이 인증된 다음, 2. Validate Request: 검증됩니다. (이 경우, API서버는 POD객체를 노드에 할당하지 않고 생성됩니다.) 3. Retrieve Data 4. Update ETCD: ETCD 서버에..
Udemy CKA 강의정리 1 - 13 : Kubernetes(용어정리~13강) 1. 쿠버네티스 여러 서버(노드)에 컨테이너를 분산해서 배치하거나, 문제가 생긴 컨테이너를 교체하거나, 컨테이너가 사용할 비밀 번호나 환경설정을 관리하고 주입해주는 역할을 한다. 목적: 사용자의 응용 프로그램을 컨테이너 형식으로 자동화된 방식으로 호스팅하는 것 -> 응용 프로그램 내 다양한 서비스 간 통신이 쉽게한다. ETCD는 키 값 형식으로 정보를 저장하는 DB 용어 뜻 컨테이너 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술 - 각종 설정 과장이 줄어 좀 더 편하게 프로그램을 실행할 수 있다. 컨테이너 런타임 컨테이너 실행을 담당하는 소프트웨어 - 쿠버네티스는 containerd, CRI-O와 같은 컨테이너 런타임 및 모든 Kubernetes CRI (컨테이너 런타임 인터페이스) 구..