DevOps 문화와 컨테이너 기술에 관한 전문 지식을 공유합니다. kt cloud의 인프라 환경에서 최적화된 CI/CD, 쿠버네티스, 도커 활용 방법을 소개합니다.

Tech Story/DevOps & Container 42

What is DevOps? - Github Action

[kt cloud DevOps팀 이효원 님] What is DevOps? - Github Action 1. Github 구성 요소Github은 소스 코드 관리를 넘어, 개발자와 팀이 협업하고 프로젝트를 관리하는 다양한 도구를 제공하는 플랫폼입니다.Github은 크게 Organization, Team, Repository로 구성됩니다. 1-1. OrganizationGithub Organization은 여러 팀과 프로젝트를 효율적으로 관리할 수 있는 Github의 그룹 단위입니다.기업이나 큰 팀의 경우, Organization을 생성해 프로젝트와 리소스를 통합 관리할 수 있습니다.Organization은 다음과 같은 기능을 제공합니다.중앙 관리: 조직 내 모든 사용자와 Repository를 중앙에서 관리할..

What is DevOps? - DevOps & CI/CD

[tk cloud DevOps팀 이효원 님] What is DevOps? - DevOps & CI/CD 1. DevOps란DevOps는 Development(개발)와 Operations(운영)의 합성어로,소프트웨어 개발과 IT 운영 팀 간의 협업을 강화하여 지속적인 통합(CI)과 지속적인 배포(CD)를 가능하게 하는 문화 및 철학을 의미합니다.개발 주기 동안 모든 팀이 같은 목표를 추구하고, 장애물 없이 빠르고 안정적인 배포를 위해 긴밀하게 협력하는 것을 목표로 합니다.  기존에는 개발팀과 운영팀이 서로 독립적으로 작업하는 경우가 많았습니다.하지만 DevOps는 이 두 팀이 소통과 협업을 통해 함께 문제를 해결하고,궁극적으로 더 높은 품질의 소프트웨어를 더 빠르고 안정적으로 제공할 수 있도록 합니다.2...

gRPC 라이브러리 배포 및 문서 자동화 프로세스 수립

[kt cloud 플랫폼Innovation팀 강솔 님]  gRPC 라이브러리 배포 및 문서 자동화 프로세스 수립  gRPC 기반 시스템에서는 서비스와 메시지가 개발 과정에서 자주 변화합니다. 이때 변경된 API 문서를 최신화하는 작업은 필수적이지만 반복 작업으로 인해 자동화가 필요합니다. 이번 글에서는 gRPC 서비스의 .proto 파일이 변경될 때마다 문서를 자동으로 생성하고 이를 별도 GitHub repository에 배포 및 관리하는 방법을 소개합니다.  1. 자동화 프로세스 정의하기 1.1. 자동화 목표 수준 정의자동화 프로세스는 다음의 목표를 달성하고자 합니다. 1. 자동화 목표라이브러리 자동 배포: .proto 파일이 변경될 때마다 라이브러리가 자동으로 업데이트됩니다.문서 자동 생성: .pro..

protoc-gen-doc으로 시작하는 gRPC 문서화

[kt cloud 플랫폼Innovation팀 강솔 님]   protoc-gen-doc으로 시작하는 gRPC 문서화  이번 포스팅에서는 gRPC 기반 API의 효과적인 문서화 방안에 대해 다뤄보겠습니다. 기존에 REST API는 주로 Swagger를 활용해 문서화했는데, gRPC에서도 유사한 수준의 명확하고 일관된 문서를 제공하기 위한 방법을 고민하게 되었습니다.gRPC 문서화를 설계하면서 특히 중점적으로 고려한 요소는 1) 편의성과 2) .proto 파일과의 호환성이었습니다. 내부 공유용으로 활용될 문서이기에, 큰 리소스를 투입하지 않고도 최신의 .proto 파일 내용을 반영할 수 있는 방안을 찾고자 했습니다.이와 같은 요구 사항을 충족하기 위해 protoc-gen-doc을 사용하여 .proto 파일 기..

OKD Container migration

[kt cloud Container개발팀 정성훈 님] OKD Container migration OKD 클러스터 간에 Kubernetes 리소스(네임스페이스 범위의 리소스), PV data, 내부 컨테이너 이미지를 crane이라는 오픈소스를 통해 마이그레이션하는 방법에 대한 소개글입니다.   OKD란? Red Hat Openshift라는 상업용 소프트웨어 제품의 오픈 소스 버전이며, 다양한 Kubernetes 배포판 중의 한 종류로 보안 및 인증 기능을 제공하며 효율적인 운영을 위해 관리콘솔 및 모니터링 도구를 제공하고 있습니다. Crane이란? Crane은 Kubernetes 클러스터 간에 애플리케이션을 마이그레이션 하기 위한 도구입니다.Persistent volume 및 Secret과 같은 상태를 마..

Container의 kernel 튜닝

[kt cloud Container개발팀 정선훈 님] Container의 kernel 튜닝 Kubernetes Worker Node는 대부분의 워크로드의 요구사항을 충족하는 안정성 및 최적화, 성능에 맞게 구성되지만 특정 워크로드의 성능 최적화를 위해 kernel 설정을 변경해야 하는 경우가 있을 수 있습니다. Kubernetes에서는 sysctl 설정을 통해 Pod에 독립적으로 kernel 파라미터 수정을 할 수 있도록 제공하고 있습니다. 본 글은 워크로드 성능 최적화를 위해 Pod별로 kernel 파라미터를 변경하는 방법에 대한 내용 입니다.  Container Kernel 파라미터컨테이너의 격리 메커니즘과 Linux의 Namespace를 통해 각각의 컨테이너는 독립적인 환경에서 실행되며, 호스트(V..

OpenTelemetry를 활용한 K8S Metric, Log, Trace 데이터 통합 수집기

[kt cloud 서비스개발팀 정예은 님]  OpenTelemetry를 활용한 K8S Metric, Log, Trace 데이터 통합 수집기 최근 MSA 아키텍처, Cloud Native 애플리케이션, 컨테이너 환경을 활용한 운영이 일반화되며 시스템의 복잡도가 늘어났습니다. 이에 따라 시스템들들을 관리하기 위한 Observability의 중요성 또한 대두되고 있습니다. Obeservability란, 추적(trace), 메트릭(metrics), 로그(logs)라는 세 가지 요소를 모두 포괄하는 개념입니다. 이 세 종류의 데이터를 시각화하고, 이를 적재적소에 활용하여 서비스 장애에 보다 더 빠르게 대응하고 스케일링 시기를 예측하는 등 서비스 운영에서의 편리함을 도모할 수 있습니다. kt cloud에서도 obs..