backend 269

kubernetes docs: 클러스터 아키텍쳐 - 컨트롤러 (controller)

Controller Kubernetes에서 controler는 클러스터의 상태를 관찰한 후 필요한 경우에 생성 혹은 변경을 요청하는 컨트롤 루프이다. Controller pattern controller는 한개 이상의 리소스 유형을 추적한다. 해당 오브젝트들은 의도하는 상태를 표현하는 필드를 가지고 있고, 이들의 컨트롤러는 그 상태를 의도한 상태에 가깝게 만드는 역할을 한다. 다음와 같은 방법으로 제어 가능 API 서버를 통한 제어 Job controller는 Kubernetes 내장 컨트롤러의 예시. job은 하나 또는 여러 파드를 실행하고, 작업을 수행한 다음 중지하는 Kubernetes 리소스이다. job controller가 새로운 작업을 확인 -> kubelet이 적합한 수의 pod를 실행하게 ..

Kubernetes docs: Cluster Architecture - Node

Cluster Architecture Node 하나의 노드는 Kubernetes에서 하나의 워커 머신이다. (이전에는 minion으로 불림) 노드는 클러스터에 따라 VM 또는 물리 머신이 될 수 있음 Node status 노드의 상태는 주소, 컨디션, 용량과 할당가능, 정보 등을 포함한다. kubectl escribe node 주소 제공 사업자 또는 구성에 따라 다양한 용법이 쓰임 HostName: 노드 커널에 알려진 호스트명. --hostname-override로 override 가능 ExternalIP: 클러스터 외부로 라우트 가능 InternalIP: 클러스터 내부에서만 라우트 가능 컨디션 모든 Running중인 노드의 상태를 기술. Node condition에는 다음 종류 등이 있음 Ready: ..

Kubernetes object - 쿠버네티스 오브젝트

Kubernetes object 쿠버네티스 오브젝트 이해하기 쿠버네티스 오브젝트 는 쿠버네티스 시스템에서 영속성을 가지는 개체 쿠버네티스 오브젝트는 하나의 “의도를 담은 레코드"이다. 오브젝트를 생성하게 되면, 쿠버네티스 시스템은 그 오브젝트 생성을 보장하기 위해 지속적으로 작동 생성이든, 수정이든, 또는 삭제든 쿠버네티스 오브젝트를 동작시키려면, 쿠버네티스 API를 이용해야 한다. 예를 들어, kubectl 커맨드-라인 인터페이스를 이용할 때, CLI는 여러분 대신 필요한 쿠버네티스 API를 호출 오브젝트 명세(spec)와 상태(status) spec을 가진 오브젝트는 오브젝트를 생성할 때 리소스에 원하는 특징(의도한 상태)에 대한 설명을 제공해서 설정한다. status는 오브젝트의 현재 상태 를 기술..

쿠버네티스 기본 개념 (kubernetes conecpt)

개념 쿠버네티스란 무엇인가? 쿠버네티스는 다음을 제공한다. 서비스 디스커버리와 로드 밸런싱: 쿠버네티스는 DNS 이름을 사용하거나 자체 IP 주소를 사용하여 컨테이너를 노출할 수 있다. 컨테이너에 대한 트래픽이 많으면, 쿠버네티스는 네트워크 트래픽을 로드밸런싱하고 배포하여 배포가 안정적으로 이루어질 수 있다. 스토리지 오케스트레이션: 쿠버네티스를 사용하면 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 자동으로 탑재 할 수 있다. 자동화된 롤아웃과 롤백: 쿠버네티스를 사용하여 배포된 컨테이너의 원하는 상태를 서술할 수 있으며 현재 상태를 원하는 상태로 설정한 속도에 따라 변경할 수 있다. 예를 들어 쿠버네티스를 자동화해서 배포용 새 컨테이너를 만들고, 기존 컨테이너를 제거하고, 모든..

k8s 문서 - 튜토리얼; 쿠버네티스 기초 학습

https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/ Tutorial: 쿠버네티스 기초 학습 Assumming that minikube is successfully installed Deploying app Create deployment using kubernetes pod는 isolated, private network 되어있기 때문에 proxy를 통해 debug, interact 가능하다. $ minikube start $ kube kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 # starting proxy echo -..

쿠버네티스에서 로컬 이미지 사용하기: Running local docker image in kubernetes

Minikube는 우선적으로 docker image를 pull 해 와서 사용한다. 하지만 보통 개발 공부를 하다 보면 로컬에서 빌드 된 이미지를 사용하여 minikube pod에 띄우는 경우가 많은데, 이런 경우에 image를 찾을 수 없다는 다음 에러를 만나게 된다 (사실 tutorial을 잘 따라하였다면 이런 문제를 만나지 않겠지만) 혹시 비슷한 문제를 겪는 분들을 위해 기록해둔다 $ docker build -t : . $ kubectl run --image=: Failed to pull image "": rpc error: code = Unknown desc = Error response from daemon: pull access denied for cms, repository does not e..

backend 2020.03.20