본문 바로가기

Infra11

[쿠버네티스 입문] 4-1. 쿠버네티스 아키텍처 쿠버네티스 클러스터의 전체 구조 kubernetes 주요 컴포넌트 공식 문서 : https://kubernetes.io/docs/concepts/overview/components/ 쿠버네티스 클러스터는 크게 두 종류의 서버로 구성 마스터 (master) etcd, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy, docker 등의 컴포넌트가 master에서 실행됨 마스터는 보통 고가용성을 만족하고자 서버 3대정도 구성해서 운영. 실제 클러스터를 관리하는 리더 마스터 1대 / 나머지 2대는 대기 리더 마스터에 장애 발생 시, 대기하던 마스터가 리더 역할로 교체함 노드 (node) kubelet, kube-proxt,.. 2023. 1. 5.
[기록용] 미니큐브(minikube) minikube 란? 쿠버네티스를 쉽게 배우고 개발할 수 있도록 하는 데 중점을 둔 로컬 쿠버네티스입니다. minikube 시작 문서 : https://minikube.sigs.k8s.io/docs/start/ minikube 와 katacoda 를 이용한 쿠버네티스 샘플 애플리케이션 실행 실습 : https://kubernetes.io/ko/docs/tutorials/hello-minikube/ 2023. 1. 4.
[쿠버네티스 입문] 3-3 클러스터 외부에서 클러스터 내부 앱에 접근 쿠버네티스 내부에서 실행한 컨테이너를 외부에서 접근하려면 쿠버네티스의 서비스(service) 자원을 사용해야함 외부 클라이언트 -> 쿠버네티스 클러스터 (접근 불가능) 외부 클라이언트 -> service -> 쿠버네티스 클러스터 $ kubectl expose deployment nginx-app --type=NodePort # 상세한 내용 확인 $ kubectl describe service {컨테이너 이름} # example $ kubectl describe service nginx-app kubectl get services 명령어를 통해 nginx-app 이 32344라는 외부 포트와 연결된 것을 확인할 수 있다. 2023. 1. 4.
[Kubernetes 입문] 3-2. deployment를 이용해 컨테이너 실행 쿠버네티스를 이용한 컨테이너 실행 방법은 크게 두 가지 kubectl run 명령으로 직접 컨테이너 실행 컨테이너 실행 세부 내용을 담은 YAML 형식의 템플릿으로 컨테이너 실행 (deployment.yaml 를 이용) kubectl run 으로 컨테이너 실행 kubectl run으로 파드를 실행할 때 기본 컨트롤러는 디플로이먼트(deployment) # nginx-app 이라는 이름의 deployment 를 사용해 nginx 컨테이너 실행 $ kubectl create deployment nginx-app --image nginx --port=80 # deployment 상태 확인 $ kubectl get deployments NAME : 클러스터에 배포한 deployment 이름 READY : 사용자.. 2023. 1. 4.
[Kubernetes 입문] 3. 쿠버네티스로 컨테이너 실행하기 2장은 쿠버네티스 설치 관련 내용으로 다른 자료들도 많아 건너 뜁니다. 쿠버네티스 관리를 위한 기본 커맨드라인 인터페이스 kubectl 파드로 컨테이너 실행 상태 살펴보기 컨테이너 삭제등의 기본 사용법과 주요 활용법 소개 kubectl 에서 지원하는 명령 쿠버네티스 자원들의 생성, 업데이트 삭제 (create, update, delete) 디버그, 모니터링, 트러블 슈팅 (log, exec, cp, top, attach, 등등..) 클러스터 관리 (cordon, top, drain, taint, 등등...) 쿠버네티스 kubectl 공식 문서 : kubectl Cheat Sheet kubectl short name : https://kubernetes.io/docs/reference/kubectl/#re.. 2023. 1. 4.