👨‍💻 Tech Story/DevOps & Container 39

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

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

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 튜닝

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 데이터 통합 수집기

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

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

쿠버네티스 무작정 따라하기 - #1. kt cloud 에서 K8S Cluster 만들기

쿠버네티스 무작정 따라하기 - #1. kt cloud 에서 K8S Cluster 만들기

[kt cloud Container개발팀 김유민 님] 쿠버네티스 무작정 따라하기 - #1. kt cloud 에서 K8S Cluster 만들기 초등학생 때 처음 컴퓨터를 배우면서 읽었던 무작정 따라하기 책을 떠올리며 Container, MSA, 쿠버네티스를 시작하고 싶은데 개념적으로 너무 어렵다 느끼는 분들을 위한 콘텐츠 입니다.“백문이 불여일견이요, 백견이 불여일각이며, 백각이 불여일행이라" “백번 듣고, 보고, 깨우치는 것 보다 한번 행함이 낫다” 라는 고사성어처럼 일단 무작정 따라하면서 실습을 통해 쿠버네티스와 가까워지는 시리즈입니다.이번 시리즈 동안에는 개념이나 이론적인 설명들은 최대한 배제할 예정입니다!( 혹시 개념이나 이론적인 분이 궁금하신 분들을 위해 중간 중간 관련 링크를 첨부 드릴게요,하지..

Container APM 서비스의 HA(High Availability) 테스트

Container APM 서비스의 HA(High Availability) 테스트

[kt cloud 서비스개발팀 강상구 님]Container APM 서비스의 HA(High Availability) 테스트 안녕하세요, kt cloud의 K2P 서비스에 Container APM이라는 모니터링 서비스 옵션이 있다는 사실을 알고 계셨나요? 이번에, 데이터를 수집하는 체계를 단일화하고, 3개의 Master Pod를 통한 고가용성(HA) 구조로 Container APM 서비스가 더욱 고도화되었습니다. 데이터를 모니터링하고 수집된 데이터를 보관하는 APM 서비스에서 VM이나 서비스에 문제가 생겼을 때 데이터의 안정성과 고가용성에 대한 확인이 필요했습니다. 이 글에서는 고도화 과정에서 진행된 HA(High Availability) 기능 테스트의 기록을 간단하게 공유하고자 합니다.  테스트 환경 kt..

Kubernetes 버전 업그레이드 따라하기(v1.27 to v1.28)

Kubernetes 버전 업그레이드 따라하기(v1.27 to v1.28)

[kt cloud Container개발팀 강성원 님]    Kubernetes 버전 업그레이드 따라하기(v1.27 to v1.28)  본 글은 Kubernetes 클러스터의 버전을 1.27에서 1.28로 업그레이드 하는 방법에 대한 내용입니다.해당 시나리오는 kt cloud의 K2P Standard를 기반으로 작성하였습니다.   업그레이드 대상 클러스터 정보모든 노드의 OS : ubuntu 22.04Kubernetes 버전 : 1.27Deployment Tool : kubeadmCNI(Container Network Interface) : CalicoContainer Runtime : ContainerD 업그레이드 전 확인 Kubernetes 버전 업그레이드 전 Container Runtime, CNI..