목록분류 전체보기 (115)
Myo-Kyeong Tech Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ldjIL/btsLJLwFGNx/r0WPIkl3VxHTELVkwypJtK/img.png)
1️⃣ OLM 설치를 위한 CRD(Custom Resource Definitions) 설치kubectl apply -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.19.1/crds.yaml 2️⃣ 쿠버네티스에 OLM 설치kubectl apply -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.19.1/olm.yaml설치된 리소스 확인kmk@test:~$ kubectl get pods -n olmNAME READY STATUS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cvLYPR/btsK5CsXBOv/KX4f7KQHieqLgFBl7xcnVK/img.png)
쿠버네티스(Kubernetes)를 사용하다 보면 특정 네임스페이스에 있는 시크릿(Secret)을 다른 네임스페이스로 복사해야 하는 상황이 생기곤 합니다. 예를 들어, 개발 환경에서 사용 중인 시크릿을 테스트 환경이나 프로덕션 환경으로 옮기거나, 동일한 시크릿을 여러 네임스페이스에서 재사용해야 할 때가 그렇습니다. 이 글에서는 네임스페이스만 바꾸는 간단한 한 줄 명령어와, YAML 파일을 활용해 시크릿을 수정하고 복사하여 네임스페이스를 변경하는 방법에 대해 정리하였습니다. 방법 1️⃣ : 네임스페이스만 변경하는 간단한 명령어 시크릿을 수정할 필요 없이, 네임스페이스만 변경하려는 경우 다음과 같은 한 줄 명령어를 사용하면 됩니다. kubectl get secret -n -o yaml | \grep -..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l8YLF/btsKyTA6YSS/HZnf2gkKvZeEQXjSa0EHF0/img.png)
python 개발을 하다보면 코드의 흐름을 확인하거나 오류를 추적하기 위해 print를 많이 사용하게 됩니다. 하지만 더 조금 더 복잡한 애플리케이션을 개발하거나, 운영 환경에서 문제를 모니터링하려면 print 대신 logging 모듈을 사용하는 것을 더 권장합니다.왜 print 대신 logging을 사용해야 할까?print 는 단순한 디버깅에는 유용할 수 있지만, 큰 애플리케이션이나 운영 환경에서는 logging이 더 유리한 점이 많습니다.1. 로그 레벨을 통한 중요도 구분logging 모듈은 메시지의 중요도에 따라 로그 레벨을 제공하여, 상황에 맞게 로그를 분류할 수 있게 해줍니다. DEBUG개발 시 디버깅을 위해 사용하는 가장 낮은 수준의 로그INFO일반적인 정보 메시지로, 정상적인 실행 과정을 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Wr3px/btsJDUWyczp/USQDbJsobcNNN55JoV53Fk/img.jpg)
Ubuntu ISO 파일 다운로드 https://ubuntu.com/download/server/arm/ https://ubuntu.com/download/server/arm ubuntu.com Ubuntu 공식 웹사이트에 접속 -> [Download 24.04.1 LTS] 클릭하여 ISO 파일 다운로드 받기 UTM 에 Ubuntu 설치하기1. UTM 다운로드 및 설치https://mac.getutm.app/ UTMSecurely run operating systems on your Macmac.getutm.app 2. 새로운 가상 머신 생성하기설치한 UTM을 열고 [새 가상머신 만들기] 클릭 -> [Virtualize] 클릭 -> [Linux] 클릭 3. 다운로드 받은 ISO 파일 추가하기 4. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d5FP1R/btsI1XZjyOd/jL5eJOOdDaTFKGQunEIRI0/img.png)
이 글은 Docker Desktop Kubernetes 클러스터에서 실시간 리소스 사용량을 확인하기 위해 kubectl top 명령어를 실행하다가 발생한 Metrics API 오류 해결 과정을 정리한 내용입니다. Metrics Server 설치 및 확인 Metrics Server 최신 버전 설치Metrics Server는 각 노드의 Kubelet에서 메트릭 데이터를 수집해 클러스터 전체의 리소스 사용량을 집계함$ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml Metrics Server 파드 상태 확인kube-system 네임스페이스 내의 Metrics Ser..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FRbdF/btsIIJtzjjy/56OO4nZj90qxFkuCOcJsG0/img.jpg)
https://data04190.tistory.com/23 [리눅스] Ubuntu 22.04 설치 및 PuTTY로 원격 접속하는 방법Ubuntu 22.04 LTS를 설치하고 PuTTY를 이용해 원격으로 접속하는 방법에 대해 정리한 글입니다. VirtualBox에서 Ubuntu 22.04 LTS 가상머신 설치하기 1. Ubuntu 22.04 LTS ISO 파일 다운로드 https://ubuntu.com/download/servedata04190.tistory.com Windows 환경과 동일하게 Mac에서도 단순하게 Virtualbox를 다운로드하면 실행 될 거라고 생각했지만... macOS / Intel hosts 버전은 x86_64 아키텍처용이여서 ARM 아키텍쳐를 사용하는 Apple Silicon(..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dSZBRd/btsHdcjPRv5/FO9Hv292rjESE3arV4kQtK/img.png)
Service각 파드는 고유한 IP를 할당받지만, 동적으로 생성되고 제거되기 때문에 IP 주소가 자주 변경될 수 있음Service는 이러한 파드들에 대한 하나의 고정된 IP 주소와 포트를 제공파드의 생성과 소멸에 관계없이 일관된 방식으로 파드에 접근할 수 있음 Service 유형 : ClusterIP, NodePort, LoadBalancer1. ClusterIP기본 서비스 유형, 클러스터 내부에서만 접근 가능한 내부 IP를 할당받음클러스터 외부에서는 접근할 수 없음ClusterIP 주소로 요청하면, 쿠버네티스는 자동으로 연결된 파드 중 하나로 라우팅하여 처리[ClusterIP 서비스 YAML 파일 예시]apiVersion: v1kind: Servicemetadata: name: my-web-servi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cp1u1G/btsGNDwVkGy/MdwgPmgvi3Vuc7TCmz5lY1/img.png)
애드혹(ad-hoc approach) 접근 방식의 문제점 애드혹 (ad-hoc) 접근 방식 특정 문제를 해결하기 위해 임시적으로 취하는 방법으로 일회성 모델 개발이나 학습에 한해 적합 ML 프로젝트에서 "그때 그때 필요에 따라" 특징 생성 초기 단계나 작은 규모의 프로젝트에서는 효과적일 수 있지만, 조직이 성장하고 프로젝트가 복잡해짐에 따라 관리가 어려워지고 비효율적 개별 사용자나 팀이 만든 feature는 다른 팀이나 프로젝트에서 재사용하기 어려움 각 ML 프로젝트가 민감한 데이터 특징을 다르게 계산하면, 데이터 거버넌스 측면에서 문제가 생길 수 있음 예를 들어, 두 개의 다른 팀이 각각 고객의 신용 점수를 다른 방식으로 계산할 경우, 이 두 점수가 실제로 어떤 의미를 가지는지 일관성이 결여되어 신뢰할..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhkyex/btsGef3Ov9a/kflXesCzF53k2EdpdzkeW0/img.png)
카테고리 특징과 관련해 발생 가능한 문제 상황 불완전 어휘(Incomplete Vocabulary) 모든 가능한 카테고리 값을 미리 알기 어려운 경우 ex ) 신규 사용자 ID, 새로운 상품 코드 등 모델 크기 증가(Cadinality) 카테고리 값이 많아질수록, 모델의 크기가 커져, 메모리 사용량과 계산 시간이 증가하는 문제 콜드 스타트(Cold Start) 새로운 카테고리 값이 등장했을 때, 해당 값을 처리할 수 있는 기존 학습된 모델이 없는 경우 특징 해시 카테고리형 변수를 고정된 크기의 벡터로 변환 각 카테고리 값을 해시 함수를 통해 특정 인덱스로 매핑하고, 해당 인덱스의 값을 업데이트하여 카테고리형 특징을 벡터로 표현 불안전 어휘, 카디널리티로 인한 모델 크기, 콜드 스타트 문제를 해결 해시 함..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c6qv9O/btsF0kypLYV/7up4rgZgqWzIqSW3mqQr4k/img.png)
PDB ( Python Debugger ) Python 코드 디버깅을 위한 표준 라이브러리 코드 실행 중에 프로그램을 일시 중지하고 상태를 검사하거나 변수를 조사하여 버그를 찾을 수 있음 프로그램 실행 중에 인터랙티브하게 상호작용할 수 있는 디버깅 환경을 제공 Pdb 사용 방법 디버깅 모드 설정 디버깅이 필요한 지점에 'import pdb; pdb.set_trace()' 코드를 추가 프로그램 실행 중에 이 코드를 만나면 디버거가 시작 import pdb; pdb.set_trace() [사용 예제] # debug_ex.py # 사용자로부터 두 개의 숫자를 입력받아, 그 합과 곱을 출력하는 코드 def multiply_two_numbers(number1, number2): result = number1 * ..