묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결대세는 쿠버네티스 (초급~중급편)
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가 가능해야 할 것 같아서요.. 예외는 없을까요?
-
해결됨대세는 쿠버네티스 (초급~중급편)
안녕하세요 일프로님 궁금한 거 있습니다
최근에 CKA 관련 스터디를 만드셨던 것으로 알고 있는데, 제가 제때 확인하지 못해 참여하지 못했습니다.혹시 이후에 CKA 관련 강의를 만드실 계획이 있으신지 궁금합니다.(만약 계획이 있으시다면, 강의는 언제쯤 업로드될지도 알 수 있을지요?)
-
미해결대세는 쿠버네티스 (초급~중급편)
7강 마지막 대시 보드 출력에 관한 문제
실습 자료실에 신규 반영된 대로 Kubernetes Cluster 설치 - Windows 를 진행했습니다. vagrant up 도 문제없이 진행되고 token 으로 join 도 문제 없이 진행되어kubectl get pod -A, kubectl get nodes로 결과가 정상 출력되는 걸 확인했습니다만 마지막 대시보드에서 pods is forbidden: User "system:bootstrap:0f4qfi" cannot list resource "pods" in API group "" in the namespace "default"namespaces is forbidden: User "system:bootstrap:0f4qfi" cannot list resource "namespaces" in API group "" at the cluster scope cronjobs.batch is forbidden: User "system:bootstrap:0f4qfi" cannot list resource "cronjobs" in API group "batch" in the namespace "default" 등의 에러로 대시 보드에서 자원들이 출력되지 않고 있습니다. 혹시 원인이 무엇인지 알려주실 수 있으실까요?
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우
docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql 이 명령을 하기 전에 mysql_data 폴더는 만들어 놔도 되지만, 폴더 내부에 다른 파일이 있으면 안 된다고 이해했습니다. 그런데 바로 이전 '[실습] Docker로 MySQL 실행시켜보기 - 3 강의' https://jscode.notion.site/Docker-MySQL-3-f07a2d5a24d24bf184e78622e55a6d8c에서 비밀번호 바꿔 보는 테스트를 할 때, password123으로 컨테이너를 실행한 뒤, 컨테이너를 삭제한 후 mysql_data 폴더는 따로 삭제하지 않아서 mysql_data 내부엔 파일들이 있었을 텐데, 그 이후에 pwd1234로 바꿔서 컨테이너를 다시 생성할 때 오류가 안 났던 이유는 뭔가요?
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
도커 허브에서 postgres 버전 확인하는 법
도커 허브에 있는 postgres:latest인데https://hub.docker.com/layers/library/postgres/latest/images/sha256-c84595a367a3fe5a4d9dce011490da38c462190e6ac7afb7d2a4c49436c80656 이건 postgres 몇 버전인가요? 다른 Q&A 보니 postgres 버전 관련 얘기가 있어서 최신 postgres가 18버전인지, 그 이상이 나왔는지 보고 싶었는데 저 링크를 들어가도 어디서 확인해야 하는지 모르겠습니다. 그리고 newest는https://hub.docker.com/layers/library/postgres/14.20-alpine3.23/images/sha256-df852d122662b3a4ef0662daf3572ec3f6251924fbd2e44bc5d9d8ed252ae767 postgres:14.20-alpine3.23인데, 이건 14 버전인가요? postgres 18버전도 나온 거로 알아서 14라는 게 버전은 아닌 거 같은데, 어디서 버전을 확인할 수 있는지 궁금합니다.
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
보충 자료와도 관련된 추가 내용
"[보충 자료] Docker로 PostgreSQL 실행시켜보기"에 관련 내용이 있기는 한데, 제가 이걸 못 보고 /var/lib/postgresql/data라고 썼다가 제대로 작동이 안 돼서 GPT에 물어보면서 해결했습니다. /var/lib/postgresql/data를 /var/lib/postgresql 이렇게만 바꿔도 오류는 발생하지 않는 것 같습니다. 보충 자료에 나온 것처럼 /var/lib/postgresql/<버전>/docker로 쓰는 거랑 완전히 같은 게 맞는지 확신은 안 되지만 강의 따라하면서 문제는 없었습니다. docker run -d -e POSTGRES_PASSWORD=password123 -p 5432:5432 -v D:\docker-postgresql/postgresql_data:/var/lib/postgresql postgres 위 명령어를 입력하면, 데이터들이 있는 호스트 디렉터리 주소는 아래와 같은 구조가 됩니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
Could not resolve host: externalname1; Unknown error
안녕하세요endpoint를 통해서 외부로 curl을 날리는것은 성공을 했는데 externalname으로 curl 하면 아래 사진처럼 오류가 나고있습니다.0curl: (6) Could not resolve host: externalname1; Unknown error 서비스도 잘만었고 externalName만 문제가 되고있습니다. 한번만 봐주세요ㅠㅠ
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?
아니면 MySQL을 사용할 때 도커와 RDS를 조합해서 사용할 수도 있나요? 현업에서 어떤 식으로 사용하는지 궁금합니다.
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
노션 자료에 안 보이는 이미지가 있습니다
'[보충 자료] Windows에서 lsof, kill, sudo 명령어가 작동하지 않을 때 대처 방법'여기서 관리자 권한으로 실행 부분 이미지가 저렇게 보입니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
인스턴스 스펙
안녕하세요 막 강의 듣기 시작한 수강생입니다.컴퓨터 스펙이 너무 안좋아서 로컬 환경에서 vm을 이용해 구동하기가 어려울 것 같아서 ec2 rocky 위에 띄워보려고 하는데 서버 스펙이 어느 정도면 실습하는데 무리가 없을까요?
-
미해결대세는 쿠버네티스 (초급~중급편)
Failed to create pod sandbox
사진에서 보여드린것 처럼 디플로이먼트를 생성하면 해당 에러가 나오고 삭제도 안되고있습니다ㅠㅠ 도와주세요
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Container 기술 관련해서 질문드립니다.
Container 기술 관련해서 조사/정리 하는 과정에서 chroot는 파일 격리 측면에서의 기술이며 유저 격리나 네트워크 격리는 chroot가 아니라 각각 user namespace, NET namespace가 격리 기술과 관련 있는것으로 확인되는데.유저 격리와 네트워크 격리가 namespace쪽으로 분류되는게 맞는걸까요??