묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
단일 데이터베이스 연결
강의 내용에 따르면 order-service1, order-service2 두 개의 인스턴스가 kafka-connect를 사용하기 위해 mariadb에 직접 연결을 맺는것으로 이해했습니다. 제가 궁금한 것은 단일 DB를 사용하는 경우에 kafka를 쓰는 이유입니다.현 강의와 같이 단일 DB를 사용하는 경우라면 kafka를 사용하지 않고, RestTemplate이나 FeignClient와 같은 라이브러리를 사용해서 catalog-service와 통신하고, jpa를 통해 직접 DB에 데이터를 직접 삽입할 수 있을텐데 이 경우 트랜잭션을 잘 처리해준다면 데이터도 동기화 할 수 있다고 생각합니다.다만, 여러 진입점 관리, 트랜잭션 처리 등 따로 처리해야할 부분이 많고 요청이 증가할 수록 kafka의 성능이 우수하기 때문에 kafka를 쓰는 것으로 이해했습니다. 제 생각에 틀린 부분이 있다면 말씀해주시면 감사하겠습니다!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Could not find or load main class org.apache.kafka.connect.cli.ConnectDistributed 에러 해결
confluent-6.1.0\bin\windows\kafka-run-class.bat 파일 안에 rem Classpath addition for release으로 검색하셔서 밑에 코드를 넣으시면 됩니다. rem Classpath addition for LSB style path if exist %BASE_DIR%\share\java\kafka\* ( call :concat %BASE_DIR%\share\java\kafka\* )
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
실습 중에 서비스로 30000포트로 요청이 안들어가네요
[예제] 서비스(Service)를 활용해 백엔드(Spring Boot) 서버와 통신해보기실습중인데 30000 포트로 어플리케이션에 접근이 안되네요kebectl exec -it $pod이름 -- bash 접근해서 curl 로는 요청이 정상이였고 아래 처럼 서비스에 모두 기재 해줬는데도 서비스로 접근하면 연결이 잘 안되네요. port: 8080 targetPort: 8080 nodePort: 30000혹시 sudo kubectl port-forward 팟이름or서비스이름 8080:8080 처리를 추가로 해줘야 하나요 그게 아니라면 뭔가...제가 설정을 잘 못한거 같네요
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
파드 : crashLoopBackoff
[5:00] 분 쯤에 manifest 파일들을 배포한후 get pods 했더니 파드가 정상적으로 작동이 안되더라구요 어떻게 하나요..?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
port forward [6.40]
포트 포워딩을 통해 mysql을 외부에서 접속가능하게 할려고하는데 PS C:\kubernates\mysql-project> kubectl port-forward pod/mysql-deployment-545cb7c695-dxbm7 3306:3306 Unable to listen on port 3306: Listeners failed to create with the following errors: [unable to create listener: Error listen tcp4 127.0.0.1:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions. unable to create listener: Error listen tcp6 [::1]:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.]error: unable to listen on any of the requested ports: [{3306 3306}]이런식으로 오류가 떠서 어떻게 해야될지 모르겠어요...ㅠㅠ
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
도커 이미지 생성 및 소스 빌드에 관한 질문입니다.
12.01 분 쯤에 코드를 수정하시고 바로 docker build로 넘어가시던데 그전에 Spring으로 할때에는 코드 수정하고 ./gradlew clean build라는 명령어와 함께 소스빌드를 거친후 docker build를 하셨는데 혹시 뭔가 차이점이 있을까요??
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
데이터가 null만 나오는 이유
안녕하세요, 질문 드립니다. /catalogs 조회하는 api 에서 catalogService.getAllCatalogs();에서 데이터는 디비에서 잘 들고 오는데 ModelMapper만 통과하면 모든 필드가 null로 return 되고 있습니다. 동일한 스팩의 user-service 에서 user 조회 api는 정상적으로 조회가 됩니다... 이유를 모르겠어서 납깁니다..(created_at 필드는 추가를 하지 않았습니다. 이문제는 아닌 것 같아요)
-
미해결AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
기본 라우팅 테이블을 사용하지 않는 이유가 뭔가요?
라우팅 테이블 생성 실습 시에, 기본으로 생성되어 있는 라우팅 테이블을 수정해서 사용하지 않는 이유가 궁금합니다.기본값으로 설정되어 있기도 한데 말이죠.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
exec /usr/java/openjdk-17/bin/java: exec format error
EC2에서 ECR이미지를 pull하여 실행중에exec /usr/java/openjdk-17/bin/java: exec format error 해당 오류가 계속발생합니다.dockerimage가 ec2의 arm64와 달라서 그렇다는 글도 있어docker buildx build --platform linux/arm64 -t kube-ecr . 해당 명령어로 build하여 ECR에 push도 해보고 했지만 여전히 같은 오류가 발생합니다.어떻게 해결해야할까요??
-
해결됨Microservice 구현 (with EDA,Hexagonal, DDD)
RentalCard 의 calculateLateFee 메서드 구현이 잘못된 것 같습니다.
안녕하세요.calculateLateFee 메서드에 작성해주신 코드 중 아래 부분에 오류가 있는 것이 아닌지 확인 부탁드립니다.private void calculateLateFee(RentalItem rentalItem, LocalDate returnDate) { if (returnDate.compareTo(rentalItem.getOverdueDate()) > 0) { int point = Period.between(rentalItem.getOverdueDate(), returnDate).getDays() * 10; this.lateFee.addPoint(point); //문제 } }아래처럼 수정되어야 하는 것이 아닌지 질문드립니다.private void calculateLateFee(RentalItem rentalItem, LocalDate returnDate) { if (returnDate.compareTo(rentalItem.getOverdueDate()) > 0) { int point = Period.between(rentalItem.getOverdueDate(), returnDate).getDays() * 10; this.setLateFee(this.lateFee.addPoint(point)); //수정 } }감사합니다.
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
섹션 1이나 2 등등 강의 자료는 없는 걸까요?
섹션 1이나 2 등등 강의 자료는 없는 걸까요?
-
해결됨비전공자도 이해할 수 있는 쿠버네티스 입문/실전
Secret와 ConfigMap의 차이가 궁금합니다!
보안적으로 민감한 변수를 저장하기 위해 활용한다고 배웠습니다.그러나 Secret의 작성 방법이 별다른 암복호화 로직없이 configMap과 99% 동일한 것 같아서요. 같은 repository에서 Secret과 ConfigMap가 함께 위치하는 경우ConfigMap에 접근할 수 있는 사용자는 Secret에도 손쉽게 접근할 수 있을것 같다는 생각이 듭니다. Secret이 ConfigMap보다 어떠한 측면에서 보안상의 이점이 있는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
mysql 서버 띄우기
deployment는 정상적으로 띄운거 같은데 위 설정과 같이 데이터 그립에서 연결테스트를하면 해당 오류가 발생합니다.. 왜 그런것일까요?
-
미해결AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
private instance 80포트 연결불가
이런 에러가 뜨는데 bastion-host 및 goopang-private-ec2-instance 생성 시 강의에서도 ssh 22포트 외에 따로 80포트를 허용하는 내용은 보이지 않아서 질문드립니다해당 에러를 80포트를 허용하지 않고도 해결할 수 있나요?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
EC2에서 쿠버네티스로 백엔드(Spring Boot) 서버 띄우기
EC2에서 쿠버네티스로 백엔드(Spring Boot) 서버 띄우기 강의에서kubectl get deployment를 실행하면 ImagePullBackOff 가뜨고 이미지를 가져오지 못하는 데 외 그럴까요 .이틀 밥새도 해결 못해서 문의 들여 봅니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
도커 컨테이너로 동작할 때 user-service에서 403 forbidden 오류 관련
유사한 질문이 있어서 도움이 될 수 있을까 찾아 봤지만 해당 github에 접근할 수 없었고(아마 삭제한 듯), chat GPT를 통해서 답을 얻을 수 있을까 질문을 해 봤지만 해결책이 나오지 않아서 대략 1주일 이상을 헤매고 있었습니다. 그런데 강사님이 다른 분의 질문에 답을 주신 것을 보고 user-service의 SecurityConfig.java 파일에서 .requestMatchers("/**").access( new WebExpressionAuthorizationManager("hasIpAddress('127.0.0.1') or hasIpAddress('172.18.0.5') or hasIpAddress('192.168.0.172')")) // ip address of my pc .anyRequest().authenticated()위의 코드처럼 나의 pc의 ip address를 포함하니 더이상 403 오류가 발생하지 않더군요. 그래서 결국에는 내 pc의 ip address를 포함해야 하는구나라고 생각했습니다. 그런데 동일한 코드를 다른 pc(이 pc에서도 계속해서 403 오류 발생했었음)에서 구동시켰더니 내 pc의 ip address를 변경시키지 않았음에도 403 오류 발생 없이 잘 동작하더군요. 그동안 무엇이 문제였을까요? 물론 github에 올라가 있는 configuration 파일에서도 gateway의 ip adddress를 172.18.0.5로 지정했고, SecurityConfig.java에서도 위의 코드같이 172.18.0.5를 포함했었습니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
pod는 정상적인데 페이지가 안나와요
pod, service, deployment 정상적으로 실행되는데 페이지가 작동하지 않는다고 나옵니다 Hello,World 가 나와야하는데 무엇이 문제일까요
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Serializable에 대해서 질문입니다!
안녕하세요 강사님!제가 토이 프로젝트를 진행했을 때 엔티티에 implements Serializable를 하지 않았을 때 오류가 나지 않고 정상적으로 잘 되었는데(스프링 부트 3.2.4 사용 했습니다)강사님 께서는 앞선 카탈로그 엔티티 및 오더 엔티티에서 둘 다 Serializable를 implements 하셨는데 강의 말씀 하시기를 직렬화 때문에 사용을 하셨다고 말씀해주셨는데 해당과정에서 Serializable을 implements 을 하지 않으면 어떤 부분에서 오류가 나는지 여쭤 볼 수 있을까요??어느 부분에서 implements Serializable가 필요한 부분인지 모르겠습니다 ㅠㅠ보통 일반적으로 스프링에서 Jackson? 으로 직렬화를 자동으로 지원해주어 implements를 따로 해줄 필요가 없다고 알고 있었습니다.기초적인 질문이었다면 먼저 죄송하다는 말씀 드리면서 질문 드리겠습니다!감사합니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
ConfigMap, Secret 매니패스트 파일을 변경했을 때 꼭 Deployment를 restart 해야 하나요?
안녕하세요, 강의 잘 보고 있습니다! 정말 감사합니다. ConfigMap, Secret 등 환경 변수 관리 값들을 조절해보면서나름대로 테스트를 해보고 있습니다. 그런데 갑자기 궁금증이 생겨 문의드려요. 혹시 kubectl apply -f 를 통해 ConfigMap, Secret에 대한 설정을 변경했을 때, Deployment를 재구동하지 않고 실시간으로 반영시킬 수 있는 방법은 없을까요? Deployment가 지금처럼 몇 대 안될 때는 상관 없을 것 같은데 되게 많을 경우에는 재구동하는 것도 부담이 되는 작업일 수도 있을 것 같아서요. (제 개인적인 생각 입니다..)
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
인텔텔리제이 관련
안녕하세요 쿠버네티스 강의듣던중 실습보단 프로그램설치를 못따라가서 문의남깁니다. 현재 윈도우에서 쿠버네티스를 사용하고있습니다.인텔리제이는 무료30일이후 라이센스 비용을내는거같은데혹시 yaml 파일을 만들수있는 프로그램이있을까요? 그리고 터미널에서 kubectl 명령어는 인텔리제이에서만 제공하는 기능일까요 ?