728x90

전체 글 67

Tekton CI/CD 활용한 지속적 통합 및 배포

Tekton CI/CD 활용한 지속적 통합 및 배포 Tekton CI/CD는 클라우드 네이티브 환경에서 애플리케이션 개발 및 배포를 자동화하기 위한 오픈소스 프레임워크입니다. Kubernetes 위에서 실행되며, 컨테이너 기반 워크로드를 처리하기 위한 도구로 설계되었습니다. Tekton은 파이프라인을 기반으로 작동하며, 각 단계를 컨테이너로 패키징하여 실행합니다. 이를 통해 애플리케이션의 빌드, 테스트, 이미지 빌드, 배포 등의 작업을 자동화할 수 있습니다. Tekton CI/CD 장점 1. 유연성: Tekton은 파이프라인의 작업 단계를 세분화할 수 있어 매우 유연합니다. 각 단계는 컨테이너로 실행되므로, 언어나 도구에 구애받지 않고 작업을 정의할 수 있습니다. 2. 확장성: Tekton은 Kubern..

Kubernetes 2023.07.17

Buf 사용하여 Protobuf 빌드하기

Buf 사용하여 Protobuf 빌드하기 Protobuf(Protocol Buffers)는 구조화된 데이터 직렬화를 위한 Google의 개방형 프로토콜입니다. Protobuf를 사용하여 프로토콜 버퍼 파일(.proto)을 컴파일하려면 protoc라는 컴파일러를 사용해야 합니다. Buf는 Protobuf 파일을 빌드하고 유지 관리하기 위한 도구입니다. Buf는 protoc보다 좀 더 진보된 기능을 제공하며, 코드 생성, 문법 검증, Linting, 의존성 관리 등을 지원합니다. protoc를 대신하여 Buf를 사용하면 protoc 파일을 컴파일 하기위한 스크립트를 yaml로 관리할 수 있고, language별로 빌드하는 경우에도 protoc를 사용하는 것보다 쉽게 관리할 수 있습니다. Buf 설치 $ br..

Protocol Buffers 2023.07.17

Fluent Bit - Kubernetes Filter를 사용하여 POD 로그 제외하기

Fluent Bit - Kubernetes Filter를 사용하여 POD 로그 제외하기 kubernetes에서 fluent-bit를 사용하여 로그를 CloudWatch 또는 다른데로 전송할때 특정 POD로그를 제외하는 방법입니다. fluent-bit의 kubernetes filter가 제공해주는 기능이고, fluent-bit가 지정된 로그파일을 읽지만 output 설정을 통한 전송은 하지 않습니다. Fluent Bit 설정 아래의 예제는 output을 AWS cloudwatch로 설정하였습니다. kubernetes filter에서 K8S-Logging.Exclude 설정은 On으로 설정해야합니다. [SERVICE] Flush 5 Log_Level info Daemon off HTTP_Server on H..

Kubernetes 2023.07.14

ClickHouse Table - Column Size

ClickHouse Table - Column Size ClickHouse Table - Column Size 구하는 쿼리입니다. ClickHouse Table Size 아래의 쿼리를 실행하면 테이블별 사이즈를 확인할 수 있고, 압축된용량과 압축해제시용량을 확인 할 수 있습니다. SELECT database, table, formatReadableSize(sum(data_compressed_bytes) AS size) AS compressed, formatReadableSize(sum(data_uncompressed_bytes) AS usize) AS uncompressed, round(usize / size, 2) AS compr_rate, sum(rows) AS rows, count() AS part..

ClickHouse 2023.06.27

Kubernetes shareProcessNamespace

Kubernetes shareProcessNamespace Kubernetes shareProcessNamespace는 동일한 Pod 내의 여러 컨테이너가 하나의 프로세스 네임스페이스를 공유하게 해주는 기능입니다. 이를 통해 컨테이너 간에 프로세스를 공유하고 상호작용할 수 있게 되며, 디버깅 및 모니터링 작업을 더욱 용이하게 합니다. 프로세스 네임스페이스란 리눅스 시스템에서 프로세스를 격리하고 서로의 프로세스 목록을 볼 수 없게 하는 메커니즘입니다. Kubernetes shareProcessNamespace를 사용하려면, Pod 스펙(spec)에서 shareProcessNamespace 필드를 true로 설정해야 합니다. 이 기능을 사용할 때는 보안과 호환성 문제에 주의해야 하며, 프로세스 간 격리가 이..

Kubernetes 2023.03.30

AWS ECR Multi-Architecture 이미지 관리하기

AWS ECR multi architecture 이미지 관리하기 Amazon Elastic Container Registry (AWS ECR)는 AWS에서 제공하는 컨테이너 이미지 저장소 서비스입니다. 멀티 아키텍처(Multi-Architecture)를 사용하면 다양한 CPU 아키텍처를 사용하는 시스템에서 동일한 컨테이너 이미지를 사용할 수 있습니다. Multi-Architecture 이미지란? Multi-Architecture 이미지는 여러 CPU 아키텍처에 대응하는 컨테이너 이미지를 포함하는 이미지입니다. 예를 들어, 동일한 애플리케이션에 대해 AMD64와 ARM64 아키텍처를 모두 지원하는 경우 하나의 이미지로 관리할 수 있습니다. 이렇게 하면 시스템 관리자와 개발자가 아키텍처별로 별도의 이미지를 ..

AWS 2023.03.29

AWS VPC Endpoint (AWS PrivateLink)의 이해와 활용 방법

AWS VPC Endpoint (AWS PrivateLink)의 이해와 활용 방법 AWS VPC Endpoint(AWS PrivateLink)의 개념, 활용 방법 및 구성 방법에 대해 자세히 살펴봅니다. VPC Endpoint를 사용하면, 인터넷 게이트웨이나 NAT 게이트웨이를 사용하지 않고도 AWS 서비스에 안전하게 액세스 할 수 있습니다. AWS VPC Endpoint란? AWS VPC Endpoint(AWS PrivateLink)는 AWS VPC 내의 인스턴스와 AWS 서비스 간의 통신을 위한 프라이빗 연결입니다. AWS VPC Endpoint(AWS PrivateLink)를 사용하면 인터넷 게이트웨이, NAT 게이트웨이, VPN 연결 등을 사용하지 않고도 VPC 내부에서 AWS 서비스와 통신할 수..

AWS 2023.03.23

Kubernetes podAntiAffinity

Kubernetes podAntiAffinity Kubernetes podAntiAffinity는 Pod을 배포할 때, 특정 조건에 따라 서로 다른 노드에 Pod 스케줄 되도록 지정하는 방법입니다. 이를 통해 노드에 동일한 애플리케이션 또는 작업이 과도하게 집중되는 것을 피할 수 있으며, 노드 장애 시 애플리케이션의 가용성을 높일 수 있습니다. Kubernetes podAntiAffinity는 두 가지 유형이 있습니다. preferredDuringSchedulingIgnoredDuringExecution와 requiredDuringSchedulingIgnoredDuringExecution 두 유형의 차이점은 다음과 같습니다. preferredDuringSchedulingIgnoredDuringExecut..

Kubernetes 2023.03.23

Kubernetes Headless Service

Kubernetes Headless Service Kubernetes Headless Service는 클러스터 내의 동일한 작업 집합의 파드에 대한 서비스 디스커버리를 제공하는 데 사용되는 특별한 종류의 Kubernetes 서비스입니다. 기본 Kubernetes 서비스와는 다르게, kubernetes headless service는 로드 밸런싱을 위한 클러스터 IP를 제공하지 않습니다. 대신, 헤드리스 서비스는 각 파드에 대해 고유한 네트워크 주소를 제공하고, 이를 통해 클라이언트가 직접 파드와 통신할 수 있습니다. 1. statefulset: 헤드리스 서비스는 stateful 애플리케이션에 적합하며, 각 파드가 고유한 데이터를 저장하거나 처리해야 하는 경우에 유용합니다. 예를 들어, 분산 데이터베이스 ..

Kubernetes 2023.03.21

ChatGPT 활용하기

ChatGPT 활용하기 ChatGPT란 최근 몇 년 동안 인공지능(AI) 기술이 급격하게 발전하면서, 일상생활에서 다양한 분야에서 활용되고 있습니다. ChatGPT는 OpenAI에서 개발한 대화형 인공지능 언어 모델입니다. 자연어 처리(NLP) 기술을 바탕으로 수많은 데이터를 학습하여 사용자와 대화를 나누며 문제 해결, 정보 제공, 창의적인 콘텐츠 작성 등 다양한 기능을 수행할 수 있습니다. 인터넷상의 대규모 텍스트 데이터를 학습하였기 때문에 광범위한 주제에 대해 대화를 나눌 수 있습니다. ChatGPT 활용하기 ChatGPT를 활용하여 다양한 작업을 수행할 수 있습니다 1. 정보 검색: 다양한 주제에 대한 질문에 답하거나, 정보를 찾아서 사용자에게 제공합니다. 2. 학습 도움: 과제 해결, 개념 설명,..

etc 2023.03.19
728x90