2023/01 8

ServiceAccount

시스템이 사용하는 계정(사람이 쓰는 ID처럼 시스템이 쓰는 계정!) 시스템이 사용하는 계정 네임스페이스에 속하는 오브젝트다. 서비스 어카운트는 부여된 Role이외의 명령어는 실행할 수 없다. UserAccount ServiceAccount 주체 사람 파드에서 실행되는 프로세스 범위 클러스터 안의 모든 네임스페이스 특정 네임스페이스 특징 기업 데이터베이스로부터 동기화될 수 있다. 사람이 사용하는 것이기 때문에, 새 계정을 생성하려면 특별한 권한이 필요하며 복잡한 비즈니스 프로세스에 연결된다. 클러스터 사용자가 최소 권한 원칙에 따라 간단하게 만들 수 있다. 특정 작업을 위한 서비스 어카운트를 만들 수 있도록 보다 가볍게 만들어졌다. 1.각 네임스페이스에는 기본적으로 default라는 서비스가 자동생성된다...

Kubernetes 2023.01.29

ConfigMap

설정값을 따로 모아두고, 필요할 때 꺼내서 사용할 수 있는 메커니즘 (a.k.a 설정값 통) 설정값을 저장하는 리소스 pod의 spec에 일일히 직접 설정값을 명시하는게 아니라, ConfigMap에 모든 설정값들을 저장해놓고 Pod에서 필요한 정보들을 불러올 수 있다 볼륨 연결, 환경변수 설정같은 방법으로 활용할 수 있다. 활용 방법 1 : 볼륨 연결하기 # game-volume.yaml apiVersion: v1 kind: Pod metadata: name: game-volume spec: restartPolicy: OnFailure containers: - name: game-volume image: k8s.gcr.io/busybox command: [ "/bin/sh", "-c", "cat /etc..

Kubernetes 2023.01.29

Resource requirements(Request & Limit)

컨테이너 단위에 limit 설정하기 request와 limit는 Pod가 아니라(!)컨테이너 단위에 정의된다. 하지만 Pod의 Request와 Limit은 포함된 컨테이너의 Request와 Limit의 합계로 생각할 수 있다. (오차 있음) Limit 값은 Request값보다 크거나 같아야 한다. 하나의 Pod에서 a컨테이너와 b컨테이너가 있다고 생각해볼 때, 해당 Pod는 서로 다른 Request와 Limit을 가진 컨테이너 2개를 가지게 되는 것이다!! Request보다 적은 Limit을 정의하려고 하면 쿠버네티스에서 해당 Pod를 생성하도록 허용하지 않는다. 장점 : Request와 Limit을 정의하는 것은 쉽다 단점 : 수많은 개발자들이 작업하는 대규모 클러스터에서는 Request와 Limit이..

Kubernetes 2023.01.22

job

job은 컨테이너를 사용하여 한번만 실행되는 리소스다. job은 기동중인 Pod가 정지되는 것을 전제로 만들어졌다.(레플리카셋 등 다른 리소스들은 running을 전제로 만들어졌다) 일회성 배치 처리 작업에 유용하다(예시 : S3같은 오브젝트 스토리지에 파일 업로드, 머신러닝 학습 등) job은 Pod의 정지가 정상 종료되는 작업에 적합하다 completions : 성공 횟수 지정. 기본값 1. 변경 불가. parallelism : 병렬성 지정. 기본값 1. 변경 불가. backoffLimit : 성공할 때까지 재시도(실패 허용) 횟수. 변경 불가. backoffLimit 횟수가 2일 경우 : 총 3번 실행(첫 시도 + 2번 재시도) backoffLimit 횟수를 1개 이상 설정할 경우 Job의 연산이 ..

Kubernetes 2023.01.22

쿠버네티스 apiVersion이란?

쿠버네티스 apiVersion이란? 한줄 요약하면 오브젝트를 포함하는 API의 버전이다. apiVersion은 "group/version" 형태다. 쿠버네티스 버전에 따라 사용 가능한 apiVersion이 다르다. 일반적으로 alpha, beta 버전은 안정적이진 않지만, 그만큼 풍부한 기능을 갖고있기도 하다 쿠버네티스에서 사용 가능한 apiVersion은 kubectl api-versions 명령어로 확인할 수 있다. 오브젝트의 apiVersion 확인하는 방법 kubectl explain {오브젝트 종류} 예시 : kubectl explain cronjob 했을 때, 'VERSION: batch/v1' 이 cronjob의 apiVersion 이다. controlplane ~ ➜ kubectl expl..

Kubernetes 2023.01.15

CKAD 후기 (Certified Kubernetes Application Developer)

CKA시험 이후 1년만에 Certified Kubernetes Application Developer(이하 CKAD)시험에 합격했습니다. 준비한 시간은 총 1년이고, 중간에 불합격해서 관둔 시간을 제외하면 제대로 준비한 기간은 세달 정도 걸렸던 것 같습니다. CKAD 시험 소개 CKAD 시험은 한마디로 Kubernetes Application을 잘 Develope 할 수 있는지 확인하는 시험이라고 할 수 있습니다. 시험 범위만 봐도, Application을 어떻게 구축할 것인가에 대해서 요구하고 있습니다. 참고로 CKAD와 CKA의 시험 범위와 난이도를 그림으로 비교하면 이런 느낌입니다. CKAD 시험 이야기 시험 링크 시험 공식 소개 페이지 : https://training.linuxfoundation..

Kubernetes 2023.01.09 (2)

2022년 회고

2022년 임팩트 있는 이벤트 올해 가치관과 마인드를 바꿔버린 빅이벤트는 아래 세가지다. 3위 : 살고싶은 도시가 생기다. 2022년 9월에 광교 신도시를 처음 방문했다. 그리고 현재 2023년 1월인 지금까지 광교는 방문할 때마다 "어떻게 이렇게 아름답지?", "어떻게 이렇게 좋을 수가 있지?" 하고 감탄사가 나온다. 나는 한국에 '천국처럼 생긴' 도시가 있다는 걸 태어나서 처음 알았다. 주거라는게 단순히 집에 한정되지 않는단걸, 삶의 질에 주변 인프라가 얼마나 크게 영향을 끼치는지 절절히 체감했다. 깨끗한 도시(초등학교, 경기도청, 수원지방검찰청), 판교와 강남 가운데 위치, 잘 형성된 상권(백화점, 편의점, 카페거리), 도서관(인테리어, 시스템, 프로그램), 아이들과 강아지가 뛰놀고, 어른들은 물론..

Life 2023.01.09

쿠버네티스 시험 준비할 때 익혀두면 편한 리눅스 명령어들

grep 옵션 검색어 밑으로 10줄만 보여주기 grep -i {검색어} -A 10 예시 : kubectl get pod webapp-color -o yaml | grep -i strategy -A 10 검색어 위로 10줄 보여주기 grep -i {검색어} -B 10 검색어 위아래로 10줄 보여주기 grep -i {검색어} -C 10 vi 편집기 한줄 삭제 : dd 현재 줄부터 10개줄 삭제 : 10dd 현재 줄부터 아래 모두 삭제 : dG 현재 커서 위치부터 해당줄 끝까지 삭제 : d$ 파일의 제일 첫줄로 이동 : gg 파일의 제일 끝줄로 이동 : G 30번째 줄로 이동 : 30 + G 한 줄 복사하기 : yy 아래로 다섯줄 복사하기 : 5yy 다음줄에 붙여넣기 : p 문장 맨 앞으로 이동 : ^ 문장 ..

Kubernetes 2023.01.09