Cloud 105

[CKAD] Jobs과 Cron Job

개요Job과 Cron Job을 알아보겠습니다. Job정의Job은 Kubernetes에서 일회성 작업을 실행하는 리소스입니다. Job은 특정 작업이 성공적으로 완료될 때까지 하나 이상의 Pod를 실행하고 관리합니다. 형태apiVersion: batch/v1kind: Jobmetadata: name: example-jobspec: completions: 5 # 총 5번의 작업을 수행 parallelism: 2 # 동시에 2개의 작업을 병렬로 실행 backoffLimit: 4 # 작업 실패 시 최대 4번까지 재시도 template: spec: containers: - name: example ima..

Cloud/k8s-CKAD 2024.09.14

[CKAD] Pod의 배포 및 업데이트

개요Pod를 배포하고 전략적으로 업데이트하는 방법을 알아보겠습니다.Deployment 배포 kubectl apply -f {deployment.yaml}Deployment가 생성한 Pod의 이름 구조Deployment가 생성한 Pod의 이름은 보통 다음과 같은 구조를 가집니다--이 구조를 상세히 설명하면 아래와 같습니다. Deployment 리소스를 만들 때 정의한 이름입니다.이 이름은 사용자가 Deployment를 생성할 때 지정한 이름을 따릅니다.예: my-appReplicaSet의 이름에서 파생된 해시값입니다. Deployment는 내부적으로 ReplicaSet을 관리하며, ReplicaSet이 실제 Pod를 생성합니다. 이 해시값은 Deployment의 현재 상태를 나타내는 값입니다.예를 들어, ..

Cloud/k8s-CKAD 2024.09.02

[CKAD] Pod의 log 보기 및 metric 수집

개요Pod의 log를 보는 방법과 Pod의 metric 정보를 수집하는 방법을 알아보겠습니다. Log 확인 방법Pod의 기본 Log 보기kubectl logs Pod 안에  container지정해서 보기Pod안에 2개이상의 container가 존재할 때 각각 container의 log를 보는 방법입니다. kubectl logs -c 모든 container의 Log를 한 번에 보기kubectl logs --all-containers=true Metrics(지표) 이란?k8s에서는 Metric 이란 것이 존재하며 이는 지표를 의미합니다.그래서 Metric(지표) 정보를 수집하기 위해서 다양한 도구와 방법을 thirdparty로 제공하고 있습니다. Metric 정보 종류Resource Metrics리소스 ..

Cloud/k8s-CKAD 2024.08.27

[CKAD] Pod를 원하는 Node에 배포하는 방법

개요Pod를 원하는 Node에 배포하는 방법을 알아보겠습니다. 배포 방법nodeName- Pod를 명시적으로 scheduling 할때는 nodeName을 사용합니다.taint and toleration- Pod를 조건에 맞추어 scheduling 할 때는 taint로 node에 조건을 걸고 toleration으로 pod에 조건을 걸어서 사용합니다.https://doitnow-man.tistory.com/entry/CKA-7-scheduling [CKA] 7. schedule (manual-schedule, labels, taint, toleration)개요k8s에서의 schedule 동작 방식과 scheduling 방법을 알아보겠습니다. https://kubernetes.io/docs/concepts/s..

Cloud/k8s-CKAD 2024.08.27

[CKAD] Pod의 상태 파악 방법

개요Pod의 상태를 파악하는 전방 적인 방법을 알아보겠습니다. Pod의 배포 상태 확인 kubectl describe pod {pod_name} 수행 시 Conditions 항목에서 True/False를 통하여 기본적인 상태를 알 수 있습니다. Conditions 항목 설명 PodReadyToStartContainers: Pod가 container를 시작할 준비가 되었음을 의미합니다.Initialized: 모든 Init container가 성공적으로 완료되었음을 의미합니다.Ready: Pod가 Traffic을 수신할 준비가 되었음을 의미합니다.ContainersReady: Pod 내의 모든 container가 실행 준비가 되었음을 의미합니다.PodScheduled: Pod가 특정 node에 schedul..

Cloud/k8s-CKAD 2024.08.26

[CKAD] Multi-Container Pod and InitContainer

개요Pod는 다수의 container를 동시에 가질 수 있습니다. 그렇기 Pod에서 다수의 container를 어떻정의하고 왜 사용하는지 알아보겠습니다. 그리고 initcontainer에 대해서도 추가 적으로 알아보겠습니다. Multi-Container 정의 방법spec -> containers-> container 추가하는 방식으로 container를 추가 하면 1개의 Pod안에 다수의 Container를 실행할 수 있습니다. 참고 : Pod의 최대 container개수는 기술 적으로 제약은 없습니다. 2~3개의 container 사용을 권장하고 있습니다.apiVersion: v1kind: Podmetadata: name: multi-container-podspec: containers: - na..

Cloud/k8s-CKAD 2024.08.25

[CKAD] 시험 미흡 사항

container에 command 추가 방법command와 argument 혼합형command: ["sleep", "3600"]command 와 argument 분리형Ex1) command: ["sleep"]args: ["3600"]Ex2)command: ["myapp"]args: ["--config", "/etc/myapp/config.yaml", "--verbose"] container의 파일 보기특정 파일 보기kubectl exec cassandra -- cat /var/log/cassandra/system.loghttps://kubernetes.io/docs/tasks/debug/debug-application/debug-running-pod/Pod의 State보는 곳#kubectl describ..

Cloud/k8s-CKAD 2024.08.21

[CKAD] Resource 제어, resource/LimitRange/ResourceQuotas

목표k8s에서 Container의 Resource를 제어 하는 방법을 알아 보겠습니다.Resource 제어 대상은 Pod가 아니라 container 입니다 Resource용도각 container 사용할 수 있는 CPU와 메모리 양을 정의하는 것입니다. 기본적으로 Resource 제한을 주지 않으면 Pod는 노드의 가용 Resource를 최대한 사용할 수 있지만, 이는 시스템의 안정성에 부정적인 영향을 미칠 수 있으므로 가능한 Resource 요청(Request)과 제한(Limits)을 명확히 설정하는 것이 권장됩니다.제어 항목CPU Memory제어 방법resources -> requests container가 실행될 때 필요한 최소한의 resources를 지정 합니다.requests를 충족하는 node가..

Cloud/k8s-CKAD 2024.08.12

[k8s] CRI + container runtime + OCI 관계 정리

목표CRI , container runtime , OCI들의 각 개념을 알아보고 해당 개념들이 어떻게 연결되는지 알아보겠습니다.CRI정의CRI(Container Runtime Interface)는 container runtime을 제어하 하기위한 spec정의 입니다. 다음은 CRI에 대한 공식 문서 입니다.CRI github : https://github.com/kubernetes/cri-api목적: This repository contains the definitions for the Container Runtime Interface (CRI). CRI is a plugin interface which enables kubelet to use a wide variety of container runti..

Cloud/k8s 2024.07.19

[CKAD] Service Account

개요k8s에서의 Service Account에 대하여 알아 보겠습니다. Service Account란?https://doitnow-man.tistory.com/entry/CKA-41-service-account [CKA] 42. service account개요k8s에는 2개의 계정분류가 존재합니다.  1. user account- 사람이 k8s관리는 위해서 사는 계정2. service account- k8s service가 k8s에 무언가 요청을 하기 위해서 사용하는 게정 위 두 종류 계정 중. user adoitnow-man.tistory.comPod 안에서 SeviceAccount기본적으로 namespace 별로 존재하는 default serviceaccount가 Pod에 할당이 됩니다. 하지만 기능..

Cloud/k8s-CKAD 2024.07.16