목록DevOps/Kubernetes (27)
devops
갑자기 파드, 디플로이먼트 등 생성과 삭제 모든 작업에 아래와 같은 오류가 뜰 수 있다. Unable to connect to the server: dial tcp 192.168.49.5:8443: connect: no route to host 이는 클러스터에서 문제가 발생했을 가능성이 높으니 클러스터를 다시 삭제하고 생성하면 된다. $ minikube stop $ minikube delete $ minikube start
서비스 쿠버네티스 환경에서 서비스(Service)는 파드들을 통해 실행되고 있는 애플리케이션을 네트워크에 노출(expose)시키는 가상의 컴포넌트다. 쿠버네티스 내부의 다양한 객체들이 애플리케이션과, 그리고 애플리케이션이 다른 외부의 애플리케이션이나 사용자와 연결될 수 있도록 도와주는 역할을 한다. 클러스터 안에서 애플리케이션을 구동시키는 데에 쓰이는 파드들의 반영속적인(ephemeral) 특성 때문이다.쿠버네티스에서의 파드는 무언가가 구동 중인 상태를 유지하기 위해 동원되는 일회성 자원으로 언제든 다른 노드로 옮겨지거나 삭제될 수 있다. 또한 파드는 생성될 때마다 새로운 내부 IP를 받게 되므로, 이것만으로 클러스터 내/외부와 통신을 계속 유지하기는 어렵다. 따라서 쿠버네티스에서는 파드가 외부와 통신할..
블루/그린 배포 기존 버전을 교체할 최신 버전 디플로이먼트 세트를 생성하고 service의 spec.selector를 이용하여 이미 생성된 파드를 교체하는 작업을 하면된다. 이 후 최신 버전에서 문제 발생시 재교체하며 롤백한다. https://www.cncf.io/wp-content/uploads/2020/08/CNCF-Presentation-Template-K8s-Deployment.pdf https://semaphoreci.com/blog/continuous-blue-green-deployments-with-kubernetes Continuous Blue-Green Deployments With Kubernetes - Semaphore Learn how to create a CI/CD pipeline..
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: # 여기서부터 파드 템플릿 metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 위 코드가 들어있는 simple-pod.yaml 파일을 통해서 디플로이먼트를 생성해본다. 1. 생성을 위해 apply 명령어 사용한다. $ kubectl apply -f simple-pod.yaml 2. describe로 ..
파드(Pods) 파드는 쿠버네티스의 배포 가능한 가장 작은 컴퓨팅 유닛이다. 그 자체로 하나의 논리적인 호스트다. 하나 이상의 어플리케이션 컨테이너 IP 주소 공유 스토리지 쿠버네티스는 워크로드 리소스를 만들기 위해서 YAML과 같은 리소스 정의 파일을 사용한다. * 워크로드? 쿠버네티스에서 '쿠버네티스 상에서 작동되는 어플리케이션'을 의미, 클라우드 분야에서는 '어떤 어플리케이션을 실행할 때 필요한 IT 리소스의 집합'이라는 의미로 통용 쿠버네티스에서 직접 사용자가 개별 파드를 만들일이 많지 않다. 파드는 일시적이고 언제나 삭제될 수 있기 때문이다. 파드가 실행되는 공간인 노드가 실패하면 그 안의 파드 역시도 사용할 수 없게된다. 컨테이너를 수동으로 만들고 관리하는 것은 도커만 사용해도 충분하다. 쿠버..
https://confluence.curvc.com/pages/releaseview.action?pageId=98048155 Ubuntu에서 쿠버네티스(k8s) 설치 가이드 - CURVC DevOps - Confluence 이 문서는 쿠버네티스(k8s) 구축에 대한 정보를 공유하기 위해 작성되었다. Docker 설치 Docker Engine 설치를 위해 다음 절차를 따라 진행한다. 세부적인 가이드는 아래 링크를 참고한다. 저장소 설 confluence.curvc.com 공홈 자료론 설치가 잘 안된다면 위 가이드를 따라하는 것을 추천
쿠버네티스 오픈소스로 만들어진 컨테이너 오케스트레이션 도구 컨테이너화된 어플리케이션을 자동 배포, 스케일링하는 기능 등을 제공한다. 각기 다른 환경(온프레미스서버, VM, 클라우드)에 대응할 수 있다. 쿠버네티스에 적합하지 않는 환경 여러 단계로 나뉘어지지않은 모놀리식 아키텍처에는 적합하지 않다. (모놀리식은 MSA로 분해하는 것이 먼저) 컨테이너 수가 적은 경우 적합하지 않다.(docker compose만으로도 관리 가능) 단순한 아키텍처에 스케일링이 불필요한 경우 적합하지 않다. 쿠버네티스에 적합한 환경 마이크로서비스를 컨테이너 방식으로 운영하는 조직이 확장성을 고려할 때 무중단 서비스, 고가용성을 제공해야 할 때 자가 치유 및 배치 실행, 로드 밸런싱, 구성 관리 등 기능들이 필요할 때 사실 AWS..