목록전체 글 (92)
isPowerfulBlog
Severless란? 클라우드 컴퓨팅 모델 중 하나로 개발자가 서버를 직접 관리할 필요가 없는 아키텍처 동적으로 서버의 자원을 할당 요청이 들어오면 그 때 자원 할당하여 처리, 이후 다시 대기 상태로 돌아옴 Knative란? 서버리스 워크로드를 쿠버네티스 클러스터에서 실행할 수 있도록 지원하는 툴 쿠버네티스 내에서 컨테이너화된 애플리케이션 구축, 배포, 관리 툴과 유틸리티 제공 쿠버네티스 위에서 구동 -> 특정 클라우드에 종속성 X 온프레미스 환경에서도 설치 가능 등장 배경 서버리스 서비스들의 특정 클라우드 플랫폼에 대한 의존성 문제를 해결하기 위함 아마존 클라우드의 람다(Lambda)나, 구글 클라우드의 펑션(Function)등이 이에 해당한다. 그런데 이러한 서버리스 서비스들은 특정 클라우드 플랫폼에..
Kubernetes? 컨테이너 오케스트레이션 툴 등장 배경 모놀리식 아키텍처 -> 마이크로 아키텍처 개발, 테스트, 장애 대응 등 여러 면에서 더 유연한 마이크로 아키텍처로 전환 서비스의 규모가 커지면서 관리해야하는 컨테이너의 개수 증가 -> 컨테이너들을 쉽게 관리할 툴 필요 오케스트레이션 툴의 특징 고가용성 확장성 백업 및 복원 Main K8s Components Pod k8s에서 가장 작은 단위 컨테이너 추상화 개념 보통 하나의 애플리케이션 당 Pod 하나 각각의 Pod들은 자신의 IP 주소를 가짐 Pod가 재생성되면 IP 주소가 새로 할당됨 -> 관리하기 힘들어 Service 각각의 Pod에 영구적인 IP 주소를 붙일 수 있음 Pod의 lifecycle에 연결 X -> Pod가 죽어도 Service..
Jupyter Noteboot 설치 $ pip install jupyter notebook pyspark 설치 % pip install pyspark SPARK_HOME과 jupyter notebook 사용을 위한 설정 추가설정 추가 $ vi ~/.bashrc export SPARK_HOME=/home/{USER}/anaconda3/lib/python{VERSION}/site-packages/pyspark export PATH=$SPARK_HOME/bin:$PATH export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook' Jupyter Notebook 포트 번호 변경 spark의 포트번호와 겹치기 떄문..
라즈베리 파이 이미지 준비 https://www.raspberrypi.com/software/operating-systems/ 사용할 이미지 다운받아서 준비 Etcher 다운로드 https://etcher.io에 접근하여 etcher를 다운로드 해준다 OS 상황에 알맞게 선택 -> 나는 ETCHER FOR LINUX X64 (64-BIT) (APPIMAGE) balenaEtcher-1.18.4-x64.AppImage 다운로드된 것 확인 더블 클릭해서 실행 whrano... 파일 속성에 접근해서 파일을 프로그램으로 실행 허용 whrano... https://github.com/AppImage/AppImageKit/wiki/FUSE 레포에서 하라는대로 해아함 (대충 FUSE를 새로운 버전으로 다운로드해주세요..
3년만에 꺼내보는 SD카드를 포맷해보기 SD카드 연결 연결 전 / 후 ls -l /dev/sd* 명령어 입력 시, 나오는 출력값이 다름을 확인 /dev/sda /dev/sda1 /dev/sda2 가 새로 생김! -> 이 중 장치 이름은 /dev/sda에 해당 3개나 새로 생긴 이유: SD카드 공간이 2개의 파티션으로 나눠져있는 상태 파일시스템 창에도 옆에 뭔가 새로 생김을 확인 이미지와 달라도 상관 없음 그냥 변화만 체크 SD 카드 파티션 삭제 및 나누기 $ sudo umount /dev/sda 파티션 작업에 문제가 생기지 않도록 장치를 언마운트 해준다. $ sudo fdisk /dev/sda fdisk 명령어로 디스크 접근 d 명령어 - 파티션 삭제 커맨드에 d를 입력해서 파티션을 삭제해준다 파티션이 ..
Docker Hub Login $ docker login image tag $ docker images 이미지 리스트 확인 \n $ docker tag {LOCAL_REPOSITORY} {USER}/{REPOSITORY}:{tag} 이미지 리스트에 있는 이름을 로컬 레포지토리 이름이라고 했을 때, hub에 새로운 이름, 태그로 올리고 싶다면 tag 명령어로 이런식으로 수정해준다 \n 잘 생성된 것을 확인 image push $ docker push {REPOSITORY}:{tag} 태그까지 잘 붙여서 push 해준다 \n Docker Hub 홈페이지에서 확인 완 References https://bcp0109.tistory.com/352
docker container실행 중 있었던 작은 이슈, # producer.py for c in chat.get().sync_items(): data = { "id": c.id, "datetime": c.datetime, "author": c.author.name, "message": c.message } print(data) producer.send('youtube_comments', data) docker 컨테이너 내에서 실행 중인 python script에 print가 있지만 running 상태에서는 print를 하지 않고 컨테이너 실행을 중단해야 쌓여있던 message들을 배출하는 이슈가 있었다. # Dockerfile ... ENTRYPOINT ["python3", "-u", "..
카프카의 분산처리 기능을 이용하려면 노드가 여러개여야한다. 노드 한 개로 kafka 통신해보기는 성공을 했으니 이제 브로커를 3개로 늘려봐야겠다. 이런 그림을 원한다!! docker compose 수정 # kafka-cluster/docker-compose.yaml version: "2" services: zookeeper: ... broker-1: image: confluentinc/cp-kafka:7.3.0 container_name: broker-1 depends_on: - zookeeper ports: - 9092:9092 environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS..