본문 바로가기

분류 전체보기

(16)
emptyDir 을 sizeLimit 초과사용시 kubelet 코드상 어디에서 축출시킬까? 01. 맥락스터디 도중 팀원이 다음 의문을 제기했다."emptyDir 사용량이 일정 이상이면, 파드를 종료하는데,""kubelet 코드상에서 어떻게 구현하였는지 궁금하다."그래서 삽질을 시작했다. (전혀 실용적이지 않은 이유다.)   02. 목표우리의 목표는 간단하다.emptyDir 을 오버해서 사용할 때, 코드상 어떤 부분에서 이 "오버하였음" 을 체크하는 것이고,이를 어느 라인에서 죽이는 것일지 찾아보는 것.   03. 실마리우선, 다음 YAML 을 이용해 파드를 배포하였다.apiVersion: v1kind: Podmetadata: name: empty-test1spec: nodeName: worker2 containers: - name: test2 image: bash ..
Go 에러 객체 비교 errors.Is() 주제Go 에서 errors.Is() 함수의 필요성을 정리하고자 함.그런 함수가 왜 필요함?Go 에서 error 객체를 다룰 때 현재 실행 흐름에서 호출한 함수에서 던진 error 를 errors.Wrap() 함수를 통해 래핑하여 자식 error 객체로 만들어 반환할 수 있다. (Wrap() 함수에 대해서 이번 글에서는 다루지 않도록 한다.)이 때 생성된 자식 error 객체가 부모 객체와 “동일” 한지 또는 “할당 가능” 한지 체크하고자 하는 상황이 있을 수 있다.예를 들자면, 다음 코드이다.defer func() { if err := tx.Rollback(); err != nil { logrus.Error("failed to rollback", err) }}()  defer 키워..
2024-09-24 Cloud Native Korea Community Day 2024 2024.09.24 Cloud Native Korea Community Day 행사 참석 후 내용을 정리하려고 합니다.  흥미롭고, 유익한 세션이 많았습니다.아래는, 제가 들었던 세션 목록입니다.당신이 누구던 쿠버네티스를 사용한다면 k8sgpt가 당신을 도와줄 수 있습니다 - 손주형 (k8sgpt)Kubeflow와 Karpenter를 활용한 엔터프라이즈급 k8s LLMOps 구축하기 - Andrew Min 민학준 (Microsoft)서버리스를 활용한 RAG + In-Memory(temporary, Log-Term) 벡터디비 활용사례 - 송명하 (Sionic AI)K8s LMA venti-stack 개발기 - 김정민 (삼성 SDS)VDI 는 이제 그만! Kubevirt로 가볍고 빠른 VM 사용하기 - 손성..
24.09.24 컨퍼런스 정리 - k8sgpt 발표자 : Upstage SWE 손주형, K8SGPT 멤버k8sgpt 깃헙 : https://github.com/k8sgpt-ai/k8sgptk8sgpt 슬랙 : https://join.slack.com/t/k8sgpt/shared_invite/zt-276pa9uyq-pxAUr4TCVHubFxEvLZuT1Q GitHub - k8sgpt-ai/k8sgpt: Giving Kubernetes Superpowers to everyoneGiving Kubernetes Superpowers to everyone. Contribute to k8sgpt-ai/k8sgpt development by creating an account on GitHub.github.com h1 { width: 920px; margin-r..
24.09.24 컨퍼런스 정리 - Kubeflow, Karpenter 사용 LLMOps 아키텍처 발표자 : MicroSoft 민학준 (Andrew Min)Kubeflow 란?최신 내용인 RAG / 프롬프트 엔지니어링 과는 거리가 멀다.AI 모델러들의 Fine Tuning 중심으로 활용가능한 솔루션Istio, CertManager 등의 별도 오픈소스를 다수 활용한다.주요기능은 다음과 같음KF Pipeline : 워크플로우를 코드베이스로 구성하기Notebook : AI 모델러에게 분석환경 제공Dashboard : UI 대시보드 제공Auto ML : Katib 를 통한 AutoMLModel Training : FineTuning 통합 인터페이스, 분산 학습 작업 실행K Serving : 모델 아티팩트 기반 서빙Karpenter 란?AWS 에서 구현한 Node AutoScaler, MS, GCP 에서 따라..
Nginx Ingress - Internal/External IngressClass를 분리해보자 왜 이런일을 해야하나요? - 문제상황Prometheus, Grafana... 등의 OSS 를 Ingress 형태로 연동해서 사용 중해당 클러스터에 외부망 노출이 필요한 경우에...Public DNS 를 통해 NginxIngressController Service 의 External IP 가 외부 노출되고,OSS 들의 도메인 주소를 맞춘다면?-> /etc/hosts 등록하여 Prometheus 메트릭 데이터를 권한 외 사용자가 볼 수 있을듯?아래 그림과 같이 내부망(Internal Network) 에 쿠버네티스 클러스터가 존재하고, Internal 망 내부에 존재하는 ADMIN, 외부 Public Network 에 존재하는 User 가 존재한다고 가정해보자 Ingress Class 를 하나만 사용한다면 A..
Grafana Dashboard 샘플 모음 Grafana Dashboard 샘플 리스트#01 클러스터 대시보드공식 링크: https://grafana.com/grafana/dashboards/15757-kubernetes-views-global/Import Code: 15757클러스터 전체의 대략적인 모니터링 메트릭을 한눈에 볼 수 있다. Kubernetes / Views / Global | Grafana LabsThank you! Your message has been received!grafana.com#02 네임스페이스 대시보드공식 링크: https://grafana.com/grafana/dashboards/15758-kubernetes-views-namespaces/Import Code: 15758선택한 네임스페이스의 모니터링 메트릭을 확..
2024-02-22 Jerry 님의 쿠버네티스 강연를 듣고 왔습니다. 지난 2월 22일(목) 바쁜 와중 기회가 되어 Jerry 님의 쿠버네티스 강연을 수강하고 왔습니다.(강연 정보는 다음 링크 참조)https://www.devmento.co.kr/seminas/developer_k8s_seminar.html 효과적인 쿠버네티스 운영을 위한 최신방법과 사례 www.devmento.co.kr 혼자 강연에 참석하였는데, 옆에 캐리어를 끌고 온 앳되어보이는 친구가 있더라고요..? 강연 참석 전에 Kubernetes 오픈톡방에서 고1 학생이 강연에 참석한다는 내용을 보았었는데,캐리어를 보자마자 그친구인가? 생각이 들었습니다. 그래서 오지랖을... 좀 부려서 말을 걸었습니다."앞에서 2번째 자리 맡았는데, 혹시 옆에 앉을 생각 있나요?"  ㅋㅋㅋ 암튼, 그런 일이 있었고,강연해주신 ..