Among Us - Yellow Crewmate 'DevOps' 카테고리의 글 목록 (2 Page)

DevOps 30

[k8s] kubernetes에 Prometheus와 grafana 연동하여 모니터링하기

prometheus를 통해서 kubernetes 클러스터를 모니터링 하는 방법과 grana로 대쉬보드 생성하는 방법에 대해 알아보자. 1. Prometheus 란? Prometheus는 현재 kubernetes 모니터링에 가장 많이 사용되고 있는 오픈 소스 기반 모니터링 시스템이다. CNCF에 소속되어 있으며, k8s 클러스터 및 컨테이너들을 손쉽게 모니터링 할 수 있다. 1. Prometheus 특징 promQL 쿼리 언어를 사용한다. Grafana 같은 대쉬보드 시스템을 이용하여 대쉬보드로 측정 값을 모니터링 할 수 있다. 메트릭 이름과 key-value 형태로 식별되는 시계열 데이터를 제공한다. 경고(Alert)와 룰셋(Ruleset)을 만들 수 있다. 2. Prometheus 구조 모니터링을 하기..

DevOps/Kubernetes 2021.05.01

[EKS] AWS EKS를 사용하여 클러스터 구성하기

이번에 해볼것은 AWS EKS를 사용해서 클러스터를 구성해 볼 것이다. EKS를 사용해서 클러스터 구성하는 방법은 다음과 같다. 1. eksctl 사용하기 2. AWS Management Console 사용하기 이번에 내가 사용할 방법은 AWS Management Console 사용하여 구성할 것이다. 이 실습의 진행순서는 다음과 같다 1. AWS CLI 설치하기 2. AWS CLI Configure 구성 3. Kubectl 설치하기 4. EKS 클러스터 IAM 역할 생성 5. EKS 워커노드 IAM 역할 생성 6. VPC 및 서브넷 생성 7. EKS 클러스터 생성 8. kubeconfig 생성 9. 노드 그룹 생성 1. AWS CLI 설치하기 로컬환경에 AWS CLI를 설치하자. AWS CLI를 사용해..

DevOps/Kubernetes 2021.04.26

[Ansible] Ansible 개념 정리 및 설치

1. Ansible ? 서버를 효율적으로 관리할 수 있게 해 주는 오픈 소스 IT 자동화 도구이다. 간혹 Ansible과 Terraform을 동일선상에서 보는 분들이 계시는데, Terraform과는 엄연히 다른 툴이고, 사용 목적이 다르다. 2. Ansible 특징 yaml 파일 형식으로 playbook 작성 Agentless - 별도의 Agent가 필요하지 않다 멱등성을 가지고 있어서 여러번 수행하더라도 결과가 바뀌지 않는다. 3. Ansible 구성요소 1. Inventory (인벤토리) Inventory 는 일반적으로 호스트를 정의한 파일을 의미한다. 호스트는 단독으로도 정의 할 수 있으며 그룹으로도 정의 가능하다. # 인벤토리 작성 예제 [webservers] localhost web1.examp..

DevOps/Ansible 2021.04.24

[kubenetes] Kubeadm 사용하여 K8s 클러스터 구성하기

Kubeadm ? kubeadm은 kubenetes Cluster를 빠르게 구성하도록 만들어진 도구이다. 이번 글에서는 Kubeadm을 사용하여 k8s 클러스터를 구성하는 과정에 대해서 알아보도록 할 예정이다. kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/_print/#pg-4c656c5eda3e1c06ad1aedebdc04a211 kubeadm으로 클러스터 구성하기 운영 수준의 컨테이너 오케스트레이션 kubernetes.io 위의 링크는 Kubeadm 설치하는 공식 문서이다. 1. 시작하기전 구성... * 권장 사양 : CPU 2코어 , RAM 2GB 이상 * kubenetes 구성 요소가 사용하는 포트에 대해 방화벽 오픈 -마스터..

DevOps/Kubernetes 2021.04.24

DevOps 와 SRE 비교

어느 날 지인을 만났는데, 본인을 SRE팀이라고 소개하였다. SRE라는 단어를 처음 들었던 나는 도대체 SRE가 뭐하는 팀인가 궁금해졌다. 검색 결과 SRE와 DevOps의 차이를 비교하는 글들을 여럿 찾아볼 수 있었다. 하지만, 여러 글들을 찾아보면서도... 차이가 잘 이해가 가지 않는 것 같아서 직접 정리하면서 이해해보려고 한다.. 1. DevOps (Development + Operations) DevOps란 말 그대로 Development와 Operations의 합성어이다. 개발팀과 운영팀을 나누지 않고 병합하여, 엔지니어가 개발에서 테스트, 배포, 운영까지 모두 수행하는 것을 말한다. 개발팀은 개발에 치중하고, 운영팀은 운영에 치중하기 때문에 때로는 이해 관계가 불일치해서 트러블이 생기는 경우가..

DevOps 2021.04.22

[kubernetes] 쿠버네티스의 구성요소 ! (Controller)

쿠버네티스를 구성하는 요소에는 객체와 컨트롤러가 있다. 지난 게시물에서 객체에 대해서 간단히 알아보았고, 이번에는 컨트롤러에 대해서 알아보도록 하자. 컨트롤러란? Pod를 관리하는 역할을 한다. Pod를 어떻게 관리하느냐에 따라서 쿠버네티스에서 제공하는 컨트롤러를 사용한다. 2. 컨트롤로의 종류는? ReplicaSet, Deployment, DaemonSet, StatefulSets, Job이 있다. 3. 각 컨트롤러를 관리 목적에 맞게 분류 3-1. 상태를 유지하지 않아도 되는 파드를 관리 (Stateless) - ReplicaSet, Deployment 3-2. 상태를 유지해야 하는 파드를 관리 (Stateful) - StatefulSet 3-3. 클러스터 전체에 배포가 필요한 파드를 관리 - Dae..

DevOps/Kubernetes 2021.04.20

[Jenkins] AWS EC2에 Jenkins를 설치해보자

Jenkins란 무엇일까? 젠킨스는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 CI (Continuous Integration) 툴이다. 개발자가 개발을 하면서 소스 코드를 서버에 올릴 수 있는 상태로 만드는 것을 '빌드' 라고 하고, 서버에 올린 뒤 사용자가 사용할 수 있게 하는 것은 '배포'라고 한다. 개발자는 코드를 계속 업데이트 해나가면서 여러번의 빌드를 거쳐나가게 되는데, 시간이 지날수록 굉장히 번거롭게 되고 빌드하는 시간 또한 오래걸린다. 이러한 이유로 빌드를 자동화 시키는 작업을 할 필요가 있게 된다. 젠킨스는 이러한 빌드를 자동화 시켜주는 도구이다. Jenkins 설치하기 AWS EC2에서 Amazon linux2를 띄우고 젠킨스를 설치해보자 1. sudo yum -y updat..

DevOps/CI CD 2021.04.13

[Terraform] 테라폼 모듈

Terraform을 사용하면 인프라를 코드로 만들어서 관리할 수 있다. 인프라를 코드로 만들어 관리하는 것은 매우 효율적인데, 운영적인 측면에서는 빠르게 인프라를 배포하고 한번 작성한 코드를 통해서 이후에 발생하는 반복적인 작업을 줄일 수 있다. 개발적인 측면에서 개발자는 인프라를 코드로 관리하며 개발에 좀 더 집중할 수 있게 된다. 실제 운영 환경에서는 [ 개발 - 테스트 - 운영 ] 의 단계를 거치게 된다. Devlopment (dev) : 개발자들이 테스트하는 단계 Staging (stg) : 개발 테스트 이후 통합 테스트 단계 Production (prd) : 실제 사용자들이 사용하는 운영 단계 각 단계마다 소스 코드가 다르지만 참조를 하거나 재사용하는 경우가 많다. 재사용하는 방법으로는 소스 코..

DevOps/Terraform 2021.04.06

[Terraform] Terraform으로 AWS 웹서버 인프라 자동화하기

이전에 AWS로 3티어 아키텍처를 설계하여 웹서버를 구축 했었는데, 프리티어에서 작업 하다보니 인프라들을 계속 지웠다가 생성했다가 해줘야하는 번거로움이 있었다. 때문에 Terraform으로 인프라들을 코드화시켜 생성 및 삭제를 자동화 시켜보기로 했다. 아래 그림은 구축했던 아키텍처이다. 이 아키텍처를 바탕으로 AWS 인프라를 Terraform으로 코드화 시켜보자 구성하기 전에.. 1. Terraform이 설치되어 있어야 한다. 2. aws cli로 미리 access key 인증을 해줘서 provider에 key값이 들어가지 않도록 해준다. 3. 코드 작업은 Visual Studio Code에서 해준다. 1. Provider 지정 provider : aws를 프로바이더로 지정 region : aws의 ap..

DevOps/Terraform 2021.04.04

[Terraform] Terraform 개념 다지기

1. Terraform ? Terraform은 Hashicorp에서 오픈소스로 개발중인 IaC (Infrastructure as Code)이다. IaC는 코드로 인프라를 관리하고 프로비저닝 하는 도구이다. 매번 동일한 환경의 인프라를 계속 만드는것 보다 코드로 된 파일을 사용하여 인프라 생성을 자동화하여 효율적으로 업무를 진행할 수 있다. 현재 퍼블릭 클라우드가 대세가 되면서 Terraform같은 IaC는 선택이 아니라 필수라고 생각한다. AWS에도 Terraform과 비슷한 Cloudformation 이라는 서비스가 있지만 Cloudformation은 AWS에 종속적이고, Terraform은 AWS,GCP,Azure 등 어느 환경에서든 사용가능하다는 큰 장점이 있다. Terraform에서 코드로 인프라..

DevOps/Terraform 2021.03.28