24년도에 수업 조금 들으면서 따라하다가 이번에 다시 마음 먹고 따라하고 있는데 설치 너무 어렵네요 ㅜㅜ [root@k8s-master ~]# k get pods -A E0217 14:17:02.299033 4108 memcache.go:265] couldn't get current server API group list: Get "https://192.168.56.30:6443/api?timeout=32s": dial tcp 192.168.56.30:6443: connect: connection refused E0217 14:17:02.300406 4108 memcache.go:265] couldn't get current server API group list: Get "https://192.168.56.30:6443/api?timeout=32s": dial tcp 192.168.56.30:6443: connect: connection refused E0217 14:17:02.300621 4108 memcache.go:265] couldn't get current server API group list: Get "https://192.168.56.30:6443/api?timeout=32s": dial tcp 192.168.56.30:6443: connect: connection refused E0217 14:17:02.302316 4108 memcache.go:265] couldn't get current server API group list: Get "https://192.168.56.30:6443/api?timeout=32s": dial tcp 192.168.56.30:6443: connect: connection refused E0217 14:17:02.304096 4108 memcache.go:265] couldn't get current server API group list: Get "https://192.168.56.30:6443/api?timeout=32s": dial tcp 192.168.56.30:6443: connect: connection refused The connection to the server 192.168.56.30:6443 was refused - did you specify the right host or port?
안녕하세요, 선생님. 항상 유익하고 훌륭한 강의 제공해 주셔서 진심으로 감사드립니다. 다름이 아니라, 강의를 수강하던 중 이해가 충분하지 않은 부분이 있어 조심스럽게 질문드립니다. 37강 3분 25초에서 NACL은 특정 트래픽에 대해 접근 허용(Allow) 규칙을 추가할 수도 있고, 접근 차단(Allow) 규칙을 추가할 수도 있다 고 강의 자료에 나와있는데, 이 부분이 잘 이해되지 않아 문의드립니다. 일반적으로 접근 차단은 Deny로 설정하는 것으로 알고 있어, 접근 차단이 Deny가 아닌 Allow로 표현되는 이유가 무엇인지 궁금합니다. 해당 개념에 대해 조금 더 상세히 설명해 주시면 큰 도움이 될 것 같습니다. 바쁘시겠지만 확인 부탁드리며, 답변 주시면 감사하겠습니다. 감사합니다.
12. 📝 빠르고 쉽게 설치하는 방법 ( 💻 실습) 보면서 설치하고 있는데 vagrant plugin install vagrant-vbguest vagrant-disksize 이게 안되서 여기 게시글과 LLM에 물어보니 ssl, 무시 http요청을 시도해봤는데 안됐습니다 플러그인을 설치 안해서 그런지 vagrant up 명령어로 실행이 안되는것 같습니다. 아래는 명령어와 오륜 내용 입니다. vagrant plugin install vagrant-vbguest Installing the 'vagrant-vbguest' plugin. This can take a few minutes... Vagrant failed to load a configured plugin source. This can be caused by a variety of issues including: transient connectivity issues, proxy filtering rejecting access to a configured plugin source, or a configured plugin source not responding correctly. Please review the error message below to help resolve the issue: IO::TimeoutError: Failed to open TCP connection to gems.hashicorp.com:443 (Blocking operation timed out!) ( https://gems.hashicorp.com/specs.4.8.gz ) Source: https://gems.hashicorp.com/
현상: 아래에도 동일하게 이슈 올려주신 분이 있는 것으로 보이는데 postman으로 다음과 같이 요청하였을 때, kafka에서 DLT 소비하는 과정에서 무한 반복하는 현상이 발생하면서 DLT 토픽 자체에 계속 쌓이게 됩니다! @RetryableTopic에 autoStartDltHandler = False 설정을 해주거나, @DLTHandler를 정의 해줘야 DLT 소비를 무한으로 하지 않는 것 같은데 뭔가 설정이 잘못 된게 있을까요? ㅠ 요청 파라미터: { "from": "sender@naver.com", "to": "fail@naver.com", "subject": "heyyyy", "body": "helloo" } 2026-02-01T15:53:25.480+09:00 ERROR 15124 --- [email-send-consumer] [ner#0.dlt-0-C-1] k.r.DeadLetterPublishingRecovererFactory : Record: topic = email.send.dlt, partition = 0, offset = 605, main topic = email.send threw an error at topic email.send.dlt and won't be retried. Sending to DLT with name email.send.dlt. org.springframework.kafka.listener.ListenerExecutionFailedException: Listener failed at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.decorateException(KafkaMessageListenerContainer.java:3014) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2914) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2880) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2790) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2632) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2526) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2164) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1541) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1479) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1348) ~[spring-kafka-4.0.2.jar:4.0.2] at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] Caused by: org.springframework.kafka.listener.TimestampedException: Exception thrown at 2026-02-01T06:53:25.480044400Z at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:100) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:49) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2901) ~[spring-kafka-4.0.2.jar:4.0.2] ... 10 common frames omitted Caused by: org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.checkAckArg(MessagingMessageListenerAdapter.java:519) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:496) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:425) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:52) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.invokeDelegateOnMessage(KafkaBackoffAwareMessageListenerAdapter.java:106) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:97) ~[spring-kafka-4.0.2.jar:4.0.2] ... 12 common frames omitted Caused by: java.lang.IllegalStateException: No Acknowledgment available as an argument, the listener container must have a MANUAL AckMode to populate the Acknowledgment. ... 19 common frames omitted Caused by: org.springframework.kafka.listener.TimestampedException: Exception thrown at 2026-02-01T06:53:25.480044400Z Caused by: org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed Caused by: java.lang.IllegalStateException: No Acknowledgment available as an argument, the listener container must have a MANUAL AckMode to populate the Acknowledgment. > Task :com.example.emailsendconsumer.EmailSendConsumerApplication.main() FAILED Execution failed for task ':com.example.emailsendconsumer.EmailSendConsumerApplication.main()'. > Build cancelled while executing task ':com.example.emailsendconsumer.EmailSendConsumerApplication.main()' * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights from a Build Scan (powered by Develocity). > Get more help at https://help.gradle.org. BUILD FAILED in 17s 3 actionable tasks: 2 executed, 1 up-to-date 코드 발생: 오류 발생하는 것으로 보이는 consumer 코드는 다음과 같습니다. 우선 강사님 코드와 다른 점은 Backoff 부분인데 이건 라이브러리 버전 문제 인 것 같아서 넘어갔습니다. @Service public class EmailSendConsumer { @KafkaListener( topics = "email.send", groupId = "email-send-group" ) @RetryableTopic( attempts = "5", backOff = @org.springframework.kafka.annotation.BackOff( delay = 1000, multiplier = 2.0 ), dltTopicSuffix = ".dlt" ) public void consume(String message) { System.out.println("Received message: " + message); EmailSendMessage emailSendMessage = EmailSendMessage.fromJson(message); if (emailSendMessage.getTo().equals("fail@naver.com")) { // 잘못된 이메일 주소로 인해 발송 실패 throw new RuntimeException("Simulated email sending failure"); } // 이메일 전송 로직 구현 생략 (예: SMTP 서버를 통해 이메일 전송) try { Thread.sleep(3000); } catch (InterruptedException e) { throw new RuntimeException("Email sending interrupted", e); } System.out.println("Email sent to: " + emailSendMessage.getTo()); } }
해답에 (A)가 오답인 이유가 Glacier 유형은 법/감사/규정 목적으로 장기 보관해야 되는 경우에만 사용하기 때문이라고 해설이 되어 있는데 문제에는 회사의 보안 규정에 스토리지 전략을 따르는 것으로 주어져 있습니다. 문제에서의 회사의 보안 규정이 법/감사/규정에 포함되지 않는건가요?
안녕하세요 선생님, 강의 복습 중에 조금 헷갈리는 부분이 생겨서 문의드립니다. 현재 github 에서 제공해주시는 SUBSMANAER 프로젝트에서 yaml/01-basic/ingress/sm-ingress-domain.yaml 파일에 보시면 다음과 같습니다. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sm-ingress namespace: subsmanager spec: ingressClassName: nginx rules: - host: subs-manager.com http: paths: - path: / pathType: Prefix backend: service: name: sm-frontend port: number: 80 - path: /users pathType: Prefix backend: service: name: sm-user port: number: 80 - path: /sub pathType: Prefix backend: service: name: sm-subs port: number: 80 - path: /recommend pathType: Prefix backend: service: name: sm-reco port: number: 80 그리고 sm-frontend/nginx.conf 파일을 보면 아래와 같이 설정되어 있습니다. server { listen 80; location / { root /usr/share/nginx/html; index index.html; try_files $uri $uri/ /index.html; } # API 요청을 백엔드 서버로 프록시 location /users { proxy_pass http://sm-user:5000; } location /sub { proxy_pass http://sm-subs:5000; } location /recommend { proxy_pass http://sm-reco:5000; } } 여기서 갑자기 헷갈립니다. 애초에 ingress 단에서 /sub/ /recommend , /user 요청에 대한 처리를 중간에 가로채서 처리를 하고 있는데, 굳이 frontend 에서 사용하는 nginx.conf 에도 설정하는 것이 좀 와닿지 않습니다. 이렇게 중복으로 설정해야되는 이유가 뭔지 궁금합니다!
실습 중에 위와 같이 앞에 이상한 문자가 추가되는데 혹시 해결법을 아실까요? 붙여 넣기 하지 않고 직접 타이핑하고 있는데도 이상한 문자가 앞에 삽입이 되는 것 같습니다. 윈도우 환경에서 git bash 사용하고 있습니다. 안녕하세요. 황현우입니다. 강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요. 실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다. 질문은 가능한 빠르게 답변 드리겠습니다. 😀 감사합니다.
안녕하세요 강의 잘 보고 있습니다. 강의에서 구성하신 아키텍처가 아래와 같습니다. 근데 궁금한 부분이 만약에 저기에 S3를 넣는다면 구조가 어떻게 바뀌게 되는건가요?? 클라이언트 - S3 - 인터넷 게이트웨이. 이런 형태가 되는걸까요? 다른 자료에서는 아래와 같이 아키텍처를 구성해서 헷갈리더라구요
안녕하세요 현재 수동설치로 진행중인데 kubeadm, kubelet, kubectl 패키지까지는 설치가 잘 진행 되었습니다 문제는 클 러스터 초기화 및 pod network 세팅 과정인데요 kubeadm init --pod-network-cidr=20.96.0.0/12 --apiserver-advertise-address 192.168.56.30 명령어 실행 후에 다음과 같은 문제가 발생하였습니다 현재 이런 로그가 뜨는데 뭐때문에 그러는 건지 궁금합니다 그리고 vagrantfile에 kube패키지 설치하는 구간에서 SHELL $install_master = <<-SHELL 리눅스에서 명령어로 입력해도 안되는 것 같은데 의미가 궁금합니다
현재 사정상 회사망에서 구성을 하여 공부해볼 생각인데 말그대로 회사망이라서 vagrant를 사용하는 데에 제한이 있습니다 그래서 직접 설치할 예정이고 github에 올려주신 vagrantfile 내용을 토대로 설치해볼 생각인데 rocky 리눅스 같은 경우 8버전을 쓰는지도 궁금하고 minimal 버전으로 설치해서 구성하는지도 궁금합니다 이전에도 비슷한 내용으로 질문 드린 적이 있긴한데 제가 알고 있는 지식이 많지 않아 한계가 있어서 차근 차근 설치해 보면서 공부해 보려고 하는데 이전에도 언급해주신 적이 있어서 우선 카페에 올려주신 mac 설치 버전을 기점으로 참고하여 설치해보려고 합니다