custom resource and controller Kubernetes Custom Resource 포드, 디플로이먼트, 서비스는 쿠버네티스에서 기본적으로 제공하는 리소스 종류이지만, 사용자가 직접 리소스 종류를 정의해 사용할 수도 있다. 이를 Custom Resource 라고 한다. Kubernetes Controller Impera...
8. custom resource and controller
7. kubernetes deploy State
kubernetes depoloy Kubernetes 어플리케이션 상태와 배포 새로운 버전이 점진적으로 배포되는 롤링 업데이트 배포된 버전을 내부적으로 저장함으로써 원하는 버전의 디플로이먼트로 복귀 새롭게 배포되는 포드의 앱이 사용자 요청을 처리할 준비가 됐는지 확인 Deployment를 통한 rolling update 운영상의 앱인 경우, 보...
6. kubernetes deploy Options
kubernetes depoloy Kubernetes 배포 시 설정사항 자원을 할당하는 방법, 활용률을 높이는 Overcommit, ResourceQuota, LimitRange Pod 자원 사용량 제한 : Limits and Requests 스케일 아웃(Scale-out)만큼 중요한 작업이 컴퓨팅 자원 활용률(Utilization)을 늘리는 ...
5. kubernetes security
kubernetes security ServiceAccount and RBAC ServiceAccount 는 사용자 또는 어플리케이션 하나에 해당한다. RBAC(Role Based Access Control) 라는 기능을 통해 특정 명령을 실행할 수 있는 권한을 ServiceAccount 에 부여한다. kubectl 명령어가 동작하는 과정 1...
4. kubernetes pv and pvc
kubernetes pv and pvc 데이터 보존 docker 에서도 컨테이너의 데이터를 영속적으로 저장하기 위해서는 호스트의 영역을 공유하는 방식을 이용했다. kubernetes 에서도 호스트에 위치한 디렉터리를 각 포드와 공유함으로써 데이터를 보존하는 것이 가능하다. 하지만 쿠버네티스는 클러스터 환경이기 때문에, 운영상의 이유(장애 등)로 워...
3. kubernetes Ingress
2. kubernetes Resources and Configs
kubernetes concept Namespace - 리소스를 구분하는 장벽 리소스들을 논리적으로 구분하기 위해 사용한다. Pod, Replica-Set, Deployment, Serviec 와 같은 쿠버네티스 리소스들이 묶여있는 가상의 공간 이라고 이해하면 된다. 기본 Namespace default kube-system : 쿠버네티스...
1. kubernetes concept
kubernetes concept Kubernetes 기본 쿠버네티스는 대부분의 리소스를 오브젝트 형태로 관리한다. kubectl api-resources 쿠버네티스를 잘 사용하는 방법은 YAML파일을 잘 작성하는 것이다! 쿠버네티스 노드 -> 마스터노드 / 워커노드 마스터 노드: 쿠버네티스가 제대로 동작할 수 있게 클러스터를 관리하는...
to be continue... HADOOP HDFS
분산 파일 시스템이란 ? 분산파일시스템 은 일반적으로 네크워크로 연결된 여러 머신의 스토리지를 관리하는 파일 시스템을 의미합니다. 이번 포스팅에서는 HADOOP을 구성하는 주요 컴포넌트 중 하나인 HDFS 에 대해 정리해 보도록 하겠습니다. GFS HDFS의 모태는 GFS이다. Master(masterserver) Worker(chunkserver...
9. 5 solid principles
Go/Golang - 5 SOLID principles 좋은 설계와 나쁜 설계 좋은 설계란 상호 결합도 가 낮고, 응집도 가 높은 설계를 말한다. 상호결합도가 낮다는 것은 모듈을 쉽게 떼어내서 다른곳에 붙여 사용할 수 있다는 뜻 응집도가 높다 는 말은 하나의 모듈이 의존적이지 않고, 독립적으로 자립한다는 뜻 이 좋은 설계 를 위한...
8. channel & context
Go/Golang - Channel & Context Channel Channel 이란 무엇인가? Channel(채널) 이란 고루틴끼리 메세지를 전달받을 수 있는 메세지 큐를 의미한다. Channel 사용업 func square(wg *sync.WaitGroup, ch chan int) { // square goroutine은 빈 채널이...
7. concurrent programming
Go/Golang - Concurrent Programming Go Routine GoRoutine 은 Go언어에서 관리하는 lightweight thread 이다. 그리고 이런 여러 GoRoutine 을 가지는 프로그램을 동시성 프로그래밍(Concurrent Programming)이라고 한다. 아래와 같은 방법으로 GoRoutine을 선언하게 되면...