Among Us - Yellow Crewmate '분류 전체보기' 카테고리의 글 목록 (2 Page)

전체 게시글 121

[ArgoCD] Kubernetes Cluster에 ArgoCD 배포하기

What is GitOps ?? GitOps라는 용어는 Weaveworks에서 처음 나오게 되었다. DevOps와 마찬가지로 특정 도구가 아닌 방법론이며 이름에서 알 수 있듯이 깃(Git)으로 관리(Ops)를 하겠다 라는 개념이다. DevOps를 적용하는 실천 방법 중 하나이며, Kubernetes를 대상으로 지속적 배포 (Continous Deployment)에 초점을 두고 있다. 때문에 GitOps는 빌드와 테스트를 하는 지속적 통합(Continuos Integration) 단계가 끝나고 난 후 배포하는 과정을 다루게 된다. 사람들은 Kubernetes 리소스를 코드로 변경 및 생성하거나 대시보드로 시각화 하기를 원했다. 이러한 GitOps 툴에는 Argo CD, Jenkins X, Spinnaker..

DevOps/CI CD 2021.07.02

[무중단 배포] Rolling, Blue/Green, Canary 배포

무중단 배포 DevOps 관련 공부를 하다보면 무중단 배포라는 단어가 눈에 많이 띄이는것 같다. 그래서 이번에는 무중단 배포에 대해서 한번 알아보고자 한다. 무중단 배포란? 무중단 배포는 말그대로 중단하지 않고 배포를 진행하는 것을 의미한다. 보통은 애플리케이션을 업데이트 한 뒤, 배포를 하게 될 경우 애플리케이션을 중단시키고 배포를 진행하게 된다. 이럴경우 사용자는 배포가 완료되는 시간 동안 애플리케이션 사용에 제한이 생긴다. 이렇게 서비스가 중단되는 시간을 다운타임(Downtime)이라고 하며, 이러한 다운타임을 해결하고자 생긴것이 무중단 배포이다. 무중단 배포를 하기 위해서는 두대 이상의 서버가 필수적이다. 실제로 서비스 중인 서버 1대와 새롭게 배포한 서버 1대를 사용하여 무중단 배포할 수 있다...

DevOps/CI CD 2021.06.16

[Jenkins] Jenkins에 Github를 연동하고 빌드 자동화하기

Jenkins를 이용하여 Github repository에 push 했을 때, 자동으로 빌드가 되도록 만들어보자. Jenkins와 Github를 연동하는 방법은 ID/PW를 인증하는 방식과 ssh 연동 방식이 있다. 하지만, ID/PW 인증으로 연동하는 방법은 보안상 추천하지 않기 때문에 이번 글에서는 ssh 연동하는 방식에 대해서 알아보도록 한다. 우선 이 글의 과정을 진행하기 전에, Jenkins와 Git이 미리 설치되어 있어야한다. 1. Jenkins 설치 https://potato-yong.tistory.com/117?category=853824 2. git 설치 $ yum install -y git 1. ssh 키 생성 이 글에서는 Jenkins와 Github를 ssh로 연동할 것이기 때문에, ..

DevOps/CI CD 2021.05.23

[Linux] vi 편집기 명령어 정리하기

vi 명령어는 Linux, Unix에서 사용되는 편집기를 사용하는 명령어다. vi 편집기에 대해서 살펴보도록 하자 vi 편집기는 총 3가지의 명령모드, 입력모드, 마지막 행모드로 구성되어 있다. 먼저 이 vi 편집기의 구조를 살펴보자 1. Vi 편집기 구조 1. 명령 모드 (Command mode) vi 명령어로 편집기를 시작할 시, 단축키를 사용하여 커서의 이동, 수정, 삭제, 복사 & 붙이기 등 다양한 명령을 수행할 수 있다. 입력모드에 진입한 후, 다시 명령모드로 돌아오려면 [ESC]키를 누르면 명령모드로 다시 되돌아올 수 있다. 2. 입력 모드 (Insert mode) 명령모드 상태에서 i, a, o, I, A, O 의 단축키를 입력하여 입력모드로 전환할 수 있다. 입력모드에서는 직접 글이나 코드..

Linux 2021.05.19

[ELB] ALB / NLB / CLB / GWLB

AWS ELB는 CLB , NLB , ALB 와 최근에 합류한 GWLB까지 총 4개의 종류가 있다. 각각의 LB를 상황에 맞게 사용하여 부하 분산을 해야할 때가 있는데, 어떠한 상황에 어떠한 LB를 사용하면 좋을지 각각의 특징들에 대해서 정리해보도록 하자. 1. Classic Load Balancer (CLB) CLB는 가장 오래된 로드밸런서로 ELB의 가장 기본적인 형태라고 말할 수 있다. 현재는 잘 쓰이지 않는 추세라고 한다. L4 계층부터 L7계층까지 로드밸런싱이 가능하다. TCP, SSL, HTTP, HTTPS 등 다양한 프로토콜을 수용할 수 있고, Sticky Session 의 기능도 제공한다. CLB는 하나의 URL만 가질 수 있다. 2. Network Load Balancer (NLB) 이름..

AWS/용어 2021.05.16

[Code Pipeline] EKS와 Code Pipeline를 사용하여 CI/CD 구축하기

이번에 해볼 실습은 지난 글에서 구축했던 EKS 클러스터를 사용하여 AWS Code Pipeline로 CI/CD를 구축하고 이벤트가 발생할 때마다 Slack으로 사용자에게 알람 메시지가 수신되도록 해보는것이다. 아직 EKS 클러스터가 구성되어 있지 않다면 https://potato-yong.tistory.com/126?category=853010 글로 가서 생성해주고 오도록 하자 위의 아키텍쳐를 순서대로 나열해보면 1. User가 Git Repository에 Push 2. Git Repository에 있는 소스 코드 빌드 3. Docker 이미지를 ECR에 업로드 4. ECR에 있는 Docker 이미지를 EKS 클러스터에 배포 5. Pipeline 이벤트 (Success/Fail) 발생 시, Cloud ..

DevOps/CI CD 2021.05.07

[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

[CodePipeline] Build 단계에서 ECR 로그인 실패...

EKS와 Code Pipeline을 활용한 CI/CD 를 구축하려고 하는데 계속 Build 단계에서 오류가 난다.. 오류 내용은 아래와 같다. PRE_BUILD 단계에서 도커 이미지파일을 업로드하고 다운받을 수 있도록 AWS ECR에 로그인 하도록 아래와 같이 ECR에 로그인하는 명령어를 입력해주었는데 계속 Failed 이 나온다... aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/ 혹시 ECR에 로그인하는 명령어가 틀린건가?? 싶어서 다른 환경에서 시도해봤는데 제대..

Trouble Shooting 2021.04.29

[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

[k8s] kubeadm join 안되는 문제

kubeadm으로 k8s 클러스터 구성하는 과정에서 kubeadm join 으로 워커노드를 클러스터에 조인시키려고 하는데 다음과 같은 에러가 나오면서 조인이 되지않았다. error execution phase preflight: couldn't validate the identity of the API Server kubeadm 설치 가이드에 나와있는데로 방화벽 포트도 열어주고,, master 노드로 핑도 잘 간다.. 에러메시지를 토대로 구글링을 계속 해봤는데 주로 나오는 답변들은 master 노드 reboot를 한다거나 , systemctl stop firewalld 로 방화벽 끈다거나, kubeadm reset 하고 처음부터 다시 한다거나,,, 이러한 답변들이 많이 나왔는데 나한테 해당하는 사항은 없..

Trouble Shooting 2021.04.25