묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
최종 미션 아키텍처 적용 후에 CI/CD 문제 질문 드립니다
퍼블릭 서브넷: Bastion host (외부 접속용)프라이빗 서브넷: 실제 EC2 애플리케이션 서버목표: GitHub Actions + Docker를 사용해 프라이빗 EC2에 배포제가 찾은 방법은 첫번째로GitHub Actions에서 Bastion host로 먼저 SSH 접속 Bastion에서 프라이빗 EC2로 SSH 중계내부 EC2에서 Docker pull & deploy방식인데요 이 방식으로 하려면 bastion host 보안 그룹 인바운드 규칙을 모든 IP 허용을 해야해서 이게 맞나 싶습니다.그리고 다른 방법은 github self-hosted runner를 쓰는 건데요. 아직 잘 모르는 영역이라 해보기 전에 질문 올립니다.제가 말한 방법 이외에 또 다른 방법이 있는지 궁금하기도 해서 도와주시면 감사하겟습니다
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
섹션5 21강 Loki 설치 진행중인데
똑같이 진행했는데 username 과 password를 입력하라고나오는데...원래 이렇게나오는걸까요? 아니면 따로 진행해줘야하는 부분이있을까요?
-
미해결실전에서 바로 써먹는 Kafka 입문
Connection -1
이 에러가 자꾸 뜨는데 어떻게 해결해야 할지 감이 안 잡혀 질문 들빈다.서버를 다시 키고 해도 똑같은 에러가 계속 발생합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
무게감있게 설치하는 방법 - Mac 환경 질문
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다.5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)6. 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요! 안녕하세요 강사님, 현재 강의를 막 시작해서 무게감있게 설치하는 방법 부분을 듣고있는데요,제가 맥북(m4)을 사용중인데, 무게감있게 설치하는 방법 -> 요 부분이 아무래도 window os에 맞춰져있다보니, mac환경에서 실습시에는 조금 걸러서 들어야할 부분이 있는것으로 보입니다. vagrant부분만 제외하고 나머지 부분은 모두 동일하다고 가정하고 진행하면 될지, 맥환경에서의참고할만한 자료가있는지 문의드립니다. 감사합니다 :)
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
강의 잘보고있습니다. 책좀 추천받고싶습니다.
강의는 계속 복습할거지만 강의를 듣다보니 더 딥하게 알고싶어졌는데 추천해주실만한 책이 있으실까요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
analyser를 인덱스 삭제후에 설정하던데 인덱스 생성후에도 analyser 수정이 가능한가요?
analyser를 인덱스 삭제후에 설정하던데 인덱스 생성후에도 analyser 수정이 가능한가요?
-
미해결대세는 쿠버네티스 (초급~중급편)
PVC실습 질문 (왜 hostPath 실습이 영향을 주는지)
안녕하세요. 강사님Volume-실습 강의 11:42에서"아까 hostPath실습에 만들어 놓은 path를 사용하기 떄문에 file.txt가 보인다" 위 말씀을 통해 아래와 같이 결론을 낼 수 있을까요?hostPath실습때 만든 Volume과PVC 실습에서 만든 PV는 워커노드1의 /node-v 경로를 공유한다 왜냐하면
-
미해결비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
MSA강의 보다 궁금해서 질문드립니다.
MSA강의보다 질문드립니다.제가 쇼핑몰을 만든다고하면.회원관리 서비스,상품서비스,포인트 서비스,결제서비스,게시판 서비스를 만들었을경우..환경설정..이나 유틸 서비스나.. Mybatis연결한다고 가정할경우,,각 서비스 마다 작성해야하는지..별도의 서비스를 만들어 제어를 해야하는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
29 프라이빗 서브넷 접속시 오류문제
터미널에서 ssh 접속이 안되요.bash에서 접속해도 타임아웃이 됩니다.브라우저 연결시는 연결이 됩니다. 안되는 이유는 무엇이고, 차선으로 할수 있는 방법이 있는지 궁금합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
내부 Pod간 통신 시 Nginx 사용
참고 강의- Nginx 사용시 마주하게 되는 상황들과 해결 방법 (09:00) 질문Pod간 통신 시 nginx를 통해서 통신하게 끔 하는게 실무에서 보편적으로 많이 사용하는 방법일까요? Pod랑 연결된 Service의 DNS를 호출하는 식으로 사용하면 ingress에 추가 설정도 안해도 되고.. nginx를 사용하지 않으니 nginx에 부하도 덜 주고 하는 장점들이 있는 것 같아서요. 감사합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
NFVO 플랫폼 관련
안녕하세요.말씀해주신 NFVO라는 플랫폼에 대해 검색해 보았을 때 나오는 결과가 없는 것 같은데, 사내 자체 솔루션을 의미하신거였을까요?
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
bastion-server에서 private Ec2로 접근했을 때 git clone 오류
: Failed to connect to github.com port 443 after 136343 ms: Couldn't connect to servergit clone 받을 때 보안 그룹을 따로 설정해서 처리해야할까요 ???
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
bastion host와 고가용성
가용영역 a와 b를 둔 이유는 고가용성을 위해서 만든 건데 만약 bastion host를 둔 가용영역 a가 장애가 발생하면 bastion host 또한 장애가 발생하기 때문에 실제 배포 단계에서는 bastion host를 가용영역 b에도 배치해야 하지 않나요?그래야 진정한 고가용성 아닌가요??
-
미해결대세는 쿠버네티스 (초급~중급편)
ingress실습에서 canary-v2 를 지우고 canary-kr 을 생성해야하는 이유
동일한 host path 조합에서 canary ingress를 하나만 두어야하는건가요? 여러개 두었을때 동작이 canary-kr 이 제대로 동작하지 않는건 확인하긴했는데 이게 기존 canary 가 우선 적용되는건지 랜덤 적용되는건지 궁금해서요
-
미해결실전에서 바로 써먹는 Kafka 입문
적정 파티션 개수 계산하는 방법 질문드립니다
안녕하세요 강사님 질문을 자주올리는것같아 죄송하고 답변달아주셔서 감사합니다.pdf에 나온것처럼 프로듀서가 보내는 메시지량은 120하나의 쓰레드가 처리하는 메세지량 0.3 을기준으로토픽의 파티션을 400개로 생성했을때어플리케이션 서비스의 max 스레드가 기본값 200이라 가정하에 파티션 400개를 처리하려면 스레드가 200개가 더 필요하니 대부분 실무에서는 200 스레드 기준으로 2개의 컨슈머 서비스를 구동시키나요?추가로 부하테스트 강의에도 지금 강의에 설명되는 파트가 ( 카프카 파티션구하기 관련? ) 따로 있는지도 궁금합니다
-
미해결실전에서 바로 써먹는 Kafka 입문
섹션5 33 질문드립니다
안녕하세요 강사님지금은 샘플 프로젝트라 하나의 컨슈머 서버에서파티션3개를 처리하고있는데만약 email.send topic기준으로 파티션을 5개 생성했을때 컨슈머 서버도 5개를 띄우는게 일반적인가요?실무기준으로 궁금합니다추가로 하나의 컨슈머에서 지금은 email.send 토픽만 구독하고있는데 만약 토픽이 slack.send , telegram.send 등 여러가지가 있을경우 컨슈머 어플리케이션에서 카프카리스너를 다중으로 등록하는게 일반적인가요 아니면 각 토픽마다 서비스를 띄우는게 일반적인가요?만약 각 토픽마다 서비스를 띄운다가정했을때email.send topic 파티션 5개 => 서비스 5개 구동 필요slack.send topic 파티션 3개 => 서비스 3개 구동 필요총 8개가 띄워지는게 일반적인건지 .. 실무기준으로 궁금합니다
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
로컬 개발환경 구축시 k8s 환경에 대한 테스트는 어떻게 하는지 궁금합니다.
안녕하세요. 로컬 k8s 구축에 대한 궁금증이 생겨서 질문남깁니다.개발환경을 구축해야하는 상황이 생겨 강사님의 개발환경 구축 편을 보았는데, 도커를 사용해서 이미지를 띄우는 작업 까지만 하셨더라구요.저는 로컬 k8s 환경을 구축한 뒤 소스코드 변경시 로컬 k8s 환경에서 확인하는 작업까지라고 생각했었습니다.여기서 궁금한게 로컬에서 개발시 구축환경은 어디까지인가? 라는 점입니다. 감사합니다.
-
미해결실전에서 바로 써먹는 Kafka 입문
aws아닌 도커로는 안되나요?
aws 인스턴스 종료를 하는 경우 퍼블릭 ip가 바뀌어 proeprties내용을 변경해야하는 상황이 계속 발생하는데 도커로 진행해도 강의 수강에 지장없을까요?
-
미해결실전에서 바로 써먹는 Kafka 입문
파티션 증가 질문드립니다
안녕하세요 강사님파티션의경우 줄일수 없다고 설명해주셨는데만약 예로들어 실무에서 하나의 토픽 기준으로 3개의 파티션으로 작업도중 데이터 처리량이 많아져서 랙이 쌓이는걸 확인했을때파티션을 늘리고 컨슈머도 늘린다고 가정했을때따로 문제는없는걸까요? ( 줄이는경우에는 새로운 토픽을 생성하여 마이그레이션 한다고 설명해주셨는데 늘리는건 실제 사용중 파티션을 늘렸을때 아무런 문제가 없는지 궁금합니다 )
-
미해결실전에서 바로 써먹는 Kafka 입문
섹션7 51 컨슈머서버 무한 리로드?
이전에 컨슈머 서버 ( email-send-consumer ) 에서는 문제가없었는데마지막 email-service에서는2025-08-28T23:50:12.394+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] Discovered group coordinator 13.209.11.23:9092 (id: 2147483646 rack: null)2025-08-28T23:50:12.394+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] Request joining group due to: rebalance failed due to 'The coordinator is not available.' (CoordinatorNotAvailableException)2025-08-28T23:50:12.396+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] Discovered group coordinator 13.209.11.23:9092 (id: 2147483646 rack: null)2025-08-28T23:50:12.396+09:00 INFO 40252 --- [ner#0.dlt-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-30, groupId=email-service.dlt] (Re-)joining group2025-08-28T23:50:12.396+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] Request joining group due to: rebalance failed due to 'The coordinator is not available.' (CoordinatorNotAvailableException)2025-08-28T23:50:12.399+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] (Re-)joining group2025-08-28T23:50:12.401+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] (Re-)joining group2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-30, groupId=email-service.dlt] Successfully joined group with generation Generation{generationId=261, memberId='consumer-email-service.dlt-30-5a032e9e-a903-4fb7-9004-487d74eb6c79', protocol='range'}2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] Successfully joined group with generation Generation{generationId=261, memberId='consumer-email-service.dlt-31-0cdcda6c-6ddf-4e0b-980a-868f587ed2bd', protocol='range'}2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] Successfully joined group with generation Generation{generationId=261, memberId='consumer-email-service.dlt-29-2b16177f-2cc3-44c0-b244-50109078218e', protocol='range'}2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-30, groupId=email-service.dlt] Finished assignment for group at generation 261: {consumer-email-service.dlt-31-0cdcda6c-6ddf-4e0b-980a-868f587ed2bd=Assignment(partitions=[]), consumer-email-service.dlt-29-2b16177f-2cc3-44c0-b244-50109078218e=Assignment(partitions=[user.signed-up.dlt-0]), consumer-email-service.dlt-30-5a032e9e-a903-4fb7-9004-487d74eb6c79=Assignment(partitions=[])}...이런식으로 계속 로그가 반복됩니다프로듀서에 발행은 완료됐고 cli에서 메세지도 확인했는데컨슈머서버에서 저렇게 자꾸 정상적으로 작동을 하지않습니다 @Service public class UserSignedUpEventConsumer { private final EmailLogRepository emailLogRepository; public UserSignedUpEventConsumer(EmailLogRepository emailLogRepository) { this.emailLogRepository = emailLogRepository; } @KafkaListener( topics = "user.signed-up", groupId = "email-service", concurrency = "3" ) @RetryableTopic( attempts = "5", backoff = @Backoff(delay = 1000, multiplier = 2), // 1 초 2초 4초 8초 16초 5번 dltTopicSuffix = ".dlt" ) public void consume(String message) throws InterruptedException { UserSignedUpEvent userSignedUpEvent = UserSignedUpEvent.fromJson(message); // 실제 이메일 발송 로직 String receiverEmail = userSignedUpEvent.getEmail(); String subject = userSignedUpEvent.getName() + "님 회원가입 ㅊㅋ"; Thread.sleep(3000); System.out.println("메일 발송 완료"); // 이메일 발송 로그 저장 EmailLog emailLog = new EmailLog(userSignedUpEvent.getUserId(), receiverEmail, subject); emailLogRepository.save(emailLog); } 강사님 코드랑 이전 email-send-consumer 서비스 코드 및 야믈파일도 몇번 확인했는데 다른점이 없습니다 왜그런걸까요