전체 분류 보기 497

[CKA] 18. Environment Variables

개요 k8s에서 Evrionment Variables들이 어떻게 관리되는지 또 어떻게 사용하는지 알아보겠습니다. : how to set environment and use environment in k8s Evironment Variables의 종류 1. Environment Variables in Application 2. ConfigMaps in Application 3. secretkey in Application Environment Variables in Application yaml 파일에 Environment Variables를 정의하여 container 내부에서 사용하는 방법입니다. 사용법 env: 필드를 사용하여 name : value 형식으로 Environment Variables를 넘..

Cloud/k8s-CKA 2023.03.28

[CKA] 17. command and argument

개요 deployment yaml 또는 Pod yaml 파일에서 command와 argument를 어떻게 전달하는 알아보겠습니다. 사전 지식 deployment / Pod yaml 파일에서 command와 argument를 어떻게 전달하는 알아보기 전에 Dockerfile에서 command와 argument를 어떻게 전달하는지 먼저 알아보겠습니다. 이걸 먼저 알아보는 이유는 Dockerfile에서 사용하는 command와 argument 전달 방식이 deployment / pod yaml 파일에서 동일한 개념으로 사용되기 때문입니다. Dockerfile에서 command와 argument 전달 방법 2가의 전달 방법이 있습니다. CMD 이용과 ETNRYPOINT 이용합니다. CMD 이용 CMD 정의 Do..

Cloud/k8s-CKA 2023.03.25

[CKA] 16. k8s Rolling update and Rollback

개요k8s Rolling update와 Rollback 방식을 알아보겠습니다. 업데이트 방식1. Recreate update2. Rolling updateRecreate Update기존에 배포한 pod를 모두 내리고 새로운 pod를 배포하는 방식입니다. 그러나 이방식의 큰문제는 서비스가 중단된다는 것입니다. 그래서 무중단 서비스를 위해서 우리는 Rolling update를 해야 합니다.Rolling update란?depolyment를 update할 때 사용되는 update 방식입니다. k8s에서 기본적으로 사용하는 deployment update 방식 입니다.검증deployment yaml 파일을 수정해서 apply를 다시 하거나 배포된 deployment의 image를 아래 명령어로 교체 kubectl..

Cloud/k8s-CKA 2023.03.23

[CKA] 15. k8s Monitoring (METRIC SERVER) and log

개요 k8s의 cluster를 monitoring하는 방법과 Pod의 Log를 보는 방법을 알아보게습니다. Monitoring 제품 종류 많은 Monitoring 제품이 존재합니다. 그러나 k8s에서 제공하는 Metrics Server만 알아볼 것입니다. 추후에 다른 Monitoring이 필요하면 그때 다시 다루겠습니다. Metrics Server 정의 METRIC SERVER란 k8s cluster의 metric 정보를 수집할 수 있게 제공해 주는 API입니다. 여기서 metric이란 지표라는 뜻 하며 예를 들어 보면 CPU 사용량, 메모리 사용량등을 말합니다. https://kubernetes.io/ko/docs/tasks/debug/debug-cluster/resource-metrics-pipeli..

Cloud/k8s-CKA 2023.03.19

[React] Hook- array useState 관리

개요 React Hook 에서 사용되는 useState의 관리 방법을 정리 합니다. useState가 array 인경우 추가 https://bobbyhadz.com/blog/react-push-to-state-array How to push an Element into a state Array in React | bobbyhadz Use the spread syntax to push an element to a state array in React, e.g. `setNames(current => [...current, 'New'])`. The spread syntax (...) will unpack the existing elements of the state array into a new array w..

[CKA] 14. scheduler profile 설정

개요 scheduling의 진행 stage와 stage별 step 알아보고 각 step별 사용하는 plugin을 알아보겠습니다. 용어 정리 plugin : scheduling의 step을 상세하게 제어하기 위해 사용하는 설정 또는 object를 말합니다. Scheduling의 Stage 및 역활 Sheduling Queue Pod는 sheduling을 위해서 처음에 Scheduilng Queue에 들어가게 됩니다. 그리고 이 단계에서 PriorityClass(plugin)를 사용하여 Pod의 scheduling 우선순위를 정할 수 있습니다. Filtering Flitering 조건(plugin)에 따라서 Pod를 scheduling 할 후보 Node들을 선정합니다. fltering plugin - res..

Cloud/k8s-CKA 2023.03.07

[CKA] 13. multiple scheduler

개요 기본 scheduler가 아닌 사용자가 만든 scheduler를 생성 하고 사용하는 방법을 알아보겠습니다. 사용 이유 GPT가 아래의 경우에 사용한다고 알려줌..(좋다 GPT) Resource allocation customization: Kubernetes의 기본 스케줄러는 Pod을 가용한 리소스 (예: CPU, 메모리)에 따라 스케줄링합니다. 그러나 애플리케이션의 특성에 따라 다른 스케줄링 로직이 필요할 수 있습니다. 예를 들어, Batch Job의 경우 스케줄러는 가능한 빨리 완료되어야 하므로 다른 스케줄링 알고리즘이 필요합니다. 이러한 경우 multiple scheduler를 사용하여 리소스 할당에 대한 다양한 사용자 정의 규칙을 적용할 수 있습니다. Isolation: Multiple sc..

Cloud/k8s-CKA 2023.03.06

[CKA] 12. Static Pod

개요 Static Pod가 무엇인지 알아보겠습니다. Static Pod란? kubelet이 특정 경로("/etc/kubernets/manifests" )의 yaml 파일을 읽어서 실행하는 Pod를 말합니다. 그래서 API Server에 Pod생성되었는지 물어보지 않고도 Pod를 생성할 수가 있습니다. static Pod의 특징 특정 경로에 yaml을 생성 필요 kubelet은 "/etc/kubernets/manifests" directory에 Pod를 생성하는 Yaml 파일이 존재하면 해당 Yaml 파일을 사용하여 static Pod를 만듭니다. static pod 생성 경로 찾는 방법 /var/lib/kubelet/config.yaml 에서 staticPodPath를 참조 관리 생성, 재 시작, 삭제를..

Cloud/k8s-CKA 2023.03.05