https://www.linux.com/blog/learn/chapter/Intro-to-Kubernetes/2017/6/set-cicd-pipeline-jenkins-pod-kubernetes-part-2 이 시리즈의 Part 2는 Kr8sswordz Puzzle 애플리케이션을 동작시키는데 필요한 인프라의 마지막 조각을 쌓는 것이다. Part 1에서 우리는 Docker Minikube 그리고 kubectl을 설치했다. 또한 빌드 프로세스를 테스트 해봤고 Hello-Kenzan 앱을 이용하여 이미지를 빌드하고 푸쉬하는 테스트도 했다. 시리즈의 모든 글을 읽어보자. Set Up a CI/CD Pipeline with Kubernetes Part 1: Overview Set Up a CI/CD Pipelin..
https://www.linux.com/blog/learn/chapter/Intro-to-Kubernetes/2017/5/set-cicd-pipeline-kubernetes-part-1-overview 이번 튜토리얼 시리즈에서, 배포 관리를 위한 간단한 CI/CD 파이프라인 함께 K8S에서 완전히 컨테이너화한 애플리케이션 스택을 설치하는 것이 얼마나 간단한 것인가를 보여준다. 소프트웨어 산업은 용이한 개발, 배포 그리고 앱 개발자를 위한 환경 오케스트레이션 방법으로 컨테이너를 이용하는 것에 대한 가치를 급속도로 깨달아 가고 있다. 그 이유는 컨테이너가 향상된 확장성을 고려하며, 환경적인 차이를 효과적으로 관리해주고, Continuous Delivery (CD) 기능을 지원해예측가능성을 제공해주기 때문이다..
https://kubernetes.io/docs/tutorials/stateful-application/zookeeper/ 이번 튜토리얼에서는 StatefulSets, PodDisruptionBudgets,과 PodAntiAffinity을 이용하여 K8S 상에서 Apache Zookeeper을 동작시키는 것을 시연해본다. Objectives 이 튜토리얼을 마친 후, 다음을 익히게 될 것이다.StatefulSet을 이용하여 ZooKeeper 앙상블(ensemble)을 배포하는 법ConfigMaps을 이용하여 일관되게 앙상블을 구성하는 법앙상블 내 ZooKeeper 서버에 대한 배포를 확산하는 법계획된 정비 기간 중 PodDisruptionBudgets를 이용하여 서비스 가용성을 보장하는 법 Before y..
https://kubernetes.io/docs/tutorials/stateful-application/cassandra/ 이번 튜토리얼에서는 K8S 상에서 여러분이 어떻게 네이티브 클라우드 Cassandra 배포를 개발할 수 있는지 보여준다. 이 예시에서, 주문제작한(custom) Cassandra SeedProvider 는 새로운 Cassandra 노드들이 클러스터에 가입할 때, Cassandra가 그것들을 발견할 수 있도록 해준다.StatefulSets은 클러스터가 구성된 환경 속에서 stateful 한 애플리케이션을 배포하기 쉽도록 해준다. 이 튜토리얼에서 이용된, 그 특성에 관한 추가 정보는, StatefulSet 문서를 참조한다. Docker 기반 Cassandra이 튜토리얼 내 Pods는 구..
https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/ 이번 튜토리얼은 Minikube를 이용하여 WordPress 사이트와 MySQL 데이터베이스를 배포하는 방법에 대해 소개한다. 두 애플리케이션 모두 데이터를 저장하기 위해 PersistentVolumes과 PersistentVolumeClaims을 사용한다.PersistentVolume(PV)는 관리자에 의해 수동으로 프로비저닝 되어지거나, StorageClass를 이용하여 K8S에 의해 동적으로 프로비저닝 되어진, 클러스터 내 하나의 스토리지 세트를 말한다. PersistentVolumeClaim (PVC)은 사용자에 의한 스토리지 요청으..
https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/ 이번 튜토리얼에서는 StatefulSets 을 갖는 어플리케이션을 관리하기 위한 입문서를 제공한다. StatefulSets Pod들에 대한 생성, 삭제, 스케일 그리고 업데이트에 대한 방법을 설명한다. StatefulSets 개념 간략 정리 먼저 stateful의 정의가 필요하여 구글링 해보니,"Stateful means the computer or program keeps track of the state of interaction, usually by setting values in a storage field designated for that purpose."..
https://kubernetes.io/docs/tutorials/configuration/configure-redis-using-configmap/ 이 페이지에서는 실제 현업에서 어떻게 ConifigMap 을 이용하여 Redis를 구성할 수 있는지에 대한 방법을 제시하고 ConfigMap 태스크를 이용하여 컨테이너들의 구성을 빌드해본다. Objectives ConfigMap을 생성한다.ConfigMap을 이용하여 파드 명세(specification)를 생성한다.파드를 생성한다.구성들이 정확하게 적용되어졌는지 검증한다. Before you begin K8S 클러스터가 필요하며, 클러스터와 커뮤니케이션할 수 있도록 구성되어진 kubctl CLI 도구도 필요하다. 클러스터 준비가 안된다면, Minikube ..
https://kubernetes.io/docs/tutorials/stateless-application/guestbook/ 이 강좌는 K8S와 Docker 를 이용한 단순한, Multi-tier 웹 애플리케이션을 빌드하는 방법에 대해 소개한다. 이 예제는 다음 컴포넌트로 구성된다: 방명록 기입을 저장할 단일 인스턴스 Redis 마스터 읽기 기능을 제공해 줄 복제된 Redis(replicated Redis) 인스턴스들다중 웹 프론트엔드 인스턴스들 Objectives Redis 마스터를 구동한다.Redis 슬레이브를 구동한다.프론트엔드 방명록을 구동한다.프론트엔드 서비스를 노출하고 View 한다.정리한다. 이번 튜토리얼 역시 두 가지 버전으로 동시에 실습을 병행할 것이다. 첫번 째는 Minikube 이고 ..
https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/ 이 페이지는 K8S 서비스 오브젝트를 대상으로 외부 IP 주소를 노출키는 방법에 대해 보여준다. Objectives 5개의 Hello World 애플리케이션을 띄운다.외부 IP 주소로 노출시는 서비스 오브젝트를 생성한다.동작 중인 애플리케이션에 접근하기 위해 서비스 오브젝트를 이용한다. 이번 튜토리얼은 Minikube 환경과 On-Premise 로컬 K8S 클러스터 환경에서 진행해봤다. On-Premises(이하 On-Prem.) 의 경우, 원본에서 사용한 "8080" 포트는 이미 사용 중이므로, "5005" 포트로 변경하여 진행하였음을 참고하자. 독..
https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/ Objectives kubectl 을 이용해 롤링 업데이트를 수행한다. Updating an application 사용자들은 애플리케이션이 항상 가용한 상태일 것이라 여기고 개발자들은 하루에 여러번씩 새로운 버전을 배포하도록 요구 받고있다. 쿠버네티스에서는 이것을 롤링 업데이트를 통해 이루고 있다. 롤링 업데이트는 파드 인스턴스를 점진적으로 새로운 것으로 업데이트하여 디플로이먼트 업데이트가 서비스 중단 없이 이루어질 수 있도록 해준다. 새로운 파드는 가용한 자원을 보유한 노드로 스케줄될 것이다. 이전 모듈에서 여러 개의 인스턴스를 동작시키도록 애플리케이션을 스케일했다. ..