반응형

전체 글 60

FluentBit 만으로 간단하게 Kubernetes에 올라간 서비스 logging 해보기

FluentBit 란? FluentBit (https://docs.fluentbit.io/manual/about/fluentd-and-fluent-bit) 오픈소스 로그 프로세서 도구입니다. 자체 비교표에 의하면, 같은 생태계의 Fluentd와 비교하여 고성능이고 메모리 사용량이 적다는 사실을 알 수 있습니다. Fluentd와 Fluent Bit는 모두 Aggregator나 Forwarder로 독립적으로 사용될 수 있고 상호보완할 수도 있다고 설명하고 있습니다. Log Forwarder : 로컬 이벤트를 수집하기 위해 일반적으로 모든 노드에 설치되며, 이벤트 수신시 Aggregator로 전달 Log Aggregator : Forwarder로부터 지속적으로 이벤트를 수신하는 데몬이며, 이벤트를 버퍼링하고 ..

DevOps 2023.10.21

[스터디] S3 개별 권한 제어 및 액세스 분석기 사용

이번에 CloudNeta팀의 AWS Hacking & Security Study 에 참여하게 되었다. 다른 사람들은 회사에서 AWS의 보안을 어떻게 관리하는 지 알고 싶을 때가 있는데 이 스터디를 통해서 알게 되길 바란다. 1주차의 내용은 S3 취약점 및 보안이다. S3 버킷 생성해서 액세스 정보 확인하기 테스트를 위해서 버킷을 생성하고 정보를 확인해보자. # S3 버킷 생성 NICKNAME=mokpolar aws s3 mb s3://ahss-$NICKNAME --region us-west-2 # 해당 버킷의 퍼블릭 액세스 확인 aws s3api get-public-access-block --bucket ahss-$NICKNAME 보통은 아무 생각없이 콘솔에서 스토리지의 퍼블릭 액세스 차단 설정을 했었는..

Cloud 2023.09.02

[북 리뷰] MLOps 실전 가이드

이 책이 출간되었다는 소식을 듣고 목차를 보자마자 바로 이 책은 사야겠다고 생각했다. 목차만 봤을 때의 느낌은 MLOps라는 말을 듣고 시작해보고 싶거나, 갑작스레 업무를 맡게 되었을 때, 전체적인 윤곽이 그려지지도, 어디서부터 시작할지도 모를 때 잡게될 것 같은 책일 것 같다고 예상했다. 책을 막상 받아보니 제목처럼 아주 실전적이라고 생각했다. 물론 다루는 주제들 각각이 너무 크다 보니 깊은 정보를 얻을 수는 없다. 말 그대로 이후에 각각의 주제를 더 깊이 파고들기 위한 실전적인 가이드인 것처럼 느껴진다. MLOps 가 뭘까? 라는 데 이 책에서는 이렇게 설명하고 있다. 머신러닝 모델이 실제 서비스를 통해 문제를 해결하는 단계로 자연스럽게 이동하지 못한다는 것은 업계에서 산업 표준으로 MLOps의 필요..

Book 2023.07.22

KServe ML Model monitoring 해보기 : Knative, Loki

이번 주 CloudNeta 스터디 주제는 Monitoring 이라 요즘 생각하고 있는 KServe의 모니터링과 관련된 글을 써보려고 한다. KServe는 ML Serving tool이니까, ML 시스템의 모니터링에 대한 얘기가 되어야 할 것 같다. ML system 에서의 Monitoring ML 시스템에서의 모니터링은 다른 모니터링과 뭐가 다를까에 대해서 참고할 만한 책이 있다. 최근에 읽고 있는 Reliable Machine Learning 이란 책인데, 이 책의 9장은 Monitoring and Observability이다. 거기서 이론적인 부분을 좀 참고해볼 수 있을 것 같아서 일부만 갖고 와봤다. Monitoring과 Observability란 뭘까? Monitoring은 시스템의 성능에 대한 ..

MLOps 2023.04.01

GitOps : Tekton, ArgoCD 로 CI/CD 하기

Tekton, ArgoCD 를 결합한 CI/CD, GitOps 구현 예제를 작성해보겠다. 간단한 FastAPI 를 배포하는 예제이다. 구조예제를 위한 평범한 GitOps 구조를 그려봤다.FastAPI app에 추가 변경사항을 반영해서 Repo를 업데이트하고나서 Tekton PipelineRun 으로 Trigger를 한다. 그러면 Tekton Pipeline에 정의된 순서대로 Task 3개가 동작을 시작한다. App repo를 clone 해와서 build 하고 DockerHub에 push한다. 이 과정에서 나온 image tag를 GitOps repo에 업데이트 한다. Slack으로 완료 메시지를 보낸다.ArgoCD가 에 있던 GitOps 대상 파일의 변경을 감지한다. 수동으로 deploy를 누르면 대상 ..

Kubernetes 2023.03.24

[스터디] Kubernetes Container Networking 정리

PKOS2주차의 주제는 Networking 이다. 그 중에서도 Container networking 에 대해 정리해보려고 한다. Kubernetes networking의 고려사항 이 문서를 보면 어떤 고민들을 갖고 쿠버네티스의 네트워킹 모델이 등장했는지를 알 수 있다. https://kubernetes.io/ko/docs/concepts/cluster-administration/networking/ 💡 쿠버네티스는 애플리케이션 간에 머신을 공유하는 것이 핵심입니다. 일반적으로 머신을 공유하려면 두 애플리케이션이 동일한 포트를 사용하려고 시도하지 않도록 해야 합니다. 여러 개발자가 포트를 조정하는 것은 대규모로 수행하기가 매우 어렵고 사용자가 제어할 수 없는 클러스터 수준의 문제에 노출될 수 있습니다. ..

Kubernetes 2023.03.18

[스터디] PKOS 스터디 1주차 Kops 개념 및 실습

CloudNeta Kubernetes 스터디 시작 3월부터 가시다님의 CloudNeta Kubernetes 스터디에 합류했다. 이에 각 주차별 학습 내용을 정리해야 한다. 1주차의 내용은 KOPS를 사용한 K8S 환경 구축이다. KOPS란 무엇인가? Kubernetes KOPS는 Cloud 환경에서 Kubernetes 클러스터를 쉽게 배포, 관리 및 업그레이드할 수 있는 오픈소스 도구이다. KOPS는 클러스터를 생성, 업데이트 및 삭제하는 프로세스를 자동화한다. AWS, GCP 같은 CSP사의 환경에서 사용할 수 있다는데, Kops 깃허브에 가보면 DigitalOcean, Hetzner, OpenStack은 베타 지원, Azure는 알파 지원 중이라고 한다. KOPS는 클라우드에 Kubernetes 클러..

Study 2023.03.11

2023년 ver. Notion을 이용한 목표 및 일정 관리

생산성 도구를 쓰기 시작한 건 회사를 처음 다니기 시작했을 무렵부터 였는데 벌써 몇 년이 지났다. 그 동안 더 좋은 도구와 방식을 찾아서 계속 헤매어 왔었는데, 사용해 본 도구들은 Evernote, Workflowy, Dynalist, Notion, Obsidian 이었다. 하지만 근 4년간은 Notion만을 사용했다. 그리고 매년 12월 말에 더 효율적으로 목표와 일정을 관리할 수 있도록 템플릿만을 바꿔왔을 뿐이다. 단지 Notion은 외부 저장소(AWS 인듯?)에 컨텐츠들이 저장되고 무조건 인터넷에 접속을 해야 사용할 수 있는 문제가 있다. 재작년인지 정확히 기억은 안나는데 미국 동부 AWS 데이터센터가 날아갔을 때 같이 접속이 안되는 문제가 있었다. 그래서 로컬에 글이 저장되고 ICloud를 통해 ..

Daily 2023.02.12

Kubernetes cluster에 Locust를 올려서 분산 부하 테스트한 후기

TL; DR helm repo add deliveryhero https://charts.deliveryhero.io/ helm install deliveryhero/locust kubectl create configmap my-loadtest-locustfile --from-file path/to/your/main.py helm install locust deliveryhero/locust \ --set loadtest.name=my-loadtest \ --set loadtest.locust_locustfile_configmap=my-loadtest-locustfile 배경 Locust를 이용한 부하 테스트를 자주해야 하고 그 범위가 다양하다면 worker 수를 scalable 하게 다루고 싶어질 수 있..

Kubernetes 2023.01.08

[스터디] Terraform module을 이용한 여러 EKS 배포

CloudNet팀에서 진행하고 있던 Terraform study T101이 끝날 시간이 다가왔다. CloudNet팀의 스터디는 중간과 기말과제로 과제물을 만들어야 한다. 요즘 일이 많다보니 생각보다 시간이 부족해서.... 평범하게 현재 업무에 직접적으로 연관된, Terraform module을 이용해 여러 EKS 으로 쉽게 배포하는 내용을 최종과제로 작성하기로 했다. 사용하고 있는 Terraform의 기능들 Module 테라폼에서 모듈을 사용하면 기능 별로 테라폼 코드를 작성하고 이들을 재사용할 수 있다. 조금만 바꿔서 dev1, dev2, stage1, stage2 이런식으로 동일하게 여러 EKS를 배포할 수 있는 것이다. 이렇게 되면 동일한 코드를 여럿 작성할 필요가 없고 테라폼의 재사용성을 제대로 ..

Study 2022.12.10
반응형