반응형

분류 전체보기 146

Deployment의 롤링업데이트 전략 이해하기 ( Max Unavailable, Max surge )

Deployment는 ReplicaSet을 관리하고, 파드의 롤아웃(업데이트) 및 롤백을 처리하는 더 고급 수준의 리소스인데요. 무중단 업데이트, 버전 관리, 롤백 등의 기능을 제공합니다. 그래서 오늘은 Deployment의 롤링업데이트에 대해서 이해해봅시다. maxUnavailable maxUnavailable: 업데이트 과정 중 사용할 수 없게 되는 최대 파드 수를 정의합니다. 25%의 maxUnavailable은 원하는 파드 수(3개)의 25%를 의미합니다. 즉, 3 x 0.25 = 0.75, 내림하여 0개입니다. 그러나 maxUnavailable은 최소 1개 파드를 의미해야 하므로, 실제적으로 사용할 수 없는 최대 파드 수는 1개가 됩니다. 해당 내용은 쿠버네티스 공식 문서에 기재되어있습니다. m..

텍스트 파일의 줄(line), 단어(word), 문자(character) 수를 세는 명령어 : WC

리눅스에서 wc 명령어는 "word count"의 약자로, 텍스트 파일의 줄(line), 단어(word), 문자(character) 수를 세는 데 사용됩니다. 이 명령어는 파일의 내용을 분석하여 다음 세 가지 주요 정보를 제공합니다: 줄의 수: 파일에 있는 개행 문자의 수를 계산합니다. 단어의 수: 파일에 있는 단어의 수를 계산합니다. 여기서 '단어'는 공백으로 구분된 문자열을 의미합니다. 문자의 수: 파일에 있는 전체 문자의 수를 계산합니다. wc 명령어의 기본 사용법은 다음과 같습니다. wc [옵션] [파일명] -l: 줄의 수만 표시합니다. -w: 단어의 수만 표시합니다. -c: 문자의 수만 표시합니다. -m: 멀티바이트 문자의 수를 표시합니다 (일부 시스템에서 사용 가능).

[CKA] ClusterRole과 Role 차이

Role Role은 특정한 네임스페이스에 국한되어 사용됩니다. 즉, Role로 정의된 권한은 해당 Role이 생성된 네임스페이스 내에서만 유효합니다. 사용 사례: 특정 네임스페이스에서 파드를 생성하거나 조회하는 등의 작업을 허용하고 싶을 때 사용합니다. ClusterRole ClusterRole은 클러스터 전체에 걸쳐 적용됩니다. 이는 네임스페이스를 초월하여 클러스터 수준의 리소스(예: 노드)에 대한 접근 권한을 제어하거나, 모든 네임스페이스에서 특정 작업을 수행할 수 있는 권한을 부여하는 데 사용됩니다. 사례: 클러스터 전체의 모든 파드를 조회하거나, 특정 클러스터 수준의 리소스(예: 노드, 지속적 볼륨)에 대한 접근을 제어할 때 사용합니다.

[CKA] Role , RoleBinding 이해하기 - 단골 문제

Role은 특정 네임스페이스 내에서 사용자 또는 그룹에게 허용되는 권한을 정의합니다. Role은 해당 네임스페이스 내의 리소스에 대한 접근 권한을 제어합니다.Role을 사용하여 특정 리소스(예: 파드, 서비스 등)에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행할 수 있는 권한을 정의합니다. 예시를 들어서 바로 이해해봅시다. apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: mynamespace name: pod-reader rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list"] RoleBinding은 특정 R..

[CKA] 특정 노드에 파드가 할당 되는 것을 제어하는 taint , toleration

쿠버네티스(Kubernetes)에서 taint는 노드에 적용되어 해당 노드에 파드가 스케줄될 수 있는지 여부를 결정하는 메커니즘입니다. taint를 사용하면 특정 노드에 파드가 할당되는 것을 제어할 수 있으며, 이는 노드에 '오염'을 추가하는 것과 유사합니다. 파드가 특정 노드에 스케줄되기 위해서는 그 노드의 taint에 맞는 'toleration'을 가지고 있어야 합니다. Taint와 Toleration Taint: 노드에 적용되어, 특정 조건을 만족하지 않는 파드의 스케줄링을 방지합니다. Toleration: 파드에 적용되어, 특정 taint를 용인할 수 있음을 나타냅니다. toleration을 가진 파드는 해당 taint가 있는 노드에 스케줄될 수 있습니다. Taint의 구성 요소 Key: tain..

[CKA] 무조건 나온다는 문제! Drain, Cordon, Uncordon

CKA를 공부를 하고 있는데 Administer a Cluster 카테고리에서 무조건 나오는 유형중에 4가지를 꼭 알아야할 것 같아서 정리하려고합니다. 자 일단은 위의 명령어들의 기본적인 뜻을 알고 있으면 이해하기 쉽겠죠? 간단하게 단어의 뜻정도만 기억하고 있으면 공부하기 더 쉬우니까 공유해드릴게요. drain : 물[액체]을[이] 빼내다[빠지다] cordon : (경찰·군인 등이 설치한 진입이나 진출) 저지선[비상경계선] uncordon taint: (평판 등을) 더럽히다, 오염시키다, 오점[오명]을 남기다 자, 이제 본격적으로 쿠버네티스에서 4가지 명령어로 어떻게 사용해야하는지에 대해서 말씀드리겠습니다. 쿠버네티스(Kubernetes)에서 drain, cordon, 그리고 uncordon은 노드를 관..

pretty print로 json 데이터 이쁘게 출력하기

pprint 모듈은 Python의 표준 라이브러리 중 하나로, "Pretty Printer"의 약자입니다. 이 모듈은 복잡한 Python 데이터 구조를 보다 읽기 쉽고 이해하기 쉬운 형식으로 출력하는 기능을 제공합니다. pprint는 특히 디버깅 과정에서 유용하게 사용됩니다. 이 모듈을 사용하면 리스트, 딕셔너리, 튜플과 같은 내장된 Python 데이터 타입을 포함한 객체를 깔끔하게 정렬하여 출력할 수 있습니다. pprint 사용 방법 import pprint data = [{'이름': '홍길동', '나이': 30, '취미': ['등산', '독서']}, {'이름': '김철수', '나이': 25, '취미': ['영화 감상', '여행']}] pprint.pprint(data) json 데이터도 간단하고 이쁘..

[CKA] ETCD 백업 관련 문제 출제시 이렇게만 하세요 (etcdctl)

1. 공식 문서에서 etcdctl 검색해서 나오는 내용을 활용하세요 2. 오른쪽 목차에 보면 backup /restore 하는 방법 다 있음 3. Snapshot using etcdctl options 이 부분에 있는 예시를 그냥 가져다가 쓰시기만 하면됩니다. 4. 자 이제 문서가 준비되었다면 노드에서 cat /etc/kubernetes/manifests/etcd.yaml 파일을 확인하고 엔드포인트 한번 체크해줍니다. 5. cat etcd.yaml | grep file 인증서 파일위치도 한번 더 체크해주면 좋겠죠 그리고나서 위의 문서에서 검색했던 명령어를 그대로 작성하면 끝!!! 복붙으로 실수하지말기 https://kubernetes.io/docs/tasks/administer-cluster/config..

[CKA] deployment 롤백/ 롤아웃 명령어 정리

1. deployment 생성시 > kubetctl create -f xxxx.yaml 2.deployment 조회할때 > kubectl get deployments -o wide 3. 버전을 업데이트하고 적용할때 > vi xxx.yaml 들어가서 이미지 수정하고 > kubectl apply -f xxx.yaml > kubectl set image deployment/app-deplotment nginx=nginx:1.20.0 4. 롤아웃이 제대로 되었는지 확인하고자 할때 > kubectl rollout status deployment/app-deployment 5. 롤라웃의 히스토리를 보고싶을때 > kubectl rollout history deploy

카테고리 없음 2023.11.25

[쿠버네티스] PVC, 스토리지클래스, 동적프로비저닝

쿠버네티스(Kubernetes)에서의 스토리지 클래스(Storage Class)는 다양한 유형의 스토리지를 정의하고 관리하는 방법을 제공합니다. 스토리지 클래스는 쿠버네티스 클러스터 내에서 사용할 수 있는 스토리지 유형을 정의하며, 이를 통해 동적인 볼륨 프로비저닝을 가능하게 합니다. 스토리지 클래스의 주요 기능과 특징은 다음과 같습니다: 동적 프로비저닝: 스토리지 클래스를 사용하면, 사용자는 필요에 따라 실시간으로 스토리지 볼륨을 생성할 수 있습니다. 이는 Persistent Volume Claim(PVC) 요청에 의해 자동으로 발생합니다. 이 방식은 미리 정의된 스토리지 볼륨을 관리하는 것보다 유연하고 효율적입니다. 스토리지 유형 정의: 각 스토리지 클래스는 특정 스토리지 유형(예: SSD, HDD,..

반응형