묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
이미지가 없다고 에러가 계속 떠요
apiVersion: v1 kind: Pod metadata: name: spring-pod spec: containers: - name: spring-container image: spring-server ports: - containerPort: 8080 imagePullPolicy: IfNotPresentspring-pod.yaml파일을 작성을 한뒤 kubectl delete pod spring-pod 명령어로 pod를 삭제하고kubectl apply -f spring-pod.yaml 명령어를 입력했는데 계속 사진처럼 ErrImagePull이 됩니다.이미지를 pull로 당겨오지 못해서 발생하는 오류인것 같은데 이미지는 있는것으로 확인 됩니다. 뭐가 문제인걸까요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
cilium install 오류
과정을 순차대로 진행한 후 cliium을 설치하려고만 하면 에러가 발생합니다. 원인을 찾지 못하고, 혹시나 내가 잘못했나? 싶어 공식 홈페이지의 설치 방법을 복붙하여 사용하였는데도 오류가 계속 발생되어 질문드립니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
Authorization RoleBinding 질문있습니다.
안녕하세요 Authorization RoleBinding 실습 강의를 수강하던 중 질문이 있어 글 남깁니다. https://cafe.naver.com/kubeops/525※ 앞 시간에 생성해 놓은 Namespace(nm-01), Pod(pod-1), ServiceAccount(default), Secret(nm-01) 그대로 사용해당 게시글에서 와 같이 nm-01, pod-1, serviceAccount, Secret 를 생성해둔 상태에서 Role , RoleBinding 을 생성하였습니다.생성한 내용은 예제에 나와있는 내용을 그대로 복사했습니다. 쿠버네티스 대시보드 -> Secret 를 가보니 네임스페이스 (=nm-01) 에 대한 정보가 저장되어있고 실제로 해당 Secret 도 nm-01 에서 나온 정보가 맞습니다. 그래서 해당 Secret 에있는 Token 값을 이용하여 아래 API 를 호출했지만, 403 forbidden 에러가 발생하며 파드 정보가 조회되질 않습니다.https://192.168.56.30:6443/api/v1/nodes/namespaces/nm-01/pods 에러의 응답값은 아래와 같습니다.{ "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Failure", "message": "nodes \"namespaces\" is forbidden: User \"system:serviceaccount:nm-01:default\" cannot get resource \"nodes/nm-01\" in API group \"\" at the cluster scope", "reason": "Forbidden", "details": { "name": "namespaces", "kind": "nodes" }, "code": 403 }에러 내용을 보면 API Group 내의 nodes/nm-01 정보를 조회할수 없다고 나오는 것 같은데 어떤 부분이 문제인지 파악이 어렵습니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
yml 파일 db 접속정보 수정 후 배포 시 미반영
안녕하세요application-dev.yml 파일에 rds end-point url 변경 후 deploy to container plugin 으로 배포하면 바로 반영이 안되고systemctl restart tomcat.service 처리 후 반영이 됩니다.혹시 바로 반영되게 할 수 있는지 문의드립니다.고맙습니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
SealedSecret 관련 궁금증.
강사님 안녕하세요. 잘 배우고 있습니다. 강의를 보다가 든 생각인데 실제로 Secret을 현업에서 관리하게 될 때는 아래와 같은 구조로 이뤄질 것 같은데 맞나요?신규 피쳐에 새로운 시크릿이 필요하다. 개발자가 devops 팀에 추가를 요청한다.devops 에서 마스터 노드로 접근하여 kubectl 을 통해 secret 을 생성한다.해당 사항을 개발자가 노티 받고, 배포를 진행한다.SealedSecret이라는 걸 알게 되었는데, 이걸 이용하면 개발자가 직접 추가할 수도 있고, git에도 비대칭 암호화된 값이 남아 안전하다고 합니다. 보통 SealedSecret 방식을 적용하여 프로젝트를 운영하나요, 아니면 책임 관리 소재에서 저 과정을 거치나요?
-
해결됨CloudNet@ - Amazon EKS 확장판 강의
BationHost에서 AWS CLI 접속 실패
안녕하세요 BationHost에서 aws 명령어가 실행이 안됩니다... aws 명령어 실행이 안되어서 BastionHost의 /etc/profile을 확인해봤는데,export AWS_DEFAULT_REGION=ap-northeast-2export AWS_ACCESS_KEY_ID=[실제값]export AWS_SECRET_ACCESS_KEY=A[실제값]export CLUSTER_NAME=[실제값]이렇게 4개는 값이 잘 들어가있는데, export ACCOUNT_ID=export VPCID=export PublicSubnet1=export PublicSubnet2=그 외 이런 값들이 안들어가 있어서 aws sts get-caller-identity 실행해보니 An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.위와같은 에러가 발생합니다 ㅠㅠ 어떤 문제인지 알 수 있을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
vagrant up 사용 시 The SSH connection was unexpectedly closed by the remote end
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.실습의 내용 그대로 따라가고있습니다2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.Virtualbox, Vagrant 다시 삭제 후 재설치 하여도 동일한 문제가 발생합니다3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다. ssh로 접근은 가능하지만 현재 쿠버네티스가 깔려있지 않다고 나옵니다k get pods -A 이 명령어를 사용할 수 없어요5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)6. 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!
-
해결됨바로쓰는 CI/CD on EKS
실습진행
버전도 계속 안맞고 실행 한번 시키기가 너무 어렵습니다. 중간에 멈추는경우도 있는데 새로운sh 실행하는 과정에서 환경변수가 제대로 안들어가는 경우도 있고요 계속 수정하면서 실행 시켜보고있는데 시간이 너무 오래 소요되어서 강사님께 확인요청 드립니다 감사합니다
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
thanos 관련 강의는 고려 중이신지 궁금합니다.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://inf.run/DvsRD)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]프로메테우스 강의 중 thanos 관련된 강의를 해주신다고 언급을 하셨는데, 혹시 별도의 강의나 보강으로 해주실 계획이 있으신지 궁금합니다.
-
해결됨비전공자도 이해할 수 있는 쿠버네티스 입문/실전
Deployment-service 연결 과정에서 오류..?
윈11에 docker desktop과 wsl 을 연동하여 쓰고 있습니다. 리눅스 명령어가 더 익숙해서.. 수업 내용대로 다 잘 따라했습니다. deployment, service, pod 모두 정상적으로 작동이 됩니다. 하지만 localhost:30000으로 접속시 연결 거부가 뜨고, kubectl port-forward service/spring-service 30000:8080 으로 직접적으로 포트 포워딩을 해준 후에야 localhost:30000이 접속이 됩니다. 어떻게 해야 포트 포워딩 작업 없이 바로 서비스에 접근 가능할까요..? 뭘 설정해야 하는지 모르겠습니다
-
미해결대세는 쿠버네티스 (초급~중급편)
오타 확인을 하고 싶습니다
안녕하세요. 강사님강의내용에 덕분에 많은 도움을 얻고 있습니다. 질문1.강의수강중 오타가 아닌가 확인이 필요하여 질문드립니다. 강의 service-headless,endpoint, externalName 편의 9:40 쯤에 EndPoint내에 주소가 172.217.161.68(80) 으로 표현됐습니다. Github의 주소는 185.199.110.153(80) 으로 그림이 표현됐는데 둘을 일치시키도록 교안을 수정해야되는지 궁금합니다. 질문2.Pod Network는 20.96.0.0/12 으로 소개를 해주셨습니다. 실제 vagrant 소스에는 12가 아닌 16으로 되있고요.이 주소형식은 공인IP형식으로 보이는데 사설IP형식을 따르는 ServiceNetwork 10.96.0.0/12 와 달리 공인IP형식인 이유가 궁금합니다.
-
해결됨그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
[해결] 2.4. tabby config.yaml 파일 복사 실패 시
안녕하세요!애플 m1 계열 사용하시는 분들중,2.4 실습환경 구축중에cp ./tabby-v1.0.207/config.yaml ~/Library/Application\ Support/tabby/ 명령어 실행 시cp: directory /Users/{사용자명}/Library/Application Support/tabby does not exist 오류 발생하시는 분들은 해당 경로에 tabby 폴더 생성하신 이후 다시 cp 명령어 실행하시면 됩니다.폴더 생성 : mkdir ~/Library/Application\ Support/tabby(제 환경에서는 brew로 tabby 설치 이후에, 해당 경로에 폴더가 자동으로 생성이 안된 것 같습니다😅)오류 메시지로 알 수 있는 간단한 내용이지만, 혹시 해매는 분들이 계실수도 있으니 공유드립니다😄
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
젠킨스 배포 질문
안녕하세요 젠킨스 설정을 따라해 보면서 궁금한게 생겨서 질문 드립니다. git actions를 사용해서 cicd 환경을 만들어본 경험이 있는데요, 이때는 레포지토리에 커밋내용이 푸시되면 이를 감지해서 자동으로 빌드가 되게끔 워크플로우를 작성했던 기억이 있습니다. 젠킨스에도 이러한 기능이 있는지 궁금합니다.
-
해결됨실리콘밸리 엔지니어에게 배우는 쿠버네티스 for SWE
dns 관련하여 질문이 있습니다.
service나 namespace와 관련없는 커스텀한 domain name도 지원되는 걸까요?
-
해결됨CloudNet@ - Amazon EKS 확장판 강의
ch1 external-dns pod 관련 버전 오류와 해결 방법 후 추가 오류 사항
[ 문제 식별 ]테라폼 배포 후 pod 상태를 확인하니 external-dns pod 가 ImagePullBackOff 상태였습니다(myeks:N/A) root@myeks-bastion-EC2:~# kubectl describe pod external-dns-7dc878c-jpd77 -n kube-system ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 10m default-scheduler Successfully assigned kube-system/external-dns-7dc878c-jpd77 to ip-192-168-3-186.ap-northeast-2.compute.internal Normal Pulling 7m57s (x5 over 10m) kubelet Pulling image "docker.io/bitnami/external-dns:0.12.0-debian-11-r3" Warning Failed 7m56s (x5 over 10m) kubelet Failed to pull image "docker.io/bitnami/external-dns:0.12.0-debian-11-r3": rpc error: code = NotFound desc = failed to pull and unpack image "docker.io/bitnami/external-dns:0.12.0-debian-11-r3": failed to resolve reference "docker.io/bitnami/external-dns:0.12.0-debian-11-r3": docker.io/bitnami/external-dns:0.12.0-debian-11-r3: not found Warning Failed 7m56s (x5 over 10m) kubelet Error: ErrImagePull Normal BackOff 38s (x43 over 10m) kubelet Back-off pulling image "docker.io/bitnami/external-dns:0.12.0-debian-11-r3" Warning Failed 38s (x43 over 10m) kubelet Error: ImagePullBackOff ch1 테라폼 코드에서 eks-external-dns 모듈 내 버전이 1.2.0 으로 지정되어있는데 해당 버전은 bitnami 레포에서 이미지를 사용합니다. bitnami 레포에 들어가보니 더이상 해당 이미지를 무료로 제공하지 않는다고 나오네요 ㅜ 그래서 lablabs/eks-external-dns/aws 의 1.2.1 버전에 merge 된 pr 내용을 보니bitnami -> kubernetes-sig 로 변경되었다고 나오고 있어서 1.2.1 버전으로 변경했고 해결되었습니다. [ 해결 방안 ]eks.tf 내 eks-external-dns 모듈 내용을 아래처럼 수정하고 적용했습니다.module "eks-external-dns" { source = "lablabs/eks-external-dns/aws" version = "1.2.1" cluster_identity_oidc_issuer = module.eks.cluster_oidc_issuer_url cluster_identity_oidc_issuer_arn = local.cluster_oidc_issuer_arn irsa_assume_role_arns = [] depends_on = [helm_release.aws_load_balancer_controller] }irsa_assume_role_arns 는 1.2.1 부터 필요로해서 비워두고 생성했습니다. 그리고 pod 생성, running 상태 확인했습니다.(myeks:N/A) root@myeks-bastion-EC2:~# kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system aws-load-balancer-controller-9774b5bf9-fd6wb 1/1 Running 0 61m kube-system aws-load-balancer-controller-9774b5bf9-mltpg 1/1 Running 0 61m kube-system aws-node-6c6d5 2/2 Running 0 73m kube-system aws-node-mqxqd 2/2 Running 0 73m kube-system aws-node-p2hcg 2/2 Running 0 73m kube-system coredns-7bb47d475b-k9dfl 1/1 Running 0 73m kube-system coredns-7bb47d475b-q5m9n 1/1 Running 0 73m kube-system external-dns-745b66b8d6-vrhjk 1/1 Running 0 11m kube-system kube-proxy-gbwf9 1/1 Running 0 73m kube-system kube-proxy-rmdcd 1/1 Running 0 73m kube-system kube-proxy-txm2x 1/1 Running 0 73m 혹시나 pod 상태보다 궁금하신 분 있을까해서 Q&A 에 올립니다![ 추가 오류 ]위 구성 후 실습 진행 중 2가지 오류가 발생했습니다.kubernetes-sig pod 내 bash shell 없음 (myeks:default) root@myeks-bastion-EC2:~# kubectl exec -it deploy/external-dns -n kube-system -- bash error: Internal error occurred: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "8270eecee52a2fc8d4f16a986c88cf9ecc8d852258d6f1a88ac680a6f95510d6": OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown external-pod 로그를 보니 권한 관련 오류 발생 중time="2025-10-10T11:55:27Z" level=error msg="Failed to do run once: soft error\nrecords retrieval failed: soft error\nfailed to list hosted zones: operation error Route 53: ListHostedZones, https response error StatusCode: 403, RequestID: 881c4bac-1a87-4454-b2c3-2657680fb2d0, api error AccessDenied: User: arn:aws:sts::{제거}:assumed-role/external-dns-irsa-external-dns/1760097326486557347 is not authorized to perform: route53:ListHostedZones because no identity-based policy allows the route53:ListHostedZones action" time="2025-10-10T11:56:27Z" level=error msg="Failed to do run once: soft error\nrecords retrieval failed: soft error\nfailed to list hosted zones: operation error Route 53: ListHostedZones, https response error StatusCode: 403, RequestID: 7d915626-3e26-4491-a53a-7ac3c5d4b024, api error AccessDenied: User: arn:aws:sts::{제거}:assumed-role/external-dns-irsa-external-dns/1760097326486557347 is not authorized to perform: route53:ListHostedZones because no identity-based policy allows the route53:ListHostedZones action"kubernetes-sig 이미지를 사용해서 인지 2가지 문제가 있습니다. eks-external-dns 모듈 내 irsa_assume_role_arns 에 값을 넣어봐도 로그는 동일하게 출력되네요. ch1 실습의 파드 쉘은 다른 파드를 사용하면 될 것 같은데 이후 ch5 까지 과정에 external-dns 가 사용되는지 모르겠네요,, 다른 해결 방법이 있을까요?? [ 추가 오류 2 해결 방안 ]IAM external-dns-irsa-external-dns role 을 확인하니 권한 부여가 안되어 있었습니다. inline policy 로 route53 으로 권한 연결을 해줬고 이후 레코드 생성 가능한 것 확인했습니다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53:ChangeResourceRecordSets" ], "Resource": [ "arn:aws:route53:::hostedzone/*" ] }, { "Effect": "Allow", "Action": [ "route53:ListHostedZones", "route53:ListResourceRecordSets", "route53:ListTagsForResource" ], "Resource": [ "*" ] } ] }테라폼에서 json 파일로 권한 생성이 안되는 것 같은데 이유를 모르겠어서 일단 요렇게하고 수동으로 하고 넘어갔습니다.
-
미해결eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
38강 질문입니다.
현재 제공해 주신 프로젝트를 만약, 서비스마다 독립된 데이터베이스로 MSA를 구축한다면 각 테이블에서 Join등을 사용할 수 없기 때문에 코드 수정이 대폭일까요, 아니면 db만 추가하기 때문에 코드 수정이 상대적으로 많치 않을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Error: UPGRADE FAILED: client rate limiter Wait returned an error: context deadline exceeded
ArgoCD 아키텍처, Argo Apps 설치 및 배포 해보기에서 다음 에러가 발생한다면 Error: UPGRADE FAILED: client rate limiter Wait returned an error: context deadline exceeded 헬름 설치시 타임아웃 10분 때문에 나는 에러입니다. (정확히는 자원이 부족해서 오래 걸릴뿐입니다.)계속 실행하다보면 설치가 완료됩니다. [저처럼 헤매시는 분이 없기를..]
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
containerd 관련하여
안녕하세요.containerd의 경우 2016년 이후 등장한 것으로 알고 있습니다.그 이전 docker 버전으로 생성 된 이미지의 경우containerd와 호환이 되지 않을 것 같다는 생각이 들어 문의드립니다. 추가로 8분 50초 부근 지점에서runc가 기존 libcontainer와 다른 점에 대한 설명이 이어지는데, runc 적용 이후에도 runc -> libcontainer 순으로 커널 호출을 위해 libcontainer는 지속적으로 사용되고 있는 것으로 알고 있으나 설명이나 그림상으로 libcontainer가 runc 적용 시점부터 미사용 되는 것처럼 보여져 어떤 것이 맞는지 문의드리고자 합니다.
-
미해결CloudNet@ - Amazon EKS 기본 강의
fluentbit 관련 node 의 기본 로그 질문
for log in dmesg secure messages; \do \echo ">>>>> Node1: /var/log/$log <<<<<"; \ssh ec2-user@$N1 sudo tail /var/log/$log; \echo; done노드 1에 dmesg, secure, messages 로그 확인하는명령어가 이렇게 나와서 확인해보니 로 되어있네요 즉 노드 로그가 있는 경로 중에/var/log/dmesg 만 있고/var/log/secure,messages 가 존재 하지 않는 상황인데 심지어 그나마 있는 경로인/var/log/dmesg 안에도 로그가 없기에 fluentbit 도 클라우드 와치로 로그를 안보내는 모습입니다실제로도 확인해보니 역시나 로그그룹도 host 태그는 만들어 지지 않는 모습입니다 . ...........결론적으로 fluentbit는 여전히 기본값으로 해당 경로에서 로그 가져와서 보내는걸 처리하고있는데정작 ec2는 버전 문제인지 더 이상 지원 하지 않는지는 모르겠는데 해당 경로를 기본값으로 사용하지않네요 원할한 실습을 위해 확인 부탁드립니다 .
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
섹션5 21강 Loki 설치 진행중인데
똑같이 진행했는데 username 과 password를 입력하라고나오는데...원래 이렇게나오는걸까요? 아니면 따로 진행해줘야하는 부분이있을까요?