반응형

분류 전체보기 118

[CKA] RBAC 문제, 권한 체크시 사용하는 명령어

kubectl auth can-i 명령어는 쿠버네티스(Kubernetes)에서 현재 사용자 또는 서비스 어카운트가 특정 작업을 수행할 수 있는지 여부를 확인하는 데 사용됩니다. 이 명령어는 Role-Based Access Control (RBAC) 정책에 따라 사용자에게 부여된 권한을 검증하는 데 유용합니다. kubectl auth can-i get pods --namespace dev --as username 위의 명령어는 dev 네임스페이스에서 username 사용자가 pods를 조회할 수 있는지 확인합니다. RBAC 문제 나왔을 때 잘 했는지 체크하고 싶으면 auth can-i 명령어로 확인해보시면 되겠습니다.

[CKA] 무려 30% 출제 비율인 Troubleshooting 트러블슈팅 정리

여러분 CKA 범위를 보면 트러블슈팅이 30% 비율로 출제된다고 되어있어요. 즉, 무조건 나온다고 봐야겠죠? 어떤 문제가 나올지는 모르겠지만 정리할 수 있는 부분들은 정리해두려요! 그리고 나서 나중에 시험에 적용해야겠어요 1. Toubleshoot application fauilure 2 tier 구조로 문제가 나온다면 클라이언트 -> 웹서비스 -> 웹 -> DB 서비스 -> DB 순으로 확인해보기 서비스에 있는 Selector와 Pod에 있는 Selector가 일치하는지 체크하기 kubectl describe service 파드를 확인하기 kubectl get pods 에서 restart 횟수도 체크하기 kubectl describe pod 로 어떤 이슈인지 체크하기 kubectl logs 로그로 뭔가..

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..

반응형