본문 바로가기

전체 글

[Kubernetes StatefulSet] 개요 & Nginx Web Cluster(1/5) Kubernetes의 컨테이너 오케스트레이션을 이용한 어플리케이션의 구현 방식 또는 기술에서 중요하게 다뤄야 하는 것 중 하나가 StatefulSet 이다. 개념을 명확히 해야 하는 점에서, 아래의 두 가지 개념을 염두에 두고 상황에 따라 잘 활용해야 할 필요가 있어서 본 시리즈를 기획하였다. Stateless ApplicationWeb front-end 와 같이 디스크에 중요한 데이터가 없는 것들필요한 만큼의 여러 개의 똑같은 컨테이너를 시작/종료할 수 있는 것들Ephemeral 특성 - 컨테이너가 죽으면 내부에 보관중인 데이터는 사라짐Instance 별의 특별한 데이터가 없을 것 Stateful ApplicationContainer-specific 특성(주로 호스트/도메인명, 드물게는 IP 주소)암호.. 더보기
[GitLab] Server-Side Hook 스크립트(pre-receive) 활용 개요 GitLab 을 위한 Custom Hook은 다음의 3 가지 중 하나로 구현된다(Community Edition 기준). pre-receive: Git 서버가 클라이언트로부터 Push 요청을 받은 즉시 수행되며, 스크립트에서 non-zero 값을 return 하면 Push 요청은 reject 된다. Push 요청에 대한 값은 스크립트 내에서 stdin 스트림 값을 읽어서 사용 가능하다update: pre-receive 와 유사하지만, pre-receive 는 한 번의 Push에 대해 단 한 번 수행되며, update는 각각의 Branch 마다 triggering 되는 점이 다르다. 따라서 여러 Branch에 Push 를 수행하게 되면 특정한 브랜치에 대해서만 reject 되게 처리되게 하고 싶을 떄.. 더보기
[Kubernetes - CI/CD] Customized Jenkins 제작과 활용 - 2/2 전편에 이어지는 내용으로, 이번에는 예제 프로젝트인 hugo-app 을 대상으로 개발~배포~실행까지 Pipeline을 구성하여 CI/CD 과정을 구현해 보자 Jenkins-leader 서비스 기동 새로운 프로젝트를 시작할 때, 전용의 Jenkins 빌더 셋을 만드는 과정에 해당기존에 제작/테스트 했던 jenkins 서비스 환경을 tear-down 하고 Custom Jenkins 빌더로 새로 시작[root@kubemaster 00-jenkins-custom-image]# kubectl delete -f 02-jenkins-dep-svc.yaml -n ns-jenkins[root@kubemaster 00-jenkins-custom-image]# kubectl delete -f 01-jenkins-leader.. 더보기
[Kubernetes - CI/CD] Customized Jenkins 제작과 활용 - 1/2 Kubernetes 를 활용하여 CI/CD를 구현하는 방법은 여러 가지가 있다. 이번 시리즈는 커스텀 Jenkins 이미지를 사용한 컨테이너 Application 빌드 배포 자동화를 구현해 보고자 한다. 본 글은 그 첫 번 째로, 커스텀 Jenkins 이미지를 제작, 테스트 빌드를 통해 CI/CD가 정상적으로 작동하는지를 확인하는 내용이다. PrerequisitesKubernetes 1.8~1.9.x 가 설치되고 정상 작동 할 것Application 소스 저장소로 사용할 github 계정 준비Persistent Volume으로 사용할 Storage는 Heketi-API로 연동된 Glusterfs(http://bryan.wiki/286 참조)Jenkins 빌드 작업을 위한 네임스페이스틑 ns-jenkins.. 더보기