본문 바로가기

전체 글

(150)
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 강의정리 30 : ReplicaSets - Solution (Optional)
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 강의정리 17 : Kube Scheduler 1. Kube Scheduler 스케쥴러는 어떤 POD가 어떤 노드로 가야하는지 결정하는 것만 한다. 실제로 파드를 노드에 배치하지는 않는다. Kubelet이 파드를 노드에 배치하는 작업을 한다. CPU:10이라는 요구사항이 있을 때, 스케쥴러는 두 단계를 거친다. POD에 가장 적합한 노드를 식별. 여기서 스케쥴러는 이 POD 프로필에 맞지 않는 노드를 필터링을 시도한다. (CPU가 충분치 않은 노드 등) 스케줄러는 노드의 순위를 매긴다. 우선순위 함수를 사용해서 0에서 10까지의 점수를 할당한다. 예를 들어, 스케쥴러는 노드의 리소스 양을 계산하고 POD를 잔여 리소스가 더 많은 노드에 배치한다. 이외에 커스터마이징하여 자신만의 스케쥴러를 만들 수 있다. 2. Install kube-scheduler..
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 (컨테이너 런타임 인터페이스) 구..
재미와 행복은 언제 느낄까 공부를 하고 쉬는 시간에 무엇을 할까 고민하다가, 무엇이 저에게 재미를 주는지 생각해 봤습니다. 진지하게 고민할수록 어떤 행동 '자체'에서 오는 행복감은 크지 않다고 생각했습니다. 여태까지 살아오면서 남들이 재밌다고 한 것들은 많이 해봤습니다. 중독성이 심한 게임에 푹 빠져 살아본 적도 있고, 교환학생도 다녀왔고, 혼자서 여행도 다녀봤습니다. 돌이켜봤을 때, 이러한 경험 자체가 저에게 재미를 주거나 행복감을 느끼게 하지 않았습니다. ​ 지루해지려고 했던 대학생활에서 벗어나 교환학생을 가면서, 아무 걱정 없이 놀 수 있던 '변화'가 행복감을 주었지, 교환학생 경험 자체에서는 행복감이 크게 느껴지지 않았습니다. 곰곰이 생각해 보면 교환학생 시절도 처음에는 재밌었지만 어느새 적응이 되어버려서 그냥 한국에서 있..
[자료구조]해시(Hash)에 대한 모든 것-개념, 예시, 파이썬 내장함수 보호되어 있는 글입니다.
[프로그래머스](파이썬)-방문길이-Level3-set사용문제 안녕하세요. 진또배기입니다. 오늘은 프로그래머스의 방문길이 문제에 대해 풀어보는 시간을 가져보겠습니다. 이 문제는 set을 사용하는 문제로 중복을 줄여주어야하기 때문입니다. 그러면, 시작하겠습니다! 1. 문제 소개 -문제링크: programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 2. 슈도코드 앞서 말씀드린 것 처럼 set을 사용하는 문제입니다. 그 이유는 set은 원소를 unique하게 유지해주기 때문인데요. 여기서 A에서 --> B로 가는 것은 == B에서 -->A로 가는 것과 같은 것임을 고려해야합니다. 즉, set을 써서 지난 경로라면 unique하게 집계를 해주어야합니다.(Unique란 중복되지 않는..