분류 전체보기 153

[K8s] Kubernetes LivenessProbe와 ReadinessProbe와 어플리케이션 안정성 강화하기

LivenessProbe왜 필요한지? 어플리케이션을 운영하는 과정에서 어플리케이션의 상태를 지속적으로 모니터링하고, 어플리케이션의 비정상 동작을 빠르게 감지하여 안정적인 서비스를 제공하는 것은 매우 중요합니다. 어플리케이션이 장애 상태에 빠지면 서비스 중단 및 고객 불만을 초래할 수 있기 때문에, 이러한 문제를 사전에 예방하고 빠르게 대응하기 위해 Kubernetes의 LivenessProbe와 Spring Boot Actuator를 사용합니다. 특징 어플리케이션의 생존 여부를 체크하는데 사용됩니다. 주기적으로 어플리케이션의 상태를 확인하고, 응답이 오지 않거나 오류가 발생한 경우 해당 POD를 재시작합니다. 어플리케이션이 예상되는 문제 또는 무한 루프, 데드락 등으로 인해 정상적으로 동작하지 않을 때 ..

DevOps/k8s 2023.07.27

[K8s] Kubernetes(K8s)의 기본 개념과 용어: POD, 서비스, kubelet

POD 왜 필요한지? Kubernetes에서 POD는 가장 기본적인 배포 단위입니다. 컨테이너들의 묶음으로, 하나의 POD 안에 여러 개의 컨테이너가 함께 실행됩니다. POD의 주요 목적은 서로 연관된 컨테이너들을 함께 배치하여 서비스 간의 통신과 데이터 공유를 간편하게 만들기 위함입니다. 또한 POD는 독립적인 네트워크 IP를 가지고 있기 때문에 개별적인 주소를 통해 접근 가능합니다. 특징 여러 개의 컨테이너를 하나의 논리적 단위로 묶어서 실행합니다. 공유하는 네트워크 네임스페이스와 볼륨을 사용하여 서로 통신하고 데이터를 공유할 수 있습니다. 하나의 노드에서 여러 개의 POD를 실행하며, 여러 노드에 분산 배포할 수 있습니다. 템플릿 예제 yamlCopy code apiVersion: v1 kind: ..

DevOps/k8s 2023.07.27

[AWS] VPC(Virtual Private Cloud)를 활용한 네트워크 구성 및 보안 설정 W. TERRAFORM 예제

AWS VPC는 클라우드 환경에서 가상 네트워크를 구축하고 관리할 수 있는 서비스이다. 이를 통해 사용자는 가상의 프라이빗 클라우드를 생성하고, 리소스를 격리하며 네트워크 구성을 세밀하게 제어할 수 있다. 이번 글에서는 AWS VPC의 구성 요소와 주요 개념과 실제 예시를 통해 자세히 살펴보도록하자. Internet Gateway in AWS 인터넷 게이트웨이는 AWS(Virtual Private Cloud) VPC 환경에서 인터넷과의 통신을 가능하게 하는 서비스이다. VPC 내부의 리소스가 인터넷과 통신하기 위해서는 인터넷 게이트웨이가 필요하다. 이를 통해 VPC 내부의 인스턴스들은 인터넷으로 향하는 트래픽을 주고받을 수 있다. VPC 연결: VPC와 인터넷 게이트웨이 간의 연결은 하나의 VPC에 하나..

DevOps/aws 2023.07.13

[Terraform] Terraform 시작하기 feat. EC2 기본 Code

Terraform 시작하기테라폼은 다양한 클라우드를 제공하고 있는 AWS, Azure, Google Cloud 리소스를 코드를 통해 온프레미스 시스템을 지원하며, 여러 리소스(가상 머신, 네트워크, 데이터베이스)를 프로비저닝할 수 있다. 테라폼 설치테라폼은 공식 웹사이트(https://www.terraform.io/downloads.html) 다운로드할 수 있다.압축 파일을 압축 해제한 후, 실행 파일을 실행 가능한 경로에 배치한다.설치가 성공적으로 완료되었는지 확인하기 위해 terraform version 명령을 실행하여 테라폼 버전을 확인한다. 테라폼 기본 개념테라폼 코드: 테라폼을 사용하여 인프라를 관리하기 위해 작성하는 코드로 HCL(HashiCorp Configuration Language)이라..

DevOps/terraform 2023.07.13

[AWS] IAM과 Linux Ubuntu환경에 AWS CLI 설치

빛나는 8GB 맥북을 사용하기 위해 AWS EC2에 linux Ubuntu를 설치하여 linux를 학습하고 있다. 오늘은 AWS IAM에 대해 알아보고 AWS CLI를 Linuc Ubuntu 환경에 설치해보겠다. IAMglobal serviceIdentity access management유저를 만들고 그룹에 할당이 가능하다.default root user를 만들고 절대 공유하면 안된다.IAM에서 유저를 생성하고 그 유저는 조직내의 한 사람을 의미한다.그리고 사용자가 합이 맞으면 그룹화가 가능그룹은 컨테이너 사용자만 가능하고 다른 그룹은 불가 IAM 사용자를 생성하고 그룹에 권한을 부여하는 단계 AWS Management Console에서 Identity and Access Management(IAM) ..

DevOps/aws 2023.05.17

[컴퓨터구조] 진법 변환의 실무 활용 예시

오늘 컴퓨터 구조를 공부하다가 문득 궁금한게 생겼다. 진법변환(이진법, 16진수)를 활용하여 실무에 활용하는 일이 있을까?! 이런의문.. 웹개발자, 백엔드 개발자로 근무하면서 진법변환과 같은 지식들이 필요했던적이 없던걸로 기억한다. 초반에 개념적인 부분들이 많다보니까 중요도를 부여하는게 잘안되는것 같다..! 하지만 알아보니, 진법 변환같은 경우는 실무에선 거의 쓰이지 않지만 아주 low-level에서는 쓰이기도 한다고 한다. network를 subnet을 나눌때도 사용하기도 한다. 컴퓨터는 결국 0과 1로 동작한다고 설명을 하지만 쉽게 얘기하면 결국 회로에 전기가 흐르냐/아니냐에 따라 1과 0으로 표시된다고 이해하면 될 것 같다. 컴퓨터 공학에서 진법 변환이란, 하나의 진법에서 다른 진법으로 수를 변환하..

네트워크와 CS 2023.05.10

[컴퓨터구조]C언어 내부적 컴파일 과정

지난 1년간 실무를 경험하면서 부족했던 근본지식을 채우고 내 머릿속 컴퓨터 지식들을 도식화하기 위해 컴퓨터 구조와 운영체제를 공부하고있다. 아마 웹/앱개발을 한 사람이라면, 이미 C언어보다는 다른 프로그래밍 언어를 주로 다루고 있을 가능성이 높겠지만. C언어는 다른 프로그래밍 언어의 기반이 되는 언어이기도하다. C언어 내부적 컴파일 과정을 이해하면, C언어의 작동 방식과 이를 이용한 프로그래밍 기법을 이해할 수 있게 된다. 그렇다고 갑자기 C언어를 메인언어로 갈예정은 전혀 아니다. 컴퓨터 구조를 이해하기 위해 공부하는 것이다. 개발 시 컴파일 에러 메시지를 이해하고 수정하는 데 깊은 이해 덕분에 도움이 될것같다. C언어 내부적 컴파일 과정에 대해 알아보도록 하자. C 언어 소스 코드를 컴파일하여 실행 파..

네트워크와 CS 2023.05.09

[Kafka] Python에 kafka 활용한 간단예제 ft.Event-driven microservices

파이썬에서는 kafka-python이라는 라이브러리를 통해 카프카를 활용할 수 있다. kafka-python 라이브러리를 설치 명령어 pip install kafka-python 다음은 kafka producer 예제이다. producer.send() 함수를 사용하여 토픽에 메시지를 전송할 수 있다. pythonCopy code from kafka import KafkaProducer # 카프카 서버 정보 설정 bootstrap_servers = ['localhost:9092'] # 프로듀서 생성 producer = KafkaProducer(bootstrap_servers=bootstrap_servers) # 메시지 전송 producer.send('my_topic', b'message from pytho..

DevOps/kafka 2023.05.08

[Kafka] 빅데이터 플랫폼: hadoop, spark, kafka의 역할과 데이터 아키텍쳐

데이터 플랫폼은 대용량 데이터를 수집, 저장, 처리, 분석할 수 있는 통합 플랫폼을 의미한다. 이를 위해 다양한 기술과 솔루션이 활용될 수 있으며, 하둡, 스파크, 카프카는 데이터 플랫폼 구성에서 가장 많이 사용되는 기술 중 하나이다. 하둡은 대규모 데이터를 분산 처리할 수 있는 분산 파일 시스템(HDFS)과 분산 컴퓨팅 프레임워크(MapReduce)를 제공한다. 스파크는 하둡 기반의 분산 처리 엔진으로, 메모리 기반의 빠른 처리 속도와 다양한 데이터 소스 지원 등을 특징으로 한다. 카프카는 대용량 실시간 데이터 스트리밍 플랫폼으로, 다양한 소스로부터 데이터를 수집하고, 다양한 대상에 데이터를 전송할 수 있다. 이러한 기술들이 데이터 플랫폼 구성에서 주요한 역할을 하고 있다. 여기서 관계형데이터베이스와 ..

DevOps 2023.05.08