본문 바로가기
반응형

분류 전체보기1065

[Kubernetes] : 리눅스 서버에서 도커 엔진만으로 minikube 설치하기 리눅스 서버에서 가상 머신 없이 도커 엔진만으로 minikube 설치 curl -Lo minikube \\ && \\ chmod +x minikube && \\ sudo mv minikube /usr/local/bin/ curl -Lo kubectl \\ && \\ chmod +x kubectl && \\ sudo mv kubectl /usr/local/bin/ minikube와 kubectl을 내려받는다. minikube start --vm-driver=none kubectl version --short 설치를 확인한다. minikube delete Minikube를 삭제할 수 있다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 13.
[Kubernetes] : 쿠버네티스 버전 선택 및 설치 쿠버네티스 버전 선택 및 설치 쿠버네티스의 어떤 버전을 설치해도 핵심 개념은 같아 딱히 문제는 없지만 워낙 기능이 빠르게 업데이트 되고 있어서 버전 차이로 사용법이나 기능이 달라질 수 있기 때문에 운영을 생각하고 있다면 버전을 신중하게 선택해야 한다. 하지만, 지금 배울 때에는 버전을 크게 신경 쓸 필요는 없다. 책에서는 1.18버전으로 안내하고 있다. 설치에는 Minikube를 사용해 본다. Minikube는 로컬에서 가상 머신이나 도커 엔진을 통해 쿠버네티스를 사용할 수 있는 환경을 제공한다. 하지만 실제 운영 환경에서 적용이 힘들기도 하고 몇몇 기능은 사용할 수 없기 때문에 가능하면 여러 대의 서버로 쿠버네티스 클러스터를 구성하는 게 좋다고 한다. apt-get install virtualbox 버.. 2022. 3. 13.
[Spring Boot] : Spring type converter 스프링 타입 컨버터 소개 개발을 하다 보면 문자를 숫자로 혹은 숫자를 문자로 변환하는 등 타입 변환을 해야 하는 일들이 많이 생긴다. 이번 강의에서는 스프링 타입 컨버터를 공부하기 전에 간단한 예시로 타입 변환을 진행해 봤다. String data = request.getParameter("data"); // 문자 타입 조회 Integer intValue = Integer.valueOf(data); // 숫자 타입으로 변경 문자 타입을 숫자 타입으로 바꾸었다. HTTP 요청 파라미터는 모두 문자로 처리되기 때문에 타입 변환을 통해 숫자로 바꿔 준 것이다. public String helloV2(@RequestParam Integer data) { System.out.println("data = " + d.. 2022. 3. 13.
[TIL] : 137 일일 배움을 위한 Today I Learned ! Docker 도커 스택과 마지막으로 컨테이너 생태계에 대해 공부했다. 2022.03.12 - [Server & System/Docker] - [Docker] : 도커 스택 사용하기 2022.03.12 - [Server & System/Docker] - [Docker] : 도커와 컨테이너 생태계 Kubernetes 도커를 마무리하면서 쿠버네티스 기초 이론부터 공부하고 있는 중이다. 2022.03.12 - [Server & System/Kubernetes] - [kubernetes] : 쿠버네티스 설치 환경의 종류 Spring Boot 전에 수업 프로젝트 오류 뜨는 부분을 마무리하고 새로운 프로젝트를 생성해서 Git에 올려두었다. 스터디 2주차 스터디를 했고.. 2022. 3. 12.
[코딩 스터디 2기] : 2주차 이번 주 수요일, 창문을 열고 잤더니 아침부터 기침 증상이 있었다.(심하진 않았다.) 기관지가 약해서 가끔 그러기 때문에 목감기 약을 먹으면서 목요일 저녁에 혹시 모르니까 코로나 자가 진단을 했다. 결과는 한 줄, 음성이 나왔다. 코로나가 아니겠지 싶었지만 스터디 당일 토요일 스터디를 진행하고 있는 중에 기침을 필사적으로 참았지만 괴로워서 혹시 몰라 잠깐 내려가서 다시 자가진다키트 검사를 했는데 두 줄, 스터디는 중간까지 참여하고 말았다. 같이 공부하던 쌤들에게 너무 죄송한 마음이다. 미리 체크해 보고 갔었어야 했는데 너무 안일했다.. 쌤들에게 사과 드리고 오늘 스터디는 혼자 집에서 정리해서 올린다고 말씀드렸다. 도대체 어디서 걸린 건지 모르겠다. 학교, 집을 반복했는데 학교에서 배우는 R 언어와 따로 .. 2022. 3. 12.
[kubernetes] : 쿠버네티스 설치 환경의 종류 쿠버네티스 설치 환경의 종류 리눅서 서버와 같은 환경에서 쿠버네티스를 설치해야 한다. 도커와 달리 쿠버네티스는 사용 환경과 목적에 따라 수비게 설치할 수 있다. 하지만, 도커 엔진과 달리 쿠버네티스는 사용 환경과 목적에 따라 설치 방법이 다양하고 복잡하다. 개발 용도로 로컬에서 사용하면 간단한데, 운영 단계에서 쿠버네티스 클러스터를 구축하려면 AWS, GKE 등 클라우드 환경에서 수십 개의 서버에 동시에 쿠버네티스를 설치해야 할 수도 있다. 개발 용도의 쿠버네티스 설치 : Minikube, Docker Desktop for Mac/Windows에 내장된 쿠버네티스 서비스 테스트 혹은 운영 용도의 쿠버네티스 설치 : kops, kubespray, kubeadm, EKS나 GKE 등의 매니지드(Managed.. 2022. 3. 12.
[Docker] : 도커와 컨테이너 생태계 [Docker] : 도커와 컨테이너 생태계 컨테이너가 내부적으로 어떻게 구성되어 있는지, 생태계가 어떤 방향으로 나아가고 있는지 이해가 필요하다. 도커 핵심 프로세스라고 하면 dockerd(도커 데몬)을 떠올리기 마련이지만 사실 도커 데몬은 컨테이너가 아니다. 실제로 컨테이너 프로세스라고 부를 것은 runC이다. 컨테이너에 1대1로 매칭되는 런타임 역할을 runC가 담당한다. 그리고 여러 개의 runC 컨테이너 프로세스 및 이미지를 관리하는 주체가 바로 containerd(컨테이너-디)이다. 우리가 알고 있는 도커 엔진(dockerd 프로세스)은 contanerd와 통신을 통해 runC를 사용하게 한다. ps aux | grep contalnerd 도커가 실행중인 호스트에서도 바로 확인이 가능하다. 컨테.. 2022. 3. 12.
[Docker] : 도커 스택 사용하기 networks: {} services: mysql: comand: mysqld image: alicek106/composetest:mysql web: command: apachectl -DFOREGROUND image: alicek106/composetest:web links: - mysql: db ports: - 80:80 version: '3.0' volumes: {} docker-compose.yml 파일을 작성한다. 이제 이 파일을 가지고 스택으로 변환한다. docker stack deploy 명령어에 YAML 파일을 지정하고 마지막에 스택 이름을 입력한다. docker stack deploy -c docker-compose.yml mystack docker-compose.yml 파일에서 mys.. 2022. 3. 12.
[TIL] : 136 일일 배움을 위한 Today I Learned ! R R언어의 기초를 공부하고 있다. 데이터 단위나, 벡터에 대해 공부하고 있다. 지금은 데이터 프레임 부분을 실습해 봐야 한다. 2022.03.11 - [프로그래밍언어/R] - [R] : 표로 데이터 정리하기 2022.03.11 - [프로그래밍언어/R] - [R] : 데이터 프레임 다루기(1) Spring Boot 예외 처리 컨트롤러를 분리하는 것을 실습했다. 2022.03.11 - [Framework/Spring Boot] - [Spring Boot] : @ControllerAdvice실습 공부 2022. 3. 11.
[R] : 데이터 프레임 다루기(1) 데이터프레임 다루기 벡터 R의 최소 데이터 단위이다. 여러 개의 벡터가 모여 하나의 데이터 프레임을 이루게 된다. R에서의 4가지 벡터 character : 문자열을 나타낸다. factor : 순서형 변수와 명목형 변수를 모두 나타낸다. 카테고리형 변수를 표현하는 데이터 타입이다. integer : 정수 값을 표현하는 데이터 타입이다. 이산형 변수에서 사용한다. numeric : 연속형 변수는 이 numeric 타입을 사용하는 것을 권장하고, 실수까지 표현이 가능한 데이터 타입이다. 벡터 만들기 a1 2022. 3. 11.
[R] : 표로 데이터 정리하기 위와 같은 자료를 [ 집합자료 ] 라고 부른다. 한 개 값을 지칭할 때 기준에 따라 변수값 혹은 관측값이라고 부른다. 데이터의 종류는 숫자인지 아닌지에 따라 범주형, 수치형으로 나뉜다. 변수 범주형 변수 명목형 변수 숫자가 아닌, 문자로 나타내지는 변수 값 예 ) 남, 여 순서형 변수 명목형과 비슷하지만 순서가 있다. 예) 학점 [ A+, A-, B+, B- ...] 수치형 변수 이산형 변수 셀 수 있고 정수로 사용된다. 연속형과 구분되어야 하기 때문에 서로 독립적이고 이어져 있지 않다. 예) 1명, 2명 연속형 변수 변수 값이 연속적인 수치 예) 10 ~ 20 도수분포표 : 측정 값을 카운트해 정리하는 표(명목형) 상대도수분포표 : 변수 값이 변수 값에서 어떤 비중을 차지하는지 나타내는 것을 상대도수라.. 2022. 3. 11.
[Spring Boot] : @ControllerAdvice실습 공부 @ControllerAdvice @ExceptionHandler를 사용해 예외를 처리했지만 정상 코드와 예외 처리 코드가 하나의 컨트롤러에 있어서 분리하는 수업을진행했다. @Slf4j @RestControllerAdvice(basePackages = "hello.exception.api") public class ExControllerAdvice { @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(IllegalArgumentException.class) public ErrorResult illegalExHandler(IllegalArgumentException e) { log.error("[exceptionHandler] ex", e); return.. 2022. 3. 11.
[TIL] : 135 일일 배움을 위한 Today I Learned ! Docker 도커 컴포즈에 대해 공부하고 있다. 실습을 적용해 보지는 못 하고 있는데 이번에 프로젝트 때 도커를 사용해 볼까 한다. 2022.03.10 - [Server & System/Docker] - [Docker] : 도커 컴포즈 네트워크 2022.03.10 - [Server & System/Docker] - [Docker] : 도커 스웜 모드와 함께 사용하기 Spring Boot ExceptionHandler에 대해 공부하고 있다. API 예외 처리에 대해 점점 발전시켜가며 공부하는 중이다. 2022.03.10 - [Framework/Spring Boot] - [Spring Boot] : @ExceptionHandler 사용해 보기(2) 질문 노트.. 2022. 3. 10.
[질문 노트] : 개발 설계 산출물 작성하는 방법 메뉴구조도 구현할 프로그램 메뉴 구조를 문서화 기능의 뼈대가 되는 문서 메뉴구조도 항목은 사이트맵의 항목으로 생각하면 된다. 프로그램인지 페이지인지 구분을 해야 한다. 프로그램명세서 구현할 프로그램들을 문서화 한 파일이다. 예를 들어 JSP 프로그램이라 생각하면 된다. 회원관리 회원가입 회원정보 수정 로그인 로그아웃 메뉴구조도를 확장시켜 디테일하게 적어준 것이라고 보면 된다. 프로그램 ID를 보고 화면설계서에서 ID를 비교해서 어떻게 구현할지 참고한다. 프로그램 ID는 유일한 값으로 중복되지 않게 작성한다. DB 작업은 CRUD를 체크해 작성한다. C : INSERT R : SELECT U : UPDATE D : DELETE WBS(Work Breakdown Structure) PM이 가장 중요하게 생각.. 2022. 3. 10.
[Docker] : 도커 스웜 모드와 함께 사용하기 stack이 도커 엔진 1.13버전에 추가됐다. 스택은 YAML 파일에서 생성된 컨테이너의 묶음으로 YAML로 스택을 생성하면 YAML에 정의된 서비스가 스웜 모드의 클러스터에서 일괄적으로 생성된다. 스택은 도커 컴포즈 명령인 docker-compose가 아닌 docker stack로 제어해야 한다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 10.
[Docker] : 도커 컴포즈 네트워크 YAML 파일에 네트워크 항목을 정의하지 않으면 도커 컴포즈는 프로젝트별로 브리지 타입의 네트워크를 생성한다. docker-compose up 명령어뿐 아니라 docker-compose scale 명령어로 생성되는 컨테이너 전부가 이 브리지 타입의 네트워크를 사용한다. —net-alias가 서비스의 이름을 갖도록 자동으로 설정된다. 때문에 이 네트워크에 속한 컨테이너는 서비스의 이름으로 서비스 내의 컨테이너에 접근할 수 있다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 10.
[Spring Boot] : @ExceptionHandler 사용해 보기(2) @ExceptionHandler 사용해 보기(2) @Data @AllArgsConstructor public class ErrorResult { private String code; private String message; } 예외가 발생했을 때 API 응답으로 사용하는 객체를 정의한다. @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(IllegalArgumentException.class) public ErrorResult illegalExHandler(IllegalArgumentException e) { log.error("[exceptionHandler] ex", e); return new ErrorResult("BAD", e.getMessa.. 2022. 3. 10.
[TIL] : 134 일일 배움을 위한 Today I Learned ! Spring Boot 간단한 예외처리 예제와 이론을 살짝 공부했다. 2022.03.09 - [Framework/Spring Boot] - [Spring Boot] : @ExceptionHandler 사용해 보기(1) Docker 저번에 끝내지 못 했던 YAML 파일 작성하는 방법에 대해 공부했다. 2022.03.09 - [Server & System/Docker] - [Docker] : YAML 파일 작성(2) 2022. 3. 9.
[Docker] : YAML 파일 작성(2) 볼륨 정의 driver는 볼륨을 생성할 때 사용될 드라이버를 설정한다. external은 YAML 파일에서 volume, volumes-form 옵션을 사용하면 프로젝트마다 볼륨을 생성한다. YAML 파일 검증하기 오타 및 파일 포맷에 대한 검사를 원하면 docker=compose config 명령어를 사용한다. 📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다. 2022. 3. 9.
[Spring Boot] : @ExceptionHandler 사용해 보기(1) API는 각 시스템마다 응답 양식과 스펙이 모두 다르다. 하지만 예외 상황에는 예외에 따라 각기 다른 데이터를 출력할 수 있어야 하고 같은 예외도 어떤 컨트롤러에서 발생했는지에 따라 다른 응답을 내려주는 등 세밀한 제어가 필요하다. 여러 API 예외 처리 문제를 해결하기 위해 @ExceptionHandler를 사용한다. 이 어노테이션은 ExceptionHandlerExceptionResolver라는 예외 처리 기능을 제공한다. 스프링은 ExceptionHandlerExceptionResolver를 기본 제공하고 기본 제공하는 ExceptionResolver 중에서도 우선 순위가 가장 높다. 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다. 2022. 3. 9.
[TIL] : 133 일일 배움을 위한 Today I Learned ! Docker 도커 컴포즈와 YAML 파일 작성에 대해 공부하고 있다. 2022.03.08 - [Server & System/Docker] - [Docker] : 도커 컴포즈의 프로젝트, 서비스, 컨테이너 2022.03.08 - [Server & System/Docker] - [Docker] : YAML 파일 작성(1) MariaDB CentOS에서 MariaDB를 설치하고 셋팅해주고 클라이언트 툴을 통해 접속해 보는 실습을 진행했다. 2022.03.08 - [Data Base/MariaDB] - [MariaDB] : CentOS에서 MariaDB 설치 및 셋팅 Spring Boot 학교 수업에서 스프링 부트를 알려주면서 이론적인 부분 먼저 정리해 봤다. .. 2022. 3. 8.
반응형