전체 글 (36) 썸네일형 리스트형 kubeflow를 활용한 모델 운영의 효율화 21년 9월에 kubeflow를 실험적으로 도입했었고, 해당 내용을 팀 내에 공유했었다. 22년 3월 현재는 많은 것이 바뀌고, 더이상 kubeflow를 사용하지는 않지만, 당시 kubeflow로 운영의 효율화를 고민해본 것은 의미있는 작업이었다. 다음 영상은 당시 공유된 기술을 담은 영상이다. https://www.youtube.com/watch?v=XaP7roA171I 컨테이너간 통신 network 생성 $ docker network create ${NETWORK_NAME} 생성된 네트워크 확인 $ docker network list 컨테이너에 네트워크 추가 $ docker run .... --network ${NETWORK_NAME} --name front ... # container1 : front $ docker run .... --network ${NETWORK_NAME} --name back -p 1000:2000... # container2 : back container1에서 container2로 통신 - 내부 포트로, container name 통해서 연결해야함 $ curl http://back:2000 cf) localhost를 통해 연결하는 경우 http://host... docker-compose에서 localhost 사용 version: "3.0" services: front: image: ... build: ./frontend restart: always ports: - "8501:8501" environment: - REST_API_URL=http://host.docker.internal:8000 extra_hosts: - host.docker.internal:host-gateway docker-compose에서 localhost를 사용하는 컨테이너가 있을 때, extra_hosts: - host.docker.internal:host-gateway 를 추가해주고, localhost를 사용하는 부분은 host.docker.internal을 사용해준다. python framework 비교 비교할 framework 종류 - flask - fastapi - django - streamlit - 번외) bootstrap 사용 여부 비교 결과 django flask fastapi streamlit 장점 이미 모든것이 준비되어있음. (서드파티, 패키지 등) 조립만 하면됨 ORM 지원 생태계가 큼 상세한 공식문서 확장성이 좋음 미니멀하고 직관적임 개발 속도가 빠름 ASGI 사용으로 비동기 처리 수행 철학 : 빠르고, 코딩하기 쉽고, 배우기 쉽고, 바로 운영 적용이 가능하게 swagger 연동 - open api 문서 자동 생성 상세한 공식문서 쉽게 컴포넌트를 이용해 페이지 구성 가능 단점 사이즈가 큼 속도가 느림(비교적) 러닝커브 있음 2018년12월에 나와 약한 생태계 아직 1.0버전이 나오지 않.. nginx proxy_pass에서 host의 ip 사용할 때 port를 사용해 내부에서 서비스를 나누고, nginx로 접근할 때 host.docker.internal 을 사용 server { server_name _; listen 80; location / { proxy_pass http://host.docker.internal:5000; } } localhost에서는 되는데, 서버에서는 안될때 docker에 --add-host=host.docker.internal:host-gateway 옵션을 줌 E: Package 'docker.io' has no installation candidate apt install docker.io로 도커 설치하면 에러 발생 시 apt-get install curl curl -sSL https://get.docker.com/ | sh 로 설치 [express, res.cookie] subdomain의 쿠키 공유 node.js에서 google oauth, passport를 사용하다가 aaa.bbb에서 생성한 jwt가 담긴 쿠키를 back.aaa.bbb에서 확인해야하는 일이 생겼다. 한참 헤맸는데,,, subdomain에서도 공유가 가능하도록 설정해주면서 해결했다. 쿠키를 설정할 때, 도메인 앞에 "."을 붙여주면 됨 res.cookie('user', token, { domain: '.aaa.bbb', //subdomain까지 공유하려면 앞에 "."을 붙여줘야함. 안그럼 안보임 }); aaa.bbb와 back.aaa.bbb 모두에서 ".aaa.bbb"로 쿠키가 확인된다. mysql 이관 시 ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation 에러 ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation 에러 발생 원인은 RDS가 제공하는 MySQL 서버가 사용자가 아닌 다른 DEFINER가 지정된 sql 파일을 허용하지 않기 때문이라고 한다. mysqldump 시 --set-gtid-purged=OFF 옵션을 추가해준다. 성공적으로 이관됨 이관 명령어 참고 : https://musma.github.io/2019/02/12/mysql-dump-and-import.html MySQL 데이터 Dump(Export)/.. 이전 1 2 3 4 5 다음