본문 바로가기

INFRA/DevOps144

Git Branch의 개념과 활용 베하~~ 반갑습니다!! 인사통의 BTC_김회장, 최총무입니다!! 오늘 함께할 내용은 Git의 기능중 하나인 Git Branch에 대해서 알려드릴게요~ 간단한 개념과 실무에서의 활용 내용에 대해서도 알아보자구요! 개요 Git Branch의 개념 Git Branch의 활용방안 Git Branch의 개념 Git은 소스 코드의 버전 관리를 위한 도구로, 여러 개발자들이 동시에 작업을 할 수 있게 해주는 도구입니다!! Git Branch는 이러한 작업 환경에서 특정 기능이나 수정 사항을 독립적으로 관리할 수 있게 도와줍니다~ 간단하게 말하면, branch는 프로젝트의 독립적인 복사본이라고 생각할 수 있습니다. 기본적으로 모든 Git 프로젝트에는 master branch가 있으며 새로운 branch를 생성하여 작업.. 2023. 9. 1.
[DevOps]EC2 Ubuntu에 Jenkins 설치 베하~~ 안녕하세요 픠식팀 입니다. 이번 포스팅에서는 EC2 인스턴스에 Jenkins 설치 방법을 알아보겠습니다~! 우선 Jenkins를 설치하기 위해서는 Java 11 이상 버전이 필요합니다. Java 11 설치 sudo apt install openjdk-11-jdk -y Jenkins 설치 ### KEY 등록 curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \ /usr/share/keyrings/jenkins-keyring.asc > /dev/null ### apt repository 추가 echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ https://pk.. 2023. 8. 30.
[K8S] NodeSelector 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 NodeSelector에 대해 알아보겠습니다! NodeSelector 쿠버네티스에서는 특정한 노드(들) 집합에서만 동작하거나 특정한 노드 집합에서 동작하도록 파드를 제한할 수 있어요. 이를 수행하는 방법에는 여러 가지가 있는데 권장되는 방식은 모두 레이블 셀렉터를 사용해서 선택을 편리하게 해요. 보통은 스케줄러가 자동으로 배치를 효율적으로 하기때문에 이런 제약 조건을 설정할 필요가 없어요. 하지만, 예를 들어 SSD가 장착된 머신에 파드가 배포되도록 하거나 많은 통신을 하는 두 개의 서로 다른 서비스의 파드를 동일한 가용석 영역에 배치하는 경우와 같이, 다양한 상황에서 파드가 어느 노드에 배포될지를 제어해야 하는 경우가 있어요. nodeSelect.. 2023. 8. 29.
[K8S] Ingress 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Ingress에 대해 알아보겠습니다! Ingress 일반적으로 네트워크에서는 Ingress와 Egress로 트래픽을 구분해요. Ingress는 외부에서 내부 서버로 들어오는 네트워크 트래픽을, Egress는 내부 서버에서 외부로 나가는 트래픽을 의미한답니다. 쿠버네티스에서도 Ingress라고 하는 리소스가 존재하는데요. 쿠버네티스의 Ingress는 외부에서 쿠버네티스 클러스터 내부로 들어오는 네트워크 트래픽을 어떻게 처리할지 정의한답니다. 쿠버네티스에서 실행중인 Deployment와 Service에 접근하기 위한 외부 요청을 처리하는 리소스들이 있는데요. NodePort, ExternalIP, Ingress 등이 있습니다. NodePort와 Ext.. 2023. 8. 19.
[DevOps] CI/CD 개념 및 도구 설명 베하~~ 안녕하세요 항상 웃음이 나는 픠식팀 입니다. 이번 포스팅에서는 CI/CD란 무엇인지, 그리도 CI/CD에 사용되는 도구에 대한 장단점을 알아보겠습니다! CI/CD(Continuous Integration/Continuous Delivery) 란? CI/CD (Continuous Integration/Continuous Delivery)는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "통합 지옥(integration hell)")를 해결하기 위한 솔루션입니다. CI/CD에 대한 개념을.. 2023. 8. 18.
[K8S] Service 베하~! BTC_녹차공원 팀의 하동녹차 입니다. Kubernetes Service에 대해 알아보겠습니다! 쿠버네티스 서비스(Service) 쿠버네티스 서비스(Service)는 쿠버네티스 클러스터 내에서 실행 중인 파드에 접근하기 위한 추상화된 리소스입니다. 파드는 유동적으로 생성되고 삭제되며 IP 주소가 변경될 수 있기 때문에, 직접 파드의 IP 주소로 접근하는 것은 번거로운 작업입니다. 서비스는 이러한 문제를 해결하여 파드에 고정된 가상 IP 주소를 제공하고, 그 IP 주소를 통해 파드에 접근할 수 있도록 합니다. 이를 통해 클라이언트나 다른 파드가 서비스를 통해 파드와 통신할 수 있습니다. 쿠버네티스 서비스(Service) 기능과 특징 1. 클러스터 내부 서비스: 기본적으로 서비스는 클러스터 내부에서.. 2023. 8. 1.
[K8S] NetworkPolicy 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 NetworkPolicy에 대해 알아보겠습니다! NetworkPolicy NetworkPolicy는 쿠버네티스에서 제공하는 일종의 방화벽 정책으로 Pod가 서로 통신할 때 방화벽 설정을 할 수 있어요. Pod에 대해 인바운드(Inbound traffic), 아웃바운드(Outbound traffic)에 대해 설정을 해줄 수 있답니다 !! Network Policy 에는 Inbound 에 해당하는 ingress 설정과 Outbound에 해당하는 Egress 설정이 있어요. Inbound 는 외부에서 특정 Pod의 내부로 들어오는 트래픽에 대한 방화벽 설정으로 어떤 트래픽에 Pod로 들어올것인지 설정하는 부분이랍니다. Outbound 는 특정 Pod에서.. 2023. 8. 1.
[K8S] Node Upgrade 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Node Upgrade 하는 방법에 대해 알아보겠습니다! Node Upgrade 쿠버네티스는 활발하게 유지 보수가 되며 클라우드 CSP (AWS, Azure, GCP) 들의 호환성 개선도 포함되기 때문에 이에 맞춰 주기적으로 업그레이드를 해주어야합니다. 쿠버네티스에서는 업그레이드 할 때 한 버전씩만 업그레이드 하는 것이 권장되고있습니다. 만약 v1.10에서 v1.13으로 업그레이드를 해야한다면 v1.10 -> v1.13이 아닌 v1.10 -> v1.11 -> v1.12 -> v1.13 으로 업그레이드를 해야합니다. 실무에서 운영중인 클러스터를 업그레이드 해야 할 때 안전하게 업그레이드 하는 방법이 무엇일까요? 1. 새로운 Node를 추가할 경우 -.. 2023. 7. 20.