목록docker (7)
이야기박스
Overview 예전에 쿠버네티스 공부하면서 Container, VM 차이점을 간단하게 짚고 넘어간 적이 있습니다. Kubernetes 1. Introduction # 쿠버네티스 필요한 이유 최근 어플리케이션 개발 트렌드가 변화하였기 때문입니다. 과거에는 거대한 모놀리식 애플리케이션 개발/운영이었다면, 요즘 들어서는 "마이크로 서비스"로 세분화되 box0830.tistory.com 오래되기도 하였고 복습할 겸 여러 문서들 보는데 아래와 같은 포스팅도 보여 이번 포스팅을 작성하게 되었습니다. What is the difference between a process, a container, and a VM? Many people ask “What is the difference between a VM and..
지난번 포스팅을 통하여 Redis의 정의 및 Sentinel, Cluster의 고가용성을 알아보았는데요. 이번에는 간단하게 docker-compose를 활용하여 아래 세 가지 방법의 Redis 구성을 진행해보았습니다. Standalone Sentinel Cluster mode 간단하게 설정 파일 및 실행 명령어만 작성해두었습니다. 궁금한 점은 댓글로 남겨주시면 최대한 답변 남기도록 하겠습니다. What is Redis; Remote Dictionary Server Airflow의 CeleryExecutor를 사용할 때, Redis가 Queue로써 동작하는 것을 알고 있었지만, 지금까지 이를 제대로 알아보고자 한 적이 없었습니다. 이번 기회에 Redis가 무엇인지, 어떠한 구조로 이루어져 있 box0830..
쿠버네티스의 가장 큰 강점은 사용자가 신경 쓰지 않아도 지정된 클러스터에 자동으로 리소스가 나누어지는 것에 있죠. 하지만 특정 워커 노드, 집단에 배포되면 안될때, 어떻게 하면 될까요? 쿠버네티스에서는 위 문제를 두 가지 관점에서 풀려고 하였습니다. 노드 관점에서 받아들일 파드 정하기 - Node Taint, Pod Toleration 두 정책을 바탕으로 해결하고자 하였습니다. 파드 관점에서 들어갈 노드 정하기 - Node Affinity를 통하여 파드의 배포를 관리자가 조율할 수 있도록 합니다. # 노드 관점; Node Taint, Pod Toleration ## Taint ; Node 설정 Master 노드에서 테인트 확인 가능합니다. $ kubectl describe node master.k8s N..
# 개요 Kubernetes의 Pod 컨테이너에서 top을 실행하면, Pod의 메모리가 아닌 노드 전체의 메모리를 보게 됩니다. 그렇기 때문에 Kubernetes 환경에서 자바 애플리케이션을 사용할 때는 Memory에 대한 고려가 충분히 이루어져야 합니다. 참조. 포드의 리소스 관리 Kubernetes. 포드의 계산 리소스 관리 # 개요 Resource Request & Limit Pod의 request / limit QoS (우선순위) 플러그인 (LimitRange, ResourceQuota) 모니터링 # 포드 컨테이너의 리소스 요청 포드의 리소스 request(최소) & limit(최대)은 컨테이너.. box0830.tistory.com 이번 포스트는 Spring Boot 앱을 개발할 일이 있어서 -..
지난 포스트에 이어서 이번에는 Pod의 내용을 다루도록 하겠습니다. # Pod란? 애플리케이션의 논리 호스트라 볼 수 있습니다. VM과 유사하게 동작하지만 각 프로세스가 컨테이너에 캡슐화된다는 점에서 차이가 있겠습니다. 포드는 여러개의 컨테이너를 포함할 수 있지만, 그 컨테이너들은 모두 동일한 워커 노드에서 실행된다는 점을 알아두시면 좋을 것 같습니다. ## 포드의 필요성 모놀리식 서비스와 마이크로 서비스의 비교를 다시 떠올려보면 좋습니다. 하나의 시스템에 모든 프로세스를 넣어서 동작시키면 유지, 관리, 보수가 어려워집니다. 그러므로 각각의 프로세스를 자체 컨테이너에서 실행하는 게 옳겠죠. 그러려고 컨테이너가 만들어지기도 했고요. 여러 개의 프로세스를 위해 다수의 컨테이너를 생성해야 하다 보니, 이 컨테..
# 쿠버네티스 필요한 이유 최근 어플리케이션 개발 트렌드가 변화하였기 때문입니다. 과거에는 거대한 모놀리식 애플리케이션 개발/운영이었다면, 요즘 들어서는 "마이크로 서비스"로 세분화되고 애플리케이션을 실행하는 인프라도 사설 IDC에서 거대한 클라우드 플랫폼으로 옮겨가고 있습니다. 모놀리식 방법은 여러 서비스가 단일 OS 환경에서 실행되기 때문에 하나의 개체로 관리(개발, 배포 등)가 이루어져야 합니다. 이러한 구조의 단점은 아래와 같습니다. 조금의 변경만 있더라도 전체 어플리케이션을 재배포해야 합니다. 시간이 지날수록 어플리케이션 내 서비스 간의 경계가 모호해져서 프로그램은 점점 더 복잡해지고 유지보수가 어렵게 됩니다. 프로그램 자체가 무겁기 때문에 높은 성능의 서버가 필요합니다. Scaling-up :..
쿠버네티스 스터디를 시작합니다. 쿠버네티스를 줄여서 k8s라고도 하네요. 까리하게.. # 스터디 서적 http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791161752242&orderClick=LAG&Kc= Kubernetes in Action 쿠버네티스를 이용해 애플리케이션을 효과적으로 개발하고 ... www.kyobobook.co.kr 쿠버네티스는 물론 도커도 처음이라 최대한 자세한 내용을 담고 있는 서적을 선택하였습니다. # 코세라 https://www.coursera.org/learn/google-kubernetes-engine/home/welcome Coursera | Online Courses ..