본문 바로가기

전체 글451

GOORM: Kubernetes-42 Facts : 배운것 - 컨피그맵 / 시크릿 / 노드셀렉터 Findings : 컨피그맵 - 컨테이너에 필요한 환경 설정을 컨테이너와 분리해서 제공하는 기능 시크릿 - 비밀번호, OAuth 토큰, SSH 키 같은 민감한 정보들을 저장하는 용도로 사용 내장 시크릿 쿠버네티스 클러스터 안에서 쿠버네티스 API에 접근할 때 사용 사용자 정의 시크릿 사용자가 만든 시크릿 - 파드의 환경 변수나 볼륨을 이용한 파일 형식으로 사용 가능 - HTTPS 인증서를 저장하는 용도 - 시크릿 데이터는 etcd에 암호화하지 않은 텍스트로 저장 - 개별 시크릿 데이터의 최대 용량은 1MiB 노드셀렉터 - 가장 간단한 스케줄링 옵션으로 파드의 .spec 필드에 설정 - 파드가 클러스터 안 어떠 ㄴ노드에서 실행될지는 키-값 깡으로 .. 2022. 1. 5.
GOORM: Kubernetes-41 Facts : 배운것 - 인그레스 SSL / 무중단 배포 / 레이블 / 애너테이션 Findings : 인그레스 SSL 설정 - 인그레스로 SSL 인증서를 설정하면 파드 각각에 SSL 설정을 따로 할 필요가 없어 편하다. - 시크릿 : 쿠버네티스 내부에서 보안이 필요한 설정들을 다룰 때 사용 - 파드를 진단하는 두 가지 프로브 livenessProbe 컨테이너가 정상 실행되는지 진단해서 정상 실행 상태가 아니면 kubelet에서 컨테이너 실행을 중단 컨테이너의 재시작 정책에 따라 컨테이너를 재시작 readnessProbe 실제로 컨테이너가 서비스 요청을 처리할 준비가 되었는지 진단 - 훅 : 파드의 생명 주기 포스트스타트 훅 파드가 실행된 직후 실행 프리스톱 훅 파드가 종료되기 직전 실행 파드에 SIGTE.. 2022. 1. 5.
GOORM: Kubernetes-40 Facts : 배운것 - 헤드리스 서비스 / kube-proxy / 인그레스 Findings : 헤드리스 서비스 - 클러스터 IP가 없는 서비스 - 로드밸런싱이 필요 없거나 단일 서비스 IP가 필요없을 때 사용 - 엔드포인트 : 헤드리스 서비스에 셀렉터를 서정하면 쿠버네티스 API로 확인 kube-proxy - 쿠버네티스에서 서비스를 만들었을 떄 클러스터 IP나 노드 포트로 접근할 수 있게 만들어 실제 조작을 하는 컴포넌트 userspace 모드 클라이언트에서 서비스의 클러스터 IP를 통해 어떤 요청을 하면 iptables을 거쳐서 kube-proxy가 요청을 받고 서비스의 클러스터 IP는 연결되어야 하는 적절한 파드로 연결 iptables 모드 kube-proxy가 iptables를 관리하는 역할로 직.. 2022. 1. 4.
GOORM: Kubernetes-39 Facts : 배운것 - 데몬세트 / 스테이트풀세트 / 잡 / 크론잡 / 서비스 Findings : 데몬세트 - 클러스터 전체 노드에 특정 파드를 실행할 때 사용하는 컨트롤러 스테이트풀세트 - 상태가 있는 파드들을 관리하는 컨트롤러로 볼륨을 사용해서 특정 데이터가 저장한 후 파드를 재시작했을 때 해당 데이터를 유지 - 그레이스풀 : 실행 중인 프로세스를 종료할 때 바로 종료하는 것이 아니라 하던 작업을 마무리하고 정상적으로 종료 잡 - 실행된 후 종료해야하는 성격의 작업을 실행시킬 때 사용하는 컨트롤러 - 파드 하나를 실행하고 파드가 정상적으로 종료됐는지 확인 - 백오프 정책 : 잡 실행이 실패했을 때 자동으로 최대 몇 번까지 재시작할 것인지 설정 - 잡 병렬성 : 잡 하나가 몇 개의 파드를 동시에 실행.. 2022. 1. 4.
GOORM: Kubernetes-38 Facts : 배운것 - 파드 / 컨트롤러 / 레플리카세트 / 디플로이먼트 Findings : 초기화 컨테이너 - 앱 컨테이너가 실행되기 전 파드를 초기화 - 초기화 컨테이너는 여러개를 구성할 수 있다 - 실행이 실패하면 성공할 때까지 재시작 - 초기화 컨테이너가 모두 실행된 후 앱 컨테이너 실행이 시작된다. - 파드가 모두 준비되기 전에 실행한 후 종료되는 컨테이너이기 때문에 프로브를 지원하지 않는다. 파드 인프라 컨테이너 - 모든 파드에서 항상 실행되는 pause 컨테이너로 파드 안 기본 네트워크로 실행되며 컨테이너의 부모 컨테이너 역할 - pause 컨테이너가 재시작되면 파드 안 모든 컨테이너도 재시작 스태틱 파드 - kube-apiserver를 통하지 않고 kubelet이 직접 실행하는 파드 - .. 2022. 1. 4.
GOORM: Kubernetes-37 Facts : 배운것 - 쿠버네티스로 컨테이너 실행하기 / 쿠버네티스 아키텍쳐 / 파드 Findings : kubectl - 쿠버네티스 클러스터를 관리하는 동작은 대부분이 kubectl 이라는 커맨드라인 인터페이스로 실행 - 셸 스크립트의 일부분으로 사용하여 클러스터의 많은 동작을 자동화 플래그 - 전역플래그 : 모든 명령에서 사용 가능 - 개별 플래그 : 개별 명령에서만 사용 가능 kubeconfig - 클러스터 구성 정보 쿠버네티스를 이용해서 컨테이너 실행 - kubectl run 명령어 사용 - YAML 형식의 템플릿으로 컨테이너 실행 - 쿠버네티스 서비스 : 쿠버네티스 내부에서 실행한 컨테이너를 외부에서 접근하기 위함 쿠버네티스의 주요 컴포넌트 - 마스터용 컴포넌트 etcd 코어OS에서 개발한 고.. 2021. 12. 31.