반응형 [Kubernetes]9 sample devops end to end project v1- devops project | ci/cd declarative pipeline using devops tools https://github.com/jmstechhome8/web_login_automation GitHub - jmstechhome8/web_login_automation Contribute to jmstechhome8/web_login_automation development by creating an account on GitHub. github.com ## 젠킨스 서버 접속 (EC2) ## deploy_node_webapp.yml --- - hosts: server gather_facts: false become: yes become_user: ubuntu vars: ansible_python_interpreter: "/usr/bin/env python3" tasks: # Create Kuberne.. 2023. 7. 22. [마이크로 서비스] 사용하지 않는 경우!! 본 글은 찰스 페발의 블로그의 글 을 번역한 것이다. 굳이 마이크로 서비스가 필요하지 않는 상황에서도 “마법의 키워드”와 같이 마이크로 서비스를 꼭! 해야 한다는 상황에서 정말 그래야 하는지 고민해 볼 필요가 있다. 마이크로 서비스란? 마이크로 서비스에는 많은 정의가 있다. 일반적으로는 아래와 같이 요약된다. 마이크로 서비스는 구성 요소 설계 및 배치 아키텍처에 적용 되는 패턴이다. 서비스를 작게 유지하고 기능별로 그룹화 한다. 관심사를 분리하여 구현한다. 서로 자율적으로 분리되어 있어야 한다. 독립적 배포 및 버전을 조정하여 확장할 수 있어야 한다. 마이크로 서비스 패턴의 일반적인 구현은 다음과 같다. 주요 문제는 적용 가능한 패턴의 폭이 상당히 넓다는 것이다. 그렇기 때문에 마이크로 서비스를 선택하는.. 2023. 7. 11. [k8s] Deployments란 무엇인가? & Update 방식 Deployments란? Deployment는 Pod와 Replicaset에 대한 선언과 업데이트를 관리해주는 모듈이다. Kubernetes의 최소 유닛인 Pod에 대한 기준 스펙을 정의한 Object이다. Kubernetes는 각 Object를 독립적으로 생산하는 것보다 Deployment를 통해서 생성하는 것을 권장한다. Replicaset은 실행되는 파드 개수에 대한 가용성을 보증하며, 지정한 파드 개수만큼 항상 실행될 수 있도록 관리하는 것이다. 5개의 파드를 항상 실행하게 설정해놓으면 파드 1개가 삭제된다 하더라도 다시 파드 1개가 실행되어 5개를 유지한다. 즉 Deployment가 Replicasets을 생성하고 Replicasets이 Pod를 만든다. Deployment를 선언하면 Repli.. 2022. 11. 23. [k8s] YAML 기본 문법 및 k8s yaml 작성방법 YAML 문법이란 무엇인가? YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. 2001년에 클라크 에반스가 고안했고, Ingy dot Net 및 Oren Ben-Kiki와 함께 디자인했다. YAML이라는 이름은 "YAML은 마크업 언어가 아니다 (YAML Ain't Markup Language)” 라는 재귀적인 이름에서 유래되었다. 원래 YAML의 뜻은 “또 다른 마크업 언어 (Yet Another Markup Language)”였으나, YAML의 핵심은 문서 마크업이 아닌 데이터 중심에 있다는 것을 보여주기 위해 이름을 바꾸었다. 오늘날 XML과 JSON이 데이터 직렬화에 주로 쓰이기 시작하.. 2022. 11. 23. [k8s] kubernetes의 Service가 무엇인가? Service란 무엇인가? 저번 게시물에서는 파드에 대해서 다루었다. Service또한 Pod만큼 중요한 쿠버네티스의 기본 리소스이다. 우리가 전에 생성하고 배포한 Pod는 실행 중인 작업자 Node에서만 액세스 할 수 있다. 그리고 Service를 통해 노출될 때까지 kubernetes Master Node나 다른 Node에서도 액세스 할 수 없다. 각 Pod는 로컬호스트에서만 CNI 플러그인을 통해 IP 주소를 얻기 때문이다. 네트워크를 통해서 애플리케이션에 액세스하려면 위 그림처럼 Kubernetes Service를 사용하여 Pod를 외부 트래픽에 노출하고 여러 Pod에서 트래픽을 로드밸런싱 해야 한다. 외부 접속 설정 외부 접속 설정을 하는 서비스 타입에는 위 그림과 같이 총 4가지가 존재한다. .. 2022. 11. 22. [k8s] Helm을 통해 Prometheus, Grafana 적용하기 1. Helm 다운로드 helm은 쿠버네티스의 package managing tool이다. 크게 세가지 컨셉을 가지는데 Chart: Helm package이다. app을 실행시키기 위한 모든 리소스가 정의되어 있다. Repository: chart 들이 공유되는 공간이다. docker hub를 생각하면 된다. Release: 쿠버네티스 클러스터에서 돌아가는 app들은 모두 고유의 release 버전을 가진다. 먼저 curl 명령어를 통해서 helm3 버전을 다운받아 get_helm.sh 라는 파일로 만들어 준다. curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh 그 후 모드를 변경해주고 helm을.. 2022. 11. 22. [k8s] 파드란 무엇인가, 파드 만들기(명령어로 생성 및 yaml로 생성) ## 파드란 무엇인가? 파드(Pod) 는 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이다. 쉽게 이야기하여 docker image를 실행시킨 컨테이너를 감싸고있는 단위라고 생각할 수 있다. 한 파드 안에 여러개의 컨테이너가 생성 될 수 있으며 그 컨테이너끼리는 로컬로 통신하기 때문에 같은 포트를 사용할 수 없다. 파드는 휘발성이기 때문에 삭제하고 재 생성할 때 마다 IP가 바뀐다. ## 파드 생성하기 ( 명령어로 진행) 먼저 kubectl run 명령어를 실행 해 준다. 위 내용을 살펴보면 webserver라는 이름을 생성하고, image는 nginx 이미지를 사용하고 port는 80 포트를 사용한다. pod/webserver가 생성되었다는 것을 알 수 있다. kubectl.. 2022. 11. 21. [K8s] 쿠버네티스란 무엇인가? 쿠버네티스란 무엇인가? 쿠버네티스는 컨테이너화된 애플리케이션의 자동 Deploy, Scaling 등을 제공하는 관리 시스템으로 오픈 소스 기반이다. 구글에 의해 설계되었고 현재는 리눅스 재단에 의해 관리되고 있다. 여러 클러스터의 호스트 간 애플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화 하기 위한 플랫폼을 제공하기 위한 목적을 가지고 있다. 도커를 포함하여 일련의 컨테이너 도구들과 함께 동작한다. 쿠버네티스 구성요소 쿠버네티스 실습 1. 준비 작업 Virtual Box를 통해서 Master Node와 Worker Node를 2개 생성 해 주었다. Master Node는 control plane으로 워커 노드들의 상태를 관리하고 제어하는 역할을 한다. Worker Node는 도커 플랫폼을 통해서 .. 2022. 11. 16. [k8s] 프로메테우스란 무엇인가? (개념 및 아키텍쳐) Prometheus란 무엇인가? Prometheus는 SoundCloud사에서 만든 오픈소스 시스템 모니터링 및 경고 툴킷이다. ELK와 같은 로깅이 아닌, 대상 시스템으로부터 각종 모니터링 지표를 수집, 저장하고 검색하는 시스템이다. 구조가 단순해 운영이 쉽고, 강력한 쿼리 기능을 지녔으며, 그라파나를 통한 시각화를 지원한다. 이러한 간편함 때문에 특히 쿠버네티스의 메인 모니터링 시스템으로 많이 사용되며 더욱 주목을 받고 있다. Prometheus 아키텍쳐 대부분의 모니터링 도구는 각 서버에 클라이언트를 설치하고 이 클라이언트가 메트릭 데이터를 수집 해 서버로 보내면 서버가 모니터링 상태를 보여주는 방식인 PUSH 방식이다. 그러나 Prometheus는 Pull 방식을 사용하며, 서버에 클라이언트가 떠.. 2022. 11. 15. 이전 1 다음 반응형