Data
-
MLOps
[k8s] Daemonsets에서 띄운 pod의 hostname을 nodename으로 변경하기 (feat. promtail)
Daemonsets으로 로그 서비스(promtail)를 띄울때 어디에서 로그가 왔는지 추적하기 위해 hostname label을 사용했는데 해당 정보값이 pod의 이름으로 되어있어서 어디서 날라왔는지 확인하기가 어려웠다. 따라서, 위와같은 상황을 해결하고자 특정 노드에서 날라왔음을 표기해야하는데 아래와같은 방식으로 해결했다. promtail의 Daemonsets yaml파일에는 아래와같이 env를 설정진행 - env.valueFrom.fieldRef.fieldPath를 사용하여 k8s 환경변수를 가져오게끔 설정 ...(생략) spec: selector: matchLabels: app: promtail template: metadata: labels: app: promtail spec: containers..
-
MLOps
[Kibana] Elasticsearch를 master, data node로 변경한 이후 kibana stack monitoring dashboard에 접근안될때
Elasticsearch에 대해서 master node, data node로 나눈이후 kibana에 접근시 위와같은 권한 이슈가 발생함. 추가로 내가 로그인한 계정의 role은 superuser로 모든 권한을 가지고 있는 계정임에도 불구하고 권한 이슈가 발생. 아래와같이 해결이 가능했음. 첫번째, Elasticsearch cluster에 대해서 master node, data node중 하나는 remote_cluster_client라는 role을 갖고 있어야함. 나같은 경우에는 master node에 해당 권한을 넘겼음 두번째, Kibana의 config값 세팅중 monitoring.ui.ccs.enabled 라는 값이 있는데 default로 true설정이 되어있음. 해당값을 false로 변경이 필요함...
-
MLOps
[ELK] elasticsearch ECK 배포시 기본 사용자 추가 방법
해당 글을 작성하는 이유는? - elasticsearch를 ECK방식으로 배포를 했었는데, 매번 배포할때마다 elastic 유저의 패스워드가 바뀌어서 배포때마다 filebeat에 바뀐 패스워드를 반영해줘야하는 번거로움이 존재했다. - 따라서, 위와같은 귀찮은일을 안하기 위해 비밀번호가 고정적이며 + superuser권한을 갖는 계정을 생성해서 배포때 반영하도록 했다. 아래는 작업한 내용이다. 참고로 기존 클러스터 환경에는 elasticsearch 관련 CRD가 배포되어있다는 가정하에 작성한다. 먼저 생성하고 싶은 계정 정보를 Secret에 기입 및 생성을 한다. HTML 삽입 미리보기할 수 없는 소스 그다음에 elastic.yaml파일에 위에서 생성한 secret을 포함되게끔 반영한다. HTML 삽입 미..
-
MLOps
CoreDNS 관련 정리
참고자료 https://h-susu.tistory.com/13 https://velog.io/@dhkim1522/kubernetes%EC%97%90%EC%84%9C%EC%9D%98-DNS-%EC%84%9C%EB%B9%84%EC%8A%A4-feat.-CoreDNS CoreDNS? CoreDNS는 CNCF재단에서 관리하는 프로젝트. CoreDNS는 클러스터를 지속적으로 모니터링하고, 새로운 Service, Pod이 추가되는경우 도메인 서버에 이를 업데이트를 함 kubelet은 새로운 Pod이 생성될때, Pod의 /etc/resolv.conf파일에 clusterDNS서버의 IP주소를 추가함. $ kubectl exec -it my-pod -- cat /etc/resolv.conf search default.s..
-
MLOps
[FastAPI] 인증 정보 추가하기
FastAPI를 사용하면서 모르는 외부 인원이 접근하여 내가 만든 REST API를 마구잡이 실행하는걸 걱정할수가 있는데, FastAPI에서 제공하는 인증관련 요소를 활용하면 막을수있다. 아래는 정말 간단한 예시이고, 좀더 안전한 방식을 원한다면 문서를 정독을 해야할것같다. https://fastapi.tiangolo.com/advanced/security/http-basic-auth/ HTTP Basic Auth - FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for production fastapi.tiangolo.com 양질의 블로그 글을 위해 바로 예시 코드를 공유하자면... import time f..
-
Data Engineering
[ELK] k8s EK(Elasticsearch, Kibana) 설치중 만난 오류
elasticsearch에서 podTemplate적용시 container name, container image등록 warning문구 출력시 elasticsearch yaml FieldValueRequired Required value spec.containers[0].image 위와같은 에러가 발생하는 경우에는 nodeSets.podTemplate.spec.containers.name 또는 metadata.name이 quickstart인지 확인해보자. 모종의 이유로 quickstart인 경우에는 제대로 적용이 안된다. 이름을 바꿔서 적용하면 해결된다. kibana pod이 apply를 했음에도 불구하고 pod이 안뜨는 경우 제일 오래 삽질했던 케이스인데, kibana에 대한 정보를 describe를 해..
Develop
-
Develop
[C++] Ninja 파일별 컴파일 시간 측정
특정 레포지토리에서 ninja로 컴파일을 진행할때, 어떤 파일에 대해서 속도가 느린지 조사해보고싶어서 찾아보게되었고 글로 정리해보려고한다. 일단 Ninja로 컴파일을 할때 아래와같은 명령어로 진행한다. ninja -d stats 그런다음에 빌드가 다된이후, ls -al 명령어로 파일들을 조회해보면 .ninja_log라는 파일이 생성된것을 볼수가 있다. 간단한 예시로 아래와같이 내용이 적혀있다. 2200672566021704266700231063803backend/test1.cpp.ob9e842d3f244604d 2166962566121704266700235430337backend/test2.cpp.ode7f55dc134f99b4 2167012566671704266700287629089backend/tes..
-
Vue
[오류해결] While resolving: @vue/eslint-config-standard@6.1.0
https://velog.io/@m_yn/%EC%98%A4%EB%A5%98%ED%95%B4%EA%B2%B0-While-resolving-vueeslint-config-standard6.1.0 [오류해결] While resolving: @vue/eslint-config-standard@6.1.0 Vue.js 프로젝트를 진행하던 중 생긴 예상치 못한 오류ajax를 사용하기 위해 axios를 설치하려 로컬터미널에 npm install axios 명령어를 실행하였다. 하지만 설치가 되지 않고 오류 메세지들이.....\`\` ERR velog.io 아래와 같은 에러가 무수히 떠서 원인을 찾아봤고 npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR..
-
Vue
[Vue] google chrome CORS 우회하기
Vue 개발을 하다가 local개발환경에서 다른서버에 띄워져있는 RestAPI를 사용하려고했는데 아래와같이 CORS에러가 발생했다. 주소는 다른곳에서 가져온거라 내꺼랑 동일하진않다. 뭐 중요하진않겠지만... 이것저것 다해봤지만 모두 실패했다 withCredential관련 정보 추가 시도 Allow 뭐시기 추가 시도 근데 알고보니 위에 시도는 서버/클라이언트 둘다 적용을 해야지만 성공하는거였다. 난 일단 RestAPI를 사용하는곳엔 저런 설정을 하기엔 좀 리스크가 있다고 판단했고 CORS를 우회 할 수 있는 방법이 있는지 찾아보았는데 다행히 존재했다. Google Chrome 설정 (MacOS) 아래와같은 명령어를 실행해서 google chrome의 CORS를 우회한다 open -n -a /Applicat..
-
Flutter
[Flutter] Navigator.pushNamed로 다른페이지에 변수값 넘겨주기
flutter 기본으로 생성된 페이지가 있다라고 가정하고, 새로운 dart파일을 생성한다음에 제일 기본적인 화면이 띄워지게끔 아래와같이 코드 설정 import 'package:flutter/material.dart'; class SelectedPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("New Page"), ), body: Container( color: Colors.white, // Set your desired background color ), ); } } flutter에서 기본으로 생성된 페이지에서는 아래와같이 route ..
-
Flutter
[Flutter] Flutter앱 첫 로딩화면 flutter_native_splash로 간단하게 구현하기
앱을 처음킬때 로딩화면이 있으면 좋을것같아서 구현을 해보고자한다. 물론 모든걸 코드로 구현하면 좋겠지만... 나같은 초짜는 사실 좀 어렵게 느껴지던 와중에 flutter_native_splash라는 좋은 패키지가 있어서 이걸 사용하고자 한다. 일단 관련 패키지 사용법은 아래 링크를 통해서 자세하게 알수있다. https://pub.dev/packages/flutter_native_splash flutter_native_splash | Flutter Package Customize Flutter's default white native splash screen with background color and splash image. Supports dark mode, full screen, and more. ..
-
Flutter
[Flutter] Requires SDK version >= X.X.X <3.0.0, version solving failed
Flutter에 특정 패키지를 dependency에 넣어준이후 SDK version이 안맞아서 버전을 수정했지만 아래와같이 에러가 발생했다. Requires SDK version >= 2.19.0 Requires SDK version >=2.16.0 =2.16.0
일상
-
맛집
[강릉] 툇마루커피
근처에서 밥을 다먹고, 주변에 툇마루커피라는 유명한 카페가 있어서 가기로했다. 카페 외관은 아래와같이 이쁘게 되어있다. 약간 어두워질때가면 더 이뻣을것같다. https://naver.me/GSiUXtSK 카페 툇마루 : 네이버 방문자리뷰 6,409 · 블로그리뷰 6,330 m.place.naver.com 카페 입구에 가자마자 사람이 매우많고 줄도 길었는데, 심지어 조금 늦게 가서 그런지 맛있는 사이드메뉴는 다 팔린상태였다. 좀더 일찍 갈것그랬다. 아무튼 커피를 주문했고 와이프가 돌아와서 나한테 종이 한장을 보여주는데... 예...? 커피를 받으려면 무려 1시간 40분을 대기해야했다. 얼마나 인기가많았으면 이렇게나 밀렸을까싶으면서도 이렇게 빨리 안나올수도 있나 싶었다. 기다리면서 몇몇분들은 도저히 못기다..
-
여행
[강릉] 언제나소돌
이번에 기념일에 강릉에서 2박3일 보내기로했고, 숙소는 예전부터 와이프가 잘 골라서 믿고 강릉의 "언제나 소돌"이라는곳으로 가기로했다. https://naver.me/xyUjeCkF 언제나소돌 : 네이버 방문자리뷰 629 · 블로그리뷰 211 m.place.naver.com 위에는 네이버지도에서의 언제나소돌 위치이고, 강릉역에서 택시를 타면 한 28000원에서 30000원정도 나온다. 참고로 나랑 와이프는 뚜벅이라서 숙소를 갈때는 버스를 이용했는데, 강릉역 바로앞에 버스정류장에서 탈수있고 언제나소돌 부근으로 가는 버스(300번, 202-1, 302번등)는 많이 있다. 강릉역앞에서 와이프가 찍은 사진들 수호랑 반다비가 있었다. 언제나 소돌은 아래와같은 건물에 있다. 체크인은 1층의 카페에서 할수있고 숙소..
-
맛집
[강릉] 소돌막국수
이번에 와이프랑 연말 & 연애 기념일 기념으로 강릉으로 2박3일 여행을 갔다. 숙소는 "언제나소돌"이라는 곳을 예약해서갔고, 숙소에 대한 글은 나중에 다시 정리해서 올릴예정이다. 아래는 언제나소돌에 대한 네이버 지도 링크! https://naver.me/xyUjeCkF 언제나소돌 : 네이버방문자리뷰 629 · 블로그리뷰 211m.place.naver.com 숙소에 가기전에 점심시간쯤이라 점심을 먹었어야했는데, 숙소 근처에 막국수집이 여러개 있어서 알아보던와중, 소돌막국수라는곳을 발견해서 가게됐다. https://naver.me/5Y1wjHzK 소돌막국수 : 네이버방문자리뷰 1,007 · 블로그리뷰 261m.place.naver.com 와이프랑 항상 식당을 갈때 네이버의 평점이랑 카카오의 평점을 보고 ..
-
일상다반사
[네이버] 방송 플랫폼 치지직(CHZZK)
https://namu.wiki/w/%EC%B9%98%EC%A7%80%EC%A7%81 치지직 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권 namu.wiki 트위치 코리아가 철수함에 맞춰서 네이버에서 새로운 방송 플랫폼을 만들었다. 이름은 치지직인데... 대부분 반응이 이름이 아쉽다라는 반응이 있다. 일단 정식 공개는 2024년으로 예정되어있는데, 트위치 코리아가 철수하는데에 일정을 맞춰서 오픈하지않을까싶다. 일단 철수하는이유는 한국의 망사용료가 너무 비싸서 철수하는것으로 보여진다. 철수 일정은 2월말로 보여진다. 그래도 로고같은..
-
맛집
[맛집] 고메램 삼성점
회사 회식겸으로 간 삼성점 고메램! 위치는 아래링크에서 볼수있다. https://naver.me/5SWaWXXc 고메램 삼성점 : 네이버 방문자리뷰 1,406 · 블로그리뷰 1,586 m.place.naver.com 메뉴는 처음에는 아래와같이 주문했다. 고져스 세트 (45000원) 하이볼 처음에 고기를 시키면 아래와같이 이쁘게 나온다. 먼저 불판위에 양파, 대파, 방울 토마토를 올려주신다. 그리고 각자 개인그릇을 세팅해주는데 3개 소스가 배치되어있다. 왼쪽부터 차례대로... - 된장 - 와사비 - 굵은 소금(녹차 소금) 그리고 오른쪽위에 찍어먹을수 있는 소스가 배치되어있다. 녹차 소금이 확실한지 모르겠지만... (대충 그렇게 들음) 개인적으로는 그냥 와사비에 소금 조합으로 먹는게 가장 맛있었다. 고기는..
-
일상다반사
[일상] 첫 예비군 고양송포 예비군 훈련장
행신역 부근에 살고있어서 그런지 예비군 훈련장이 고양송포 예비군 훈련장에 잡혔다... 위치를 찾아보니 아래와같이 나타난다. https://naver.me/5g3TEig0 고양송포예비군훈련장 : 네이버 블로그리뷰 14 m.place.naver.com 사실 차가있으면 매우 가깝게 갈수있지만, 차가 없는 뚜벅이니까 난 대중교통을 이용해서 가기로했다. 루트는 행신역 -> 탄현역 -> 걸어서 (30분) 거의 약 1시간정도 걸렸다. 돈 많으면 탄현역에서 택시타고 가는것도 방법이다. 난 그냥 운동도 할겸 걸어서갔다(절대 돈이 없어서 그런건 아니다. 정색.) 뭐 훈련내용은 다른 블로그에도 정리된게 너무많아서... 대충 예비군 꿀팁만 적어두자면 베레모 가져갈 필요없다 고무링 챙겨가자 복장을 검사하는 사람이 있는데, 사..