묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결대세는 쿠버네티스 (초급~중급편)
환경 구성에 있어서 질문드립니다
현재 사정상 회사망에서 구성을 하여 공부해볼 생각인데 말그대로 회사망이라서 vagrant를 사용하는 데에 제한이 있습니다 그래서 직접 설치할 예정이고 github에 올려주신 vagrantfile 내용을 토대로 설치해볼 생각인데 rocky 리눅스 같은 경우 8버전을 쓰는지도 궁금하고 minimal 버전으로 설치해서 구성하는지도 궁금합니다 이전에도 비슷한 내용으로 질문 드린 적이 있긴한데 제가 알고 있는 지식이 많지 않아 한계가 있어서 차근 차근 설치해 보면서 공부해 보려고 하는데 이전에도 언급해주신 적이 있어서 우선 카페에 올려주신 mac 설치 버전을 기점으로 참고하여 설치해보려고 합니다
-
미해결대세는 쿠버네티스 (초급~중급편)
configMap 파일생성
configMap과 Secret을 파일로만들었는데 목록에서 안보입니다 파일이 없다고 떠서 pod도 생성실패되었엇어요 ConfigMap, Secret-실습 2:44영상
-
미해결비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
보상 트랜잭션을 위한 catch 문 안에서 에러가 발생한다면 어떻게 되는 건가요?
만약 에러가 나서 보상 트랜잭션이 발생했는데 거기서 또 에러가 난다면 따로 모니터링 시스템 같은 걸 구축해서 추후에 수동으로 롤백을 시켜주어야하는 방식일까요? (동기식 일때 입니다!)
-
미해결대세는 쿠버네티스 (초급~중급편)
dashboard에서 pod 생성이 되지 않습니다.
안녕하세요 제 설치환경은 mac이고 카페에 올라가 있는 가이드대로 설치하고 노드연결까지 완료했습니다.대시보드에 접속해서 pod 생성하려고 하는데 권한이 없는지 해당화면이 나옵니다. 해결할 수 있는 좋은 방법이 있을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
Volume과 VolumeMount는 왜 나눠놨을까요?
안녕하세요.수업 중 뜬금없이 든 생각인데요.. 마운트 되지 않으면 볼륨을 붙일 필요가 없을텐데 왜 볼륨과 볼륨마운트를 나눠놨을까요?그냥 든 생각은 볼륨은 파드에 할당하고 볼륨마운트는 컨테이너에 할당하는 속성이라서 그런가(?) 생각도 들긴 하는데요.. 혹시 이유가 있을까요?
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
예상 기출 문제 오탈자 제보
제공해 주신 기출문제 PDF에서 오탈자를 발견하여 제보드립니다. p5. "분ㅅ거해" > "분석해"p51. "리로스" > "리소스"좋은 강의에 감사드립니다 : )
-
미해결대세는 쿠버네티스 (초급~중급편)
nodePort 서비스 접근 Client sent an HTTP request to an HTTPS server
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다.5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) Service-실습 4:16 강의 보면서 따라 하는데 >curl 192.168.56.31:30000/hostnameClient sent an HTTP request to an HTTPS servercurl -k https://192.168.56.31:30000/hostname404 page not found이렇게 뜨네요 ㅠ
-
미해결대세는 쿠버네티스 (초급~중급편)
대시보드 화면이 달라요 ㅠㅠ
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다.5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) Service-실습 3:34 여기서 노드포트 서비스 생성 후 엔드포인트에 포트가 두개가 나온는데요 제 대쉬보드는 이상하게 강의에 나오는것과 계속 달라도 무시하고 쭉 진행했는데 이번에는 포트가 안보여서요강의에는 상세-> 내부엔드포인트에 포트가 두개나옴 저는 메타데이터만 보여요 ㅠㅠ
-
미해결대세는 쿠버네티스 (초급~중급편)
대시보드 접근이 안됩니다!
mac m 시리즈 사용중이라 자료 확인해서 노드2대 설치 및 마스터에 조인까지 완료하였는데요![root@k8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSIONk8s-master NotReady control-plane 12m v1.27.2k8s-node1 NotReady 28s v1.27.2 대시보드는 ERR_ADDRESS_UNREACHABLE 에러와 함께 접속이 안됩니다 ㅠㅠ 우선 ping 192.168.56.30 했을때는 이상이 없고30000 포트가 열려있는지 확인하고자 netstat 명령어 사용해보려고 했는데 명령어 설치가 안되어 있어서 확인을 못하였고(혹시 설치시 문제가 생길까봐 설치하지 않았습니다!) 제 피씨에서 telnet 으로 확인하면 30000 포트 확인 시 telnet 연결이 안되어서 포트가 막혀있는게 아닐까 싶기도 한데어떤 부분을 확인해야 할까요 ㅠㅠ?
-
미해결실전에서 바로 써먹는 Kafka 입문
잘못된 이메일 주소로 인해 발송 실패 코드
POSTMAN에to: fail@naver.com 으로 변경하여 send할 시총 5번 재시도 후 강사님 처럼 멈추지 않고 아래 에러가 무한 반복이 됩니다. 2026-01-04T20:45:42.814+09:00 ERROR 20160 --- [ner#0.dlt-0-C-1] k.r.DeadLetterPublishingRecovererFactory : Record: topic = email.send.dlt, partition = 0, offset = 2, 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:3011) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2911) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2877) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2787) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2629) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2523) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2161) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1538) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1476) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1345) ~[spring-kafka-4.0.1.jar:4.0.1] 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-01-04T11:45:42.814281400Z at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:100) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:49) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2898) ~[spring-kafka-4.0.1.jar:4.0.1] ... 10 common frames omittedCaused by: org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.checkAckArg(MessagingMessageListenerAdapter.java:519) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:496) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:425) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:52) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.invokeDelegateOnMessage(KafkaBackoffAwareMessageListenerAdapter.java:106) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:97) ~[spring-kafka-4.0.1.jar:4.0.1] ... 12 common frames omittedCaused 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위
-
미해결대세는 쿠버네티스 (초급~중급편)
Ingress실습에 난관이 있습니다
안녕하세요 강사님.Ingress실습환경을 구축을 위해 아래 Nginx설치 소스가 사용되고 있습니다. (카페 실습자료실 Ingress 페이지의 첫번째 명령문입니다)kubectl apply -f https://raw.githubusercontent.com/k8s-1pro/install/refs/heads/main/ground/k8s-1.27/nginx-1.8.2/nginx-controller.yaml위 배포파일을 열람해보면 정말 많은 속성들과 쿠버네티스 자원들이 사용되고 있는데요. 이 자원들에 대한 상세한 이해는 건너띄고 학습을 진행하는 것이 도움이 될까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Image updater 1.0 이후 CRD 기반 변경 시 적용 방법 공유합니다.
강사님께서 잘 만들어주신 강의 자료를 그대로 실행해서 실습하는 것도 좋겠지만, 하나 하나 최신 버전으로 설치 구성을 해보면서 섹션 19까지 오게 되었습니다. (그래서 버전이 달라서 안되는 부분은 죄송해서 질문도 못드렸어요.. ^^;)가장 어려웠던 부분은 loki의 promtail이 사라지고 alloy로 바뀌면서 설치 후 구성해주는 부분과 Image Updater가 annotation 기반에서 CRD 기반으로 바뀐 부분 같아요.강사님께서 알려주신 annotation을 Image updater 1.0 이후 버전에 적용하는 경우 아래의 CRD를 apply 하면 동일하게 동작합니다.현재 버전: 1.0.4(name strategy가 alphabetical으로 변경되었어요.)apiVersion: argocd-image-updater.argoproj.io/v1alpha1 kind: ImageUpdater metadata: name: api-tester-2232 spec: applicationRefs: - images: - alias: <alias> commonUpdateSettings: allowTags: regexp:^1.1.1-[0-9]{6}.[0-9]{6}$ updateStrategy: alphabetical imageName: <Username>/api-tester namePattern: api-tester-2232 namespace: <argo namespace>
-
해결됨[2026 NEW] 기초부터 이해하는 쉬운 쿠버네티스 - 리소스편
"49. 구독매니저 YAML 구조" 강의 kubectl apply 시 에러
안녕하세요, 현재 Window 11 환경에서 실습을 진행하는데 실습 중 문제가 발생하여 문의드립니다. 49. 구독매니저 YAML 구조 강의의 02:09 때 kubectl apply -f . 명령어를 사용한 후에 계속해서 Pod 생성 시에 ImagePullBackOff, CrashLoopBackOff 가 발생합니다. 문제가 발생한 POD 는 다음과 같고, 문제를 일으키는 문제들은 공통적으로 아래와 같은 메시지를 갖고 있었습니다. (kubectl describe 사용)
-
해결됨[2026 NEW] 기초부터 이해하는 쉬운 쿠버네티스 - 리소스편
[섹션6 > sm-user] 에서 docker run 실행 부분이 생략된 거 같습니다.
안녕하세요, 강의 들으면서 실습을 따라하던 중에 흐름이 끊기는 부분이 생겨서 문의드립니다. 섹션6 > sm-subs 강의 에서 04:52 에 나오는 python test/api_test.py 를 성공시키려면 일단 sm-user container 를 실행시켜야 하는데, 해당 컨테이너를 run 하는 부분이 섹션6 > sm-user 강의에 없는 거 같습니다. 일단은 아래처럼 명령어를 실행해서 진행하고 있는데 맞을까요?cd sm-user docker build -t sm-user . docker run -d -p 5000:5000 --name=sm-user --network=sm-network -e DB_HOST=sm-db sm-user
-
해결됨[2026 NEW] 기초부터 이해하는 쉬운 쿠버네티스 - 리소스편
"서비스와 DNS" 강의에서 사용되는 devwikirepo/ipbot 의 platform 문제
안녕하세요, 실습을 진행하던 중 문제가 발생하여 문의드립니다. 미리 말씀드리지만 저는 현재 Window 11 환경에서 실습을 진행중입니다. "서비스와 DNS" 목차에서 03:57 즈음에 알져주시는 명령어를 그대로 입력해봤습니다.사용 명령어: kubectl run -it --rm --image=devwikirepo/ipbot debug -n hr -- /bin/bash그랬더니 아래와 같은 에러가 발생했습니다.pod 생성 중에 문제가 생긴거 같아서 kubectl describe 명령어로 상태를 조회해봤습니다.ToastBread → kubectl describe pod debug -n hr Name: debug Namespace: hr Priority: 0 Service Account: default Node: easykube-worker3/172.22.0.3 Start Time: Wed, 31 Dec 2025 14:57:42 +0900 Labels: run=debug Annotations: <none> Status: Pending IP: 10.244.3.4 IPs: IP: 10.244.3.4 Containers: debug: Container ID: Image: devwikirepo/ipbot Image ID: Port: <none> Host Port: <none> Args: /bin/bash State: Waiting Reason: ImagePullBackOff Ready: False Restart Count: 0 Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-pd54v (ro) Conditions: Type Status PodReadyToStartContainers True Initialized True Ready False ContainersReady False PodScheduled True Volumes: kube-api-access-pd54v: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt Optional: false DownwardAPI: true QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m2s default-scheduler Successfully assigned hr/debug to easykube-worker3 Normal BackOff 24s (x5 over 116s) kubelet Back-off pulling image "devwikirepo/ipbot" Warning Failed 24s (x5 over 116s) kubelet Error: ImagePullBackOff Normal Pulling 6s (x4 over 2m2s) kubelet Pulling image "devwikirepo/ipbot" Warning Failed 3s (x4 over 116s) kubelet Failed to pull image "devwikirepo/ipbot": rpc error: code = NotFound desc = failed to pull and unpack image "docker.io/devwikirepo/ipbot:latest": no match for platform in manifest: not found Warning Failed 3s (x4 over 116s) kubelet Error: ErrImagePull 맨끝에 Events 를 보니 ImagePullBackOff 보고 처음에는 이미지 이름의 철자를 틀렸나 생각했지만,해당 이름을 그대로 복사해서 docker hub 에서 검색해보니 잘나왔습니다.좀 더 알아보니 no match for platform in manifest 이라는 문구가 눈에 들어와서 이게 CPU 아키텍처가 호환이 안되는 걸 알아냈습니다. linux/amd64Window 환경에서도 실행할 수 있는 AMD64 도 지원해주실 수 있을까요??
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
기본 values 파일과 service name에 대한 질문이 있습니다.
안녕하세요.섹션 18에서 values-dev.yaml과 같은 파일을 만들면, values.yaml은 자동으로 읽어온다고 설명해주셨는데, 명령어에는 values-dev.yaml만 명시했는데 자동으로 읽어오는 values.yaml의 조건이 있나요?가령, 같은 디렉토리에 있어야 된다던지, 모든 values 파일은 무조건 소문자 values로 시작하고 values.yaml 파일은 반드시 존재해야하는 그런 규칙이 있나 해서 여쭤봅니다. 그리고 helm을 통해서 service를 생성할 경우 컨테이너 포트의 이름이 http이고 서비스 포트의 이름도 동일한 http이던데요, 이 둘이 같을 때 문제가 되는 상황은 없는지 궁금합니다.apiVersion: v1 kind: Service metadata: name: api-tester-2223 labels: helm.sh/chart: api-tester-0.1.0 app.kubernetes.io/name: api-tester app.kubernetes.io/instance: api-tester-2223 app.kubernetes.io/version: "v1.0.0" app.kubernetes.io/managed-by: Helm spec: type: NodePort ports: - port: 80 targetPort: http protocol: TCP name: http nodePort: 32223 selector: app.kubernetes.io/name: api-tester app.kubernetes.io/instance: api-tester-2223containers: - name: api-tester securityContext: {} image: "1pro/api-tester:v1.0.0" imagePullPolicy: Always ports: - name: http containerPort: 8080 protocol: TCP
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Sprint 2 강의에서 yaml 파일들 경로에 대해 궁금한게 있어요.
안녕하세요. 강사님.쿠버네티스 강의를 신청했는데 뜻밖에 평소에 미지의 영역이던 CI/CD까지 함께 배워서 행복한 연말을 보내고 있습니다.jenkins 파이프라인에서 궁금한 점이 생겨서 문의를 드립니다. 스크립트에는 아래와 같이 경로 지정이 되어 있던데 이 명령은 어느 경로에서 실행이 되는지 궁금합니다. jenkins 계정의 home에는 보이지 않아서요.stage('K8S Deploy') { steps { // 쿠버네티스 배포 sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/namespace.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/configmap.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/secret.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/service.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/deployment.yaml" } }
-
미해결대세는 쿠버네티스 (초급~중급편)
master 노드에서 ssh 로그인 창이 안뜨는 오류
vagrant로 설치를 완료 후 xshell에서 접속을 하려고 하는데 worker1과 worker2는 정상적으로 로그인 창이 뜨고 로그인 후 접속이 되는데 k8s-master 노드만 로그인 창이 뜨지 않고 저 상태에서 무한 대기중입니다.등록 정보창에서 사용자 인증에 로그인 비밀번호를 입력하고 연결을 시도해봐도 똑같네요..ㅠㅠ
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Selector의 속성에 대해 질문 드립니다.
안녕하세요.먼저 깊은 경험에서 우러나오는 지식이 공유해주셔서 감사를 드립니다.질문 내용은 아래와 같습니다.Selector에는 object type 같은 속성이 없던데, 그럼 예를 들어 pvc는 무조건 pv만 select 가능하고 replicaset은 pod만 select가 가능해야 할 것 같아서요.. 예외는 없을까요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
안녕하세요 질문 있습니다.
안녕하세요 질문 있습니다.스프링 부트에서는 엘라스틱 서치 라이브러리를 사용하지만 실제 서버는 오픈서치를 띄워서 사용 가능한지 궁금합니다.