인프런 커뮤니티 질문&답변

redmine님의 프로필 이미지
redmine

작성한 질문수

그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}

9.6.애플리케이션을 더욱더 쉽게 배포하기(helm)-v1.30

9.6강의 소스 수정 요청 및 에러 문의

해결된 질문

작성

·

23

0

질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다.
다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다!

[질문 전 답변]
1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]
3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요]
(https://www.inflearn.com/blogs/1719)
4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다.
(https://www.inflearn.com/questions/992407/comment/281901)

[질문 하기]

안녕하세요. 9.6 강의 진행 중 에러가 발생하여, 관련하여 문의 드립니다.

  1. 먼저 소스 수정 요청으로

nfs-provisioner_uninstaller.sh 스크립트 delete 로 변경 부탁드립니다.

https://github.com/sysnet4admin/_Lecture_k8s_learning.kit/blob/main/ch9/9.6/uninstaller/nfs-provisioner_uninstaller.sh)

 

  1. 에러 문의입니다.

다음과 같이 helm 으로 po 및 sc가 생성 했습니다.

$ k get po
NAME                                                              READY   STATUS             RESTARTS       AGE
net                                                               1/1     Running            5 (3d7h ago)   46d
nfs-provisioner-nfs-subdir-external-provisioner-bcb4c56bc-47vmk   0/1     CrashLoopBackOff   4 (79s ago)    5m22s
[17:11:11][root@cp-k8s ~/_Lecture_k8s_learning.kit/ch9/9.6] 
$ k get sc
NAME                  PROVISIONER                                                     RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
managed-nfs-storage   cluster.local/nfs-provisioner-nfs-subdir-external-provisioner   Delete          Immediate           true                   5m27s

그 다음으로 deploy-w-pvc-svc.yaml 을 apply 하고 나면 nfs는 에러가 발생하고 pvc는 pending 상태로 머물러 있습니다.

pod/nfs-provisioner-nfs-subdir-external-provisioner-bcb4c56bc-47vmk   0/1     Error     6 (3m29s ago)   9m33s  NAME                                STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS          VOLUMEATTRIBUTESCLASS   AGE persistentvolumeclaim/pvc-dynamic   Pending                                      managed-nfs-storage   <unset>                 40s
$ k logs pod/nfs-provisioner-nfs-subdir-external-provisioner-bcb4c56bc-47vmk -f
F1115 08:15:14.771579       1 provisioner.go:247] Error getting server version: Get "https://10.96.0.1:443/version?timeout=32s": dial tcp 10.96.0.1:443: i/o timeout

조치를 어떻게 하면 될까요?

 

답변 2

0

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

안녕하세요...

아.....아......(....)

  1. 수정 완료하였습니다. 죄송합니다. v1.30으로 올리는 과정에서 다른게 잘 못 복제되었네요.. ㅠ ㅠ

  2. 의 경우에는 nfs_exporter.sh를 실행해서 다음과 같이 NFS가 구성되어 있어야 하는데 혹시 안되셨는지 확인 부탁드려도 될까요? 구성이 되어 있다면 다음과 같이 나옵니다.

root@cp-k8s:~/_Lecture_k8s_learning.kit/ch9/9.6# exportfs 
/nfs_shared/dynamic-vol
                192.168.1.0/24

실행은...ch5/5.6에 가셔서 ./nfs_exporter.sh dynamic-vol 를 실행하시면 됩니다.

root@cp-k8s:~/_Lecture_k8s_learning.kit/ch5/5.6# ./nfs_exporter.sh dynamic-vol
Check created configurations
===
cat /etc/exports:
  - # /etc/exports: the access control list for filesystems which may be exported
  - #           to NFS clients.  See exports(5).
  - #
  - # Example for NFSv2 and NFSv3:
  - # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
  - #
  - # Example for NFSv4:
  - # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
  - # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
  - #
  - /nfs_shared/dynamic-vol 192.168.1.0/24(rw,sync,no_root_squash)
---
ls /nfs_shared:
  - dynamic-vol

제 생각에는 이 문제 같은데 혹시 위의 것이 실행되어 있는 상태라면 다시 말씀을 부탁드립니다.

redmine님의 프로필 이미지
redmine
질문자

VM이 꼬인거 같아서 삭제 후 다시 하니 잘됐습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

redmine님, 문의 주신 쿠버네티스와 관련된 문제에 대해 빠르게 해결할 수 있도록 돕겠습니다.

첫 번째 요청: 소스 수정 관련

nfs-provisioner_uninstaller.sh 스크립트에서 delete로 변경 요청하신 부분은, 때때로 커뮤니티와 GitHub 문제 추적을 통해서도 경고를 받으실 수 있습니다. 따라서 소스 코드 수정 요청은 강의자에게 직접 전달하여 빠른 조치를 받을 수 있도록 게시판에 관련 내용을 남기시면 좋을 것입니다.

두 번째 요청: 에러 처리 관련

포드 상태가 CrashLoopBackOff로 나타나며, 이는 주로 컨테이너가 계속 재시작되면서 발생하는 현상입니다. NFS 프로비저너 셋업 시 종종 나타나는 문제들입니다.

  1. 컨테이너 로그 분석: 제공하신 로그에서 네트워크 연결 문제(i/o timeout)가 감지됩니다. 이는 Kubernetes API 서버에 대한 연결이 실패했음을 나타냅니다. 다음과 같은 조치를 고려해볼 수 있습니다:

    • 클러스터 내 네트워크가 제대로 설정되어 있는지 확인.
    • 서비스와 네트워크 정책이 올바르게 구성되어 있는지 검토.
  2. PersistentVolumeClaim(PVC) 문제: PVC가 Pending 상태로 머무르는 것은 자원 할당 이슈와 관련이 있습니다. 이는 네트워크 문제와 연결되어 있을 수 있습니다.

    • NFS 서버의 상태 확인: NFS 서버가 올바르게 설정되어 있으며, PVC가 적절한 NFS 볼륨과 바인딩되었는지 검토.
    • NFS 서버에 대한 접근 권한 및 경로 설정을 다시 확인해 주세요.

이 문제가 발생한 것과 관련하여 지식공유자님의 해결 방법을 참고하면 도움이 될 것 같습니다. 문제의 원인에 대한 다양한 사례와 해결책은 커뮤니티나 이미 답변된 게시물을 통해 공유되고 있으니, Kubernetes에서 네트워크 설정 및 NFS 사용 시 발생하는 이슈 해결방법을 참조해 보시는 것도 좋겠습니다.

조금 더 포괄적인 해결 방법을 찾기 위해서는 추가적인 환경 정보와 로그가 필요할 지도 모릅니다. 궁금한 사항이 추가로 있다면 주저하지 마시고 문의해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

redmine님의 프로필 이미지
redmine

작성한 질문수

질문하기