목록2020/05 (5)
잡동사니
안녕하세요. yeTi입니다. 오늘은 자바 어플리케이션을 도커로 배포시 발생하는 A fatal error has been detected by the Java Runtime Environment오류를 해결해보겠습니다. 현상 도커로 Springboot 어플리케이션을 배포하는 상황에서 베이스이미지로 openjdk:12-alpine을 사용했습니다. 쿠버네티스에 배포 후 어플리케이션이 로드하는 과정에서 다음과 같은 오류가 발생했습니다. # # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x00007fb82810e9bc, pid=1, tid=6 # # JRE version: OpenJDK Runtime..
안녕하세요. yeTi입니다. 오늘은 VSCode에서 프로젝트 빌드시 Duplicate Targetframework attribute가 발생하는 문제를 해결해보겠습니다. 작업 환경 VSCode : 1.44.0 dotnet : 3.1.300 .NETFramework : 4.7.1 문제 상황 여러 프로젝트를 사용하는 상황에서 빌드하다보면 global::System.Runtime.Versioning.TargetFrameworkAttribute' 특성이 중복되었습니다. 혹은 Duplicate Targetframework attribute가 발생할 때가 있습니다. 해결 MSBuild: unnecessary rebuilds because of generated AssemblyAttributes.cs - Mic..
안녕하세요. yeTi입니다. 오늘은 Kubernetes 환경에서 PostgreSQL의 HA를 구성해보겠습니다. 작업환경 OS : Linux 4.18.0 Kubernetes : 1.18 Helm : 2.16.7 High Availability PostgreSQL Documentation에 따르면 PostgreSQL은 자체적으로 Master-Slave형태의 replication을 제공합니다. 추가적으로 Standby의 형태를 Cold Standby, Hot Standby를 제공하고 있어 상황에 맞는 구성을 선택할 수 있습니다. 하지만 Master-Slave형태의 구성에는 클라이언트가 접속할 수 있는 End-Point를 단일화 하는 이슈가 있는데, 이를 Pgpool이라는 미들웨어를 사용하여 해결할 수 있습니다..
안녕하세요. yeTi입니다. 오늘은 쿠버네티스를 하다보면 접하게되는 rook-ceph 중 ceph에 대해서 알아보겠습니다. Ceph이란? Ceph은 PC단위를 Ceph Node로 storage를 clustering 해주는 서비스입니다. Intro to Ceph에 따르면 Ceph Storage Cluster를 구성하기 위해서는 Ceph Monitor, Ceph Manager, Ceph OSD(Object Storage Daemon)가 하나이상 있어야 하고 Ceph File System client를 사용하려면 Ceph Metadata Server가 있어야 합니다. 각각의 데몬들은 다음과 같은 역할을 합니다. Monitors: Ceph Monitor (ceph-mon)는 monitor map, manager..
안녕하세요. yeTi입니다. 오늘은 라즈베리파이에 AI를 구동하는 환경을 설정해보려고 합니다. 이를 위해서 Tensorflow를 활용해 모델을 생성하고 Tensorflow Lite를 활용해 모델의 변환 및 라즈베리파이에 AI를 구동했습니다. 작업환경 OS : Linux raspberrypi 4.19 Tensorflow : 2.1.0 Python : 2 Tensorflow Tensorflow를 설치하고 mnist 모델을 생성합니다. Tensorflow - Dockerhub CPU만 사용하는 Tensorflow를 일회성 컨테이너로 사용하고 싶으면 다음과 같이 구동합니다. $ docker run -it --rm tensorflow/tensorflow bash Tensorflow에 Jupyter notebook..