묻고 답해요
163만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-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>
-
미해결쿠버네티스 어나더 클래스-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" } }
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Selector의 속성에 대해 질문 드립니다.
안녕하세요.먼저 깊은 경험에서 우러나오는 지식이 공유해주셔서 감사를 드립니다.질문 내용은 아래와 같습니다.Selector에는 object type 같은 속성이 없던데, 그럼 예를 들어 pvc는 무조건 pv만 select 가능하고 replicaset은 pod만 select가 가능해야 할 것 같아서요.. 예외는 없을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
인스턴스 스펙
안녕하세요 막 강의 듣기 시작한 수강생입니다.컴퓨터 스펙이 너무 안좋아서 로컬 환경에서 vm을 이용해 구동하기가 어려울 것 같아서 ec2 rocky 위에 띄워보려고 하는데 서버 스펙이 어느 정도면 실습하는데 무리가 없을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Container 기술 관련해서 질문드립니다.
Container 기술 관련해서 조사/정리 하는 과정에서 chroot는 파일 격리 측면에서의 기술이며 유저 격리나 네트워크 격리는 chroot가 아니라 각각 user namespace, NET namespace가 격리 기술과 관련 있는것으로 확인되는데.유저 격리와 네트워크 격리가 namespace쪽으로 분류되는게 맞는걸까요??
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Jenkins 빌드 UI 설정 관련 질문드립니다.
안녕하세요 강의 진행은 잘 따라가고 있는데 강의에서처럼 빌드의 진행 여부를 UI로 보는 부분이 안나오고 고정링크로만 나오는데 혹시 다른 설정을 해야 하는게 있을까요??
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Jenkins 빌드 진행 UI 설정
안녕하세요 강의 진행은 잘 따라가고 있는데 강의에서처럼 빌드의 진행 여부를 UI로 보는 부분이 안나오고 고정링크로만 나오는데 혹시 다른 설정을 해야 하는게 있을까요??
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
cicd 서버 올린 후 기존 마스터 노드 기동 시 네트워크 에러
포트포워딩 하는 포트가 겹쳐서 그런지 아래 에러가 나오면서 기존 마스터 노드 vm이 기동되지 않습니다.NAT#0: configuration error: failed to set up redirection of 2222 to 22. Probably a conflict with existing services or other rules (VERR_NAT_REDIR_SETUP). 저의 경우는 vm 우클릭 > 설정 > 네트워크 > 어댑터1 > 포트 포워딩(P) > 호스트 포트를 2223으로 변경했습니다.--> 이후에 이것저것 확인하다 보니 그냥 포트 포워딩을 지워도 될 것 같습니다.TL;DR포트 포워딩은 하지 않아도 된다.단 NAT은 켜져있어야 한다(아니면 설정을 많이 바꿔야해서 그렇게까지? 하고 싶진 않네요... 하지만 폐쇄망에서 사용하게 될 경우를 고려한다면 해보는 것도 괜찮을 수 있을것도 같습니다.) 아래는 추가적으로 생각해본 사항이고 수업이랑?은 크게 관련 없고 수업 환경 세팅과 관련된 질문입니다.. 혹시 맞는지 확인차 질문드립니다. 포트 포워딩을 해야하는 이유가 있을까요? 호스트 전용 어댑터로 이미 네트워크가 구축이 되어있고 NAT은 외부에서 자료를 받는 용도로만 사용하고 따로 외부 호스트가 접근할 일이 없을것 같은데 굳이 포트 포워딩 설정이 들어가야하는 걸까요??(실제로 의문이 들어 포트포워딩 내용을 모두 삭제했으며 VM 기동 자체에는 문제가 없습니다.)이미 다운로드 할 것을 다 한 서버는 NAT이 없어도 상관 없지 않을까? 라는 생각에 NAT 네트워크를 끄고 기동해 보았는데 몇몇 파드들이 기동에 문제가 생기더군요(dashboard, grafana, etc...) 이미 이미지를 다운로드해서 파드 생성시에도 캐시된 이미지를 사용하면 문제가 없을 거라고 생각했고 실제로 아래 명령으로 확인 시 캐시된 이미지들이 있었음을 확인했습니다. 하지만 파드 기동에는 문제가 생기더군요...sudo crictl images2번의 내용을 좀 더 확실하게 확인해보고 싶어 여러가지 내용들을 확인하던 중 coredns가 /etc/resolv.conf 의 내용을 참고하는것을 확인했고 여기에 nameserver가 10.0.2.3 이렇게 NAT의 IP 대역대로 설정 되어 있음을 확인했습니다. 더 깊이 확인하는건 네트워크 관련 영역인것 같아 여기서 마치며 결과는 coredns같은 여러 kube-system이나 calico 관련 파드들이 NAT 네트워크 연결 설정이 되어있고 실질적으로 해당 네트워크를 사용하지 않더라도 연결을 시도하다가 파드 기동에서 문제가 생겼음을 확인했습니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
HPA - Auto Scaling 실습 관련 에러 해결 공유.
해당 강의에서 hpa에서 behavior 부분을 삭제를 하려고 할 시 에러가 발생했습니다.아래 명령은 기존의 강의 실습 자료에서 제공된 hpa 수정 관련 코드입니다.kubectl edit -n anotherclass-123 hpa api-tester-1231-default위 명령으로 hpa의 yaml 내용을 직접 수정하여 behavior 부분을 삭제 후 저장을 할 시 저장이 되지 않습니다.에러 코드는 다음과 같습니다.error: Edit cancelled, no valid changes were saved. 아래 명령으로 behavior 필드 부분을 제거하면 삭제가 가능했습니다.kubectl patch hpa api-tester-1231-default -n anotherclass-123 --type=json -p='[{"op":"remove","path":"/spec/behavior"}]' 처음에는 들여쓰기 같은 부분을 잘못 건드렸나 해서 여러번 변경을 시도해 보았는데 전부 변경사항이 반영되지 않더라구요...?(이유를 자세하게 모르겠네요)일단 바로 위에 있는 명령어로 필드 부분만 삭제하면 들여쓰기 같은 문제는 발생하지 않으니 혹시 문제가 있다면 이렇게 해보시면 좋을것 같습니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Loki-Stack 실습 관련 질문
안녕하세요 loki 관련 실습중에 Home > Explore 에서 Label browser를 통해서 로그 조회 시 강의 영상에서 처럼 app 1.2.2.1 을 선택시 다음과 같은 문구가 나옵니다. 이전까지의 진행상황은 모두 정상적으로 따라왔는데 여기서 이렇게 나옵니다. 무슨 문제가 있는걸까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Self-Healing 테스트 중 문의사항
안녕하세요 Self-Healing 테스트 중 Memory leak 을 위해서 다음 URL 호출 시 500 에러가 발생합니다.curl 192.168.56.30:31221/memory-leak <Error>{"timestamp":"2025-11-21T01:35:50.504+00:00","status":500,"error":"Internal Server Error","path":"/memory-leak"}</Error> 이후에 k8s Dashboard로 확인 시 영상과 같이 파드가 재시작 되는게 아니라 memory 사용량이 증가하고 파드가 4개까지 늘어나는데다시 파드가 줄어들가나 메모리 사용량이 줄어들거나 하지를 않습니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
영상 내용과 강의 자료가 상이해서 강의 듣기가 짜증납니다.
영상에서 보여주는 쿠버네티스가 정말 편한이유 이런 게시글이 카페에서 찾기가 어려워요 경로나 정확한 제목으로 안내를 해주셨으면 좋겠어요.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
젠킨스 구축 9단계 오류
컨테이너 빌드 중 오류가 생기는데요#0 building with "default" instance using docker driver #1 [internal] load build definition from Dockerfile #1 transferring dockerfile: 404B 0.0s done #1 DONE 0.1s #2 [internal] load .dockerignore #2 transferring context: 2B done #2 DONE 0.2s #3 [internal] load metadata for docker.io/library/openjdk:17 #3 ERROR: docker.io/library/openjdk:17: not found ------ > [internal] load metadata for docker.io/library/openjdk:17: ------ Dockerfile:1 -------------------- 1 | >>> FROM openjdk:17 2 | COPY ./app-0.0.1-SNAPSHOT.jar /usr/src/myapp/app.jar 3 | ENTRYPOINT ["java", "-Dspring.profiles.active=${spring_profiles_active}", "-Dapplication.role=${application_role}", "-Dpostgresql.filepath=${postgresql_filepath}", "-jar", "/usr/src/myapp/app.jar"] -------------------- ERROR: failed to solve: openjdk:17: docker.io/library/openjdk:17: not found Build step 'Execute shell' marked build as failure Finished: FAILURE-------------------- openjdk:17 를 이제 공식 지원 안하는것 같은데 맞을까요 ?만약 맞다면혹시 fork 해온 스크립트에서 관련 부분 다 바꾸고 지원되는 jdk 17로 수정하는 작업을 하는게 맞을까요 ? ssh 에서도 와 같이 pull 을 못해오는것 같아서 질문 남겨봅니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
실습환경 네트워크 끊김 및 느린 속도 관련 질문
mobaxterm 에서 가끔 Network error: Connection timed out이런 에러나는것과 cpu 100 % 뜨는것이 일반적일까요 ? 아니면 혹시 cpu 랑 상관없이 ram 문제일까요 ?16.0 GB이고 cpu 는 16 코어 입니다
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
온프레미스 환경에 쿠버네티스도입
안녕하세요현재 회사에서 IDC 온프레미스환경에 쿠버네티스 도입하기로 결정되었습니다.다만 인프라관련 인원이 없는상황이라 어쩔수없이 주니어인 제가 당장 인프라 구조를 구축해야하는데 쿠버네티스가 어려운 기술이다보니 당장 도입하기보다 공부하고 점진적 도입을 하려는데도커로 먼저 시스템을 서버에 배포해놓고 추후에 쿠버네티스를 점진적으로 도입이 유연하게 되는지 궁금합니다. 또한 DBMS올리는건 로컬과 컨테이너 중 보통 어느곳에 올리실까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
SealedSecret 관련 궁금증.
강사님 안녕하세요. 잘 배우고 있습니다. 강의를 보다가 든 생각인데 실제로 Secret을 현업에서 관리하게 될 때는 아래와 같은 구조로 이뤄질 것 같은데 맞나요?신규 피쳐에 새로운 시크릿이 필요하다. 개발자가 devops 팀에 추가를 요청한다.devops 에서 마스터 노드로 접근하여 kubectl 을 통해 secret 을 생성한다.해당 사항을 개발자가 노티 받고, 배포를 진행한다.SealedSecret이라는 걸 알게 되었는데, 이걸 이용하면 개발자가 직접 추가할 수도 있고, git에도 비대칭 암호화된 값이 남아 안전하다고 합니다. 보통 SealedSecret 방식을 적용하여 프로젝트를 운영하나요, 아니면 책임 관리 소재에서 저 과정을 거치나요?
-
미해결쿠버네티스 어나더 클래스-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. 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
젠킨스 배포 질문
안녕하세요 젠킨스 설정을 따라해 보면서 궁금한게 생겨서 질문 드립니다. git actions를 사용해서 cicd 환경을 만들어본 경험이 있는데요, 이때는 레포지토리에 커밋내용이 푸시되면 이를 감지해서 자동으로 빌드가 되게끔 워크플로우를 작성했던 기억이 있습니다. 젠킨스에도 이러한 기능이 있는지 궁금합니다.
-
미해결쿠버네티스 어나더 클래스-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분 때문에 나는 에러입니다. (정확히는 자원이 부족해서 오래 걸릴뿐입니다.)계속 실행하다보면 설치가 완료됩니다. [저처럼 헤매시는 분이 없기를..]