본문 바로가기

Cloud

(29)
(Kubernetes) - storage 🍳머리말 kubernetes docs의 storage 복붙글입니다. 📕 Volume 컨테이너 내의 디스크에 있는 파일은 임시적이며, 컨테이너에서 실행될 때 애플리케이션에 적지 않은 몇 가지 문제가 발생합니다. 한 가지 문제는 컨테이너가 크래시될 때 파일이 손실되는 점입니다. kubelet은 컨테이너를 다시 시작하지만 초기화된 상태입니다. 두 번째 문제는 Pod에서 같이 실행되는 컨테이너간에 파일을 공유할 때 발생하는 것입니다. 쿠버네티스 volume 추상화는 이러한 문제를 모두 해결합니다. 📔 배경 도커는 다소 느슨하고, 덜 관리되지만 볼륨이라는 개념을 가지고 있습니다. 도커 볼륨은 디스크에 있는 디렉터리이거나 다른 컨테이너에 있습니다. 도커는 볼륨 드라이버를 제공하지만, 기능은 제한적입니다. 쿠버네티스..
(Kubernetes) - workload 🍳머리말 workload 개념 및 resource 설명글 📕 workload 📔 정의 워크로드는 쿠버네티스에서 구동되는 애플리케이션 📔 특징 워크로드가 단일 컴포넌트이거나 함께 작동하는 여러 컴포넌트이든 관계없이, 쿠버네티스에서는 워크로드를 일련의 파드 집합 내에서 실행합니다. 쿠버네티스에서 Pod는 클러스터에서 실행 중인 컨테이너 집합을 나타냅니다. 쿠버네티스 파드에는 라이프사이클이 있습니다. 예를 들어, 일단 파드가 클러스터에서 실행되고 나서 해당 파드가 동작 중인 노드에 심각한 오류가 발생하면 해당 노드의 모든 파드가 실패합니다. 쿠버네티스는 이 수준의 실패를 최종(final)으로 취급하며 사용자는 향후 노드가 복구되는 것과 상관 없이 Pod 를 새로 생성해야 합니다. 📕 workload resou..
(Kubernetes) - 용어 정리 🍳머리말 kubernetes에서 자주쓰는 용어 설명글 📕cluster container화된 app을 실행하는 node입니다. 여기에 여러 node가 담길 수 있습니다. node에는 여러 pod가 존재할 수 있고 하나의 pod안에는 여러 container가 있을 수 있습니다. 📔 node 노드는 쿠버네티스에서 워커 머신을 말하며 클러스터에 따라 가상 또는 물리 머신일 수 있습니다. 각 노드는 컨트롤 플레인에 의해 관리된다. 하나의 노드는 여러 개의 파드를 가질 수 있고, 쿠버네티스 컨트롤 플레인은 클러스터 내 노드를 통해서 파드에 대한 스케쥴링을 자동으로 처리한다. 컨트롤 플레인의 자동 스케줄링은 각 노드의 사용 가능한 리소스를 모두 고려합니다. 모든 쿠버네티스 노드는 최소한 다음과 같이 동작합니다. Ku..
DevOps와 NoOps 🍳머리말 DevOps, NoOps 배경 및 하는 일 등을 설명하는 글입니다. Kubenetes in action이라는 책을 일부 요약한 글입니다. 📕DevOps 📔 배경 📑 개발 process의 변화 전체 app의 개발 process와 production에서 app을 처리하는 방식에 변화가 있었습니다. 과거에는 개발 팀이 app 개발 후 운영팀에게 package형태로 넘겨주면 운영팀은 app을 배포, 관리, 실행을 맡았습니다. 그러나 지금은 app을 개발하는 사람이 배포에도 참여하고 전체 life-cycle을 함께 관리할 수 있게 팀을 구성하고 운용하는 것이 배포까지의 단계가 줄고 더 효율적이기 때문에 바뀌게 되었습니다. 또한 큰 변화에 대해서만 배포를 하게 된다면 그 사이 변화로 system의 위험이 ..
Kubernetes 등장 배경과 장점 🍳머리말 kubernetes in action이라는 책을 통해 공부한 내용을 정리했습니다. 📕 Software 개발 배포의 변화 📔 Monolithic Application 과거 application은 단일 process로 실행되거나 소수의 server에 분산된 몇몇 process로 실행되는 거대한 program이었습니다. 이러한 legacy system은 release가 느리고 드물게 update됩니다. 하나의 release의 주기는 다음과 같습니다. 개발자가 전체 system package화 -> 운영자가 배포, monitoring하며 장애 발생시 사용 가능 server로 migration 모든 것이 서로 강하게 결합해 구성되며, 전체가 단일 운영체제 processs로 실행되기 때문에 하나의 개체로 ..