-
Kubernetes) Application 배포Cloud/Kubernetes 2022. 10. 24. 23:32
학습 목표 : 몇가지 Application 배포 방식에 대해 알아본다. Application 배포(Update) 방식 기본적인 Application 배포는 Application을 중단하고 업데이트를 진행하여 서비스가 중단되는 시점(downtime)이 생긴다. downtime을 극복하기위한 무중단 배포방식이 사용된다. Rolling Update (Rolling 배포) - 무중단 방식의 가장 기본적인 방식으로 사용중인 인스턴스 내에서 새버전을 점진적으로 교체한다. - 장점 - 인스턴스마다 차례로 배포를 진행하여 상황에따라 쉽게 Rollback이 가능하다. - 추가적인 인스턴스를 늘리지 않아도 되고 간편하게 관리가 가능하다. - 단점 - 사용중인 인스턴스에 트래픽이 몰릴 수 있다. - 배포중에 신버전과 구버전..
-
Kubernetes) Kubernetes ReplicaSetCloud/Kubernetes 2022. 10. 21. 02:04
학습 목표 : k8s의 서비스가 지속되도록하는 ReplicaSet에 대해 알아본다. ReplicaSet 이란? 쿠버네티스 프로젝트 초기부터 있던 Replication Controller의 발전형 정해진 개수의 pod가 항상 실행상태가 되도록 관리한다. 노드나 pod에 이상이생겨 사용할수 없을 때, 동일 cluster안의 다른 노드의 pod를 생성하고 실행한다. YAML 파일을 통해 사용자가 요구하는 상태가 되도록 pod를 관리할 수 있다. ReplicaSet 사용해보기 replicaset 설정 (replicaset-nginx.yaml) apiVersion: apps/v1 kind: ReplicaSet metadata: name: replicaset-nginx # name - replicaset 이름 설정..
-
Kubernetes) AWS 기반 쿠버네티스 H.A 구축 프로젝트 2편Cloud/Kubernetes 2022. 10. 18. 23:14
실습 환경 : AWS console (2022/10), Visual Studio Code 실습 목적 : stacked etcd 방식의 고가용성(HA) 쿠버네티스 클러스터를 구성해본다. 참고1 : kubectl 자동완성 설정 source > ~/.bashrc 5. MasterNode2, MasterNode3 제거하기 # 버전 업그레이드 전에 노드를 2개만 남겨두고 하기 위해 제거 (실습을 위한 제거) # 필요할 때 클러스터에 연결된 노드를 제거하는 방법으로 사용할 수 있다. (1) Taint 해제 kubectl taint node --all node-role.kubernetes.io/master- kubectl taint node --all node-role.kubernetes.io/contorl-plan..
-
Kubernetes) AWS 기반 쿠버네티스 H.A 구축 프로젝트 1편Cloud/Kubernetes 2022. 10. 18. 00:34
실습 환경 : AWS console (2022/10), Visual Studio Code 실습 목적 : stacked etcd 방식의 고가용성(HA) 쿠버네티스 클러스터를 구성해본다. 1. 템플릿 생성과 Node 생성 (1) 템플릿 생성하기 - AWS Ec2메뉴 인스턴스 > 시작 템플릿, 시작 템플릭 생성 버튼 클릭 # 1. 시작 템플릿 이름/설명 설정하기 # 2. 애플리케이션 및 OS 이미지에서 Ubuntu, Ubuntu Server 20.04LTS 선택 # 3. 인스턴스 유형은 t3.large, 키페어는 기존 키페어를 사용 # 4. 서브넷은 기존 서브넷 사용, 연습용으로 모든 트래픽을 허용하는 보안그룹 생성 # 5. 리소스 태그에 Name 태그 추가 (2) Masternode 생성하기 - 인스턴스 >..
-
Kubernetes) Kubernetes VolumeCloud/Kubernetes 2022. 10. 13. 23:26
학습 목표 : k8s의 volume이 어떻게 사용되는지 알아본다. Kubernetes 에서 Volume 이란? Volume은 Pod의 일부분으로 정의되는 요소로서 Pod와 동일한 생명주기를 갖는다. Volume은 독립적인 리소스가 아니므로 자체적으로 생성/삭제할 수 없다. Pod에 여러개의 container를 갖는 경우 모든 container가 Volume을 공유할 수 있다. Volume은 Pod의 모든 container에서 사용 가능하며 사용시 container에서 mount해야 사용할 수 있다. 각 container 파일 시스템의 어느 경로에도 mount 할 수 있다. Volume 유형 emptyDir : 일시적인 데이터를 저장할 때 사용하는 빈 디렉토리 hostPath : 워커 노드의 파일 시스템을..