일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- pytorch
- 알고리즘
- docker
- NaverAItech
- GitHub Action
- 완전탐색
- GIT
- FastAPI
- FDS
- Kubernetes
- python
- Kaggle
- NLP
- Matplotlib
- torchserve
- github
- datascience
- 코딩테스트
- DeepLearning
- wandb
- 프로그래머스
- 네이버AItech
- 백준
- leetcode
- PytorchLightning
- vscode
- GCP
- pep8
- autoencoder
- rnn
- Today
- Total
목록분류 전체보기 (120)
Sangmun
쿠버네티스에서 Pod는 노드에서 컨테이너를 실행하기 위한 가장 기본적인 배포 단위이다. 여러개의 노드에서 1개이상의 pod를 배포하는것이 가능하다. 쿠버네티스 Pod의 특징 쿠버네티스를 Pod를 생성할때 노드에서 유일한 IP를 할당 Pod 내부 컨테이너간에 localhost로 통신, 포트 충돌에 유의 Pod 내부에서는 네트워크와 볼륨 자원을 공유 외부에서는 접근이 불가능하고 클러스터 내부에서끼리 통신이 가능하다 (외부 트래픽을 수신하려면 Service, Ingress 오브젝트가 필요) 또한 자가 치유 능력이 없음으로, Pod나 노드에 이상이 발생하면 종료되고 재생성 되지 않는다. (ReplicaSet 오브젝트로 해당 부분 관리 가능) Pod와 컨테이너를 1:1로 기본 설계하고 특별한 사유가 있는 경우 1..
쿠버네티스로 애플리케이션을 배포하고 관리하기 쿠버네티스를 사용하여 사용자의 의도대로 어플리케이션을 배포하는 방법은 쿠버네티스 오브젝트를 정의하여 Master node(API Server)에 명령을 내리는것이다. 이때 명령을 내리는 표현방식은 yaml형식의 파일을 작성하여 REST API로 마스터 노드에 전달을 하면 된다. 쿠버네티스 오브젝트란 "쿠버네티스 클러스터를 이용해 애플리케이션을 배포하고 운영하기 위해 필요한 모든 쿠버네티스 리소르스를 의미하며 쿠버네티스 오브젝트가 될 수 있는 것들은 아래와 같다. Pod : 애플리케이션 Replicaset : 복제 횟수 Node, Namespace : 어디에(서버 등) Deployment : 배포 방식 Service, Endpoints : 트래픽 로드밸린싱 이러..
구글 클라우드의 compute engine에 간단한 fastapi 어플을 띄우고 이를 github action을 통하여 간단한 CI/CD 환경을 구축하는것을 정리해보고자 한다. Compute engine에 접속할 secret을 github repo에 등록하기 먼저 compute engine에 접속하여 다음과 같은 명령어를 입력하여 rsa key를 생성을 해준다. rsa key 생성은 굳이 compute engine에서 실행하지 않아도 된다. ssh-keygen -t rsa -b 4096 -C [your_email] 다음은 cat으로 생성한 public key를 확인해주고 이를 복사하여 GCP 콘솔의 Compute engine > 설정 > 메타데이터 항목에서 SSH키에 추가를 해준다. 정상적으로 키가 입력..
CI/CD 도구로는 많은 것들이 있지만 github action이라는 것도 있다. github action은 github에서 출시한 기능으로 소프트웨어 Workflow 자동화를 도와주는 도구이다. workflow 예시 TEST CODE 배포 Prod, Staging, Dev 서버에 코드 배포 파이썬, 쉘 스크립트 실행 github Repo에 저장된 스크립트를 일정 주기를 가지고 실행 crontab의 대용 setup-python v2가 있음 Github Tag, Release 자동으로 설정 Main 브랜치에 Merge 될 경우 특정 작업 주행 그 외에도 다양한 Workflow를 만들 수 있고 Workflow 템플릿도 커스텀이 가ㅡㅇ Action Marketplace : Awesome Github Actio..
구글 클라우드는 무료체험하기 서비스가 있어서 처음 결제수단을 등록을 하면 300$의 크레딧을 공짜로 준다. GPU가 달린 서버를 생성하는것 까지는 할 수 없지만 300$내에서 다양한 인스턴스들을 만들어서 규모가 크지 않은 프로젝트는 실습을 할 수가 있다. 가장기본이 되는 compute engine을 하나 만드는 예제를 정리해보고자 한다. GCP에서 Compute Engine 생성 먼저 GCP 콘솔로 이동해서 Compute Engine으로 이동하면 VM 인스턴스 메뉴 윗단에 인스턴스 만들기가 있다. 인스턴스 만들기를 누르면 다음과 같은 옵션들을 선택할 수가 있다. 인스턴스의 이름 리전 그리고 서버의 기본적인 스펙을 정할수가 있다. 예상되는 금액도 계산이 된다. 내가 띄울 예정인 서버는 그닥 기능이 없는 서..
https://www.acmicpc.net/problem/1495 1495번: 기타리스트 첫째 줄에 N, S, M이 주어진다. (1 ≤ N ≤ 50, 1 ≤ M ≤ 1,000, 0 ≤ S ≤ M) 둘째 줄에는 각 곡이 시작하기 전에 줄 수 있는 볼륨의 차이가 주어진다. 이 값은 1보다 크거나 같고, M보다 작거나 같다. www.acmicpc.net 다이나믹 프로그래밍으로 해결이 가능한 문제이며 또한 탐색해야되는 범위가 적기 때문에 2중 for문으로도 해결이 가능한 문제이다. 볼륨을 변경해야하는 단계마다 어떠한 볼륨으로 변경이 가능한지를 dp matrix에 저장을 해놓고 모든 경우의 수를 계산하해주면 된다. 문제의 예제 1번은 3 5 10 5 3 7 아래와 같은 형태로 dp matrix의 이전의 상태를 기..
Docker Image를 저장하는 Registry는 아래와 같이 있으며 별로도 지정을 하지 않으면 기본적으로 Dockerhub를 사용하게 된다. GCR에 Docker 이미지 푸시하기 먼저 GCP의 Container Registry에 이동해서 확인을 해준다. 현재는 아직 푸시된 이미지가 없기 때문에 아무것도 있지 않다. 다음으로는 로컬에서 gcloud를 이용해서 클라우드에 있는 우리의 프로젝트에 로그인을 한다. 만약에 gcloud sdk가 없다면 설치를 해주면 된다. https://cloud.google.com/sdk?hl=ko Cloud SDK - 라이브러리 및 명령줄 도구 | Google Cloud Cloud SDK는 Google Cloud에서의 개발을 위한 도구 모음으로 gcloud, gsutil, ..
https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net ' ', '+', '-'을 조합하여 만들 수 있는 수식중에서 0이 되는것을 찾는 문제이며 문제에서 제시되는 수의 범위가 굉장히 좁기 때문에 백트래킹을 이용하여 풀어도 시간내에 해결이 되는 문제이다. import sys input = sys.stdin.readline import copy t = int(input()) result = [] def backtracking(i): global s if i == n: s += str(i) tmp = copy..