인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

정무관님의 프로필 이미지

작성한 질문수

이론과 실습으로 실력이 높아지는 대세는 쿠버네티스 [초급~중급]

Storage - 실습

Storage 실습 질문드립니다.

작성

·

38

1

cat <<EOF | kubectl create -f -
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: longhorn
provisioner: driver.longhorn.io
allowVolumeExpansion: true
parameters:
  numberOfReplicas: "2"
  staleReplicaTimeout: "2880"
  fromBackup: ""
EOF

default로 되어있는 longhorn이 있는데, 삭제해도 다시 살아나고 apply로 수정하려고 해도 안됩니다. 그래서 metadata의 name을 longhorntest로 변경해서 하려고 시도했습니다.

 

만약 맞다면 아래 코드에서 들어간 후, 어떤 것을 변경해줘야하나요?

kubectl edit svc -n longhorn-system longhorn-frontend

app.kubernetes.io/instance, app.kubernetes.io/name 을 변경한 이름(longhorntest)으로 바꿔주고 진행했는데, 아래와 같이 에러가 발생하면서 pod에서 pvc를 못잡습니다.

image.png

 

답변 2

0

일프로님의 프로필 이미지
일프로
지식공유자

Default StroageClass는 CRD 라고해서 Longhorn 자체적으로 관리하기 때문에 변경하시면 안됩니다.

그래서 추가하고 싶은 StorageClass가 있으면 자료실의 내용과 같이 새로운 이름의 StorageClass를 추가하시면 되세요.

kubectl apply -f - <<END
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast
provisioner: driver.longhorn.io
parameters:
  dataLocality: disabled
  fromBackup: ""
  fsType: ext4
  numberOfReplicas: "3"
  staleReplicaTimeout: "30"
END
정무관님의 프로필 이미지
정무관
질문자

답변 감사합니다. 말씀해주신대로 한다면 실습 중 longhorn dashboard에서 새로 생성한(numberOfReplicas가 2인 것으로 생성) storage class를 확인하기 위해 변경해줘야하는 부분은 없나요? 그대로 생성했을 때는 numberOfReplicas가 3인 default storage가 보여서요.

일프로님의 프로필 이미지
일프로
지식공유자

아 이제 상황이 파악됐습니다.

죄송합니다. 제가 기본 오브젝트>[Volume-실습]으로 착각했네요.

결론적으로 아래 방법으로 Longhorn을 설치하시면 됩니다. 지금 보시는 아키텍쳐>[Storage-실습]은 업데이트 해야겠네요.

https://inf.run/jjY6E

 

히스토리를 말씀드리면 월래 아키텍쳐>[Storage-실습]으로 Longhorn 설치가 있었고, 기본 오브젝트>[Volume-실습]에는 StorageOS 솔루션이 있었는데, 쿠버네티스 버전이 변경되면서 Longhorn 설치로 업데이트가 됐습니다.

그러면서 기존 아키텍쳐>[Storage-실습]에 있는 Longhorn과 설치 내용이 살짝 달라지면서 이런 혼동이 생기게 되었네요.

다시한번 죄송하다는 말씀 드리며, 바로 수정토록 하겠습니다.

질문 주셔서 감사합니다.

 

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 정무관님.

Longhorn과 관련해서 StorageClass의 수정이나 삭제 후 지속적으로 문제가 발생하는 상황에 대해 문의를 주셨군요. 이러한 문제는 보통 Kubernetes에서 Longhorn 자체가 StorageClass의 관리 및 자동 생성을 담당하며, 사용자가 수동으로 변경하려 할 때 장애가 발생할 수 있기 때문입니다.

기본적으로 Longhorn에서 생성한 StorageClass를 삭제 후에도 다시 생성되는 것은 Longhorn의 특성 때문입니다. Longhorn은 특정 설정을 기반으로 자동 복구를 수행할 수 있습니다. 따라서 이러한 문제를 해결하기 위해선 Longhorn과 Kubernetes의 통합된 설정을 정확하게 숙지하고 작업해야 합니다.

아래는 여러분의 상황과 유사한 질문에 대한 관련 사례입니다. 문제를 효율적으로 해결하는 데 참고가 되시기 바랍니다.

  1. longhorn 설치 시 longhorn 삭제가 안됩니다.

    • 수강생이 Longhorn의 StorageClass 삭제 또는 수정을 시도하면서 발생한 문제에 대한 사례로, apply 명령을 통해 수정하는 방향이 제시되었습니다.
  2. Longhorn, pvc, pv 활용하여 pod 생성 시 오류 발생

    • 해당 문제에서의 솔루션에는 사전 시스템 설정의 변경이 포함되어 있으므로, 이를 반영해 해결을 시도해 보십시오.
  3. Longhorn 설치 오류 (중급편 volume 실습 강의)

    • Longhorn 설치 시의 네임스페이스 설정 및 시스템 구성 등 초기 설정에 대한 참고 자료입니다.

만약 Longhorn 시스템의 삭제가 필요하다면, 다음과 같은 절차를 고려할 수 있습니다:

  • Longhorn을 완전히 제거한 다음, 다시 설치를 시도하거나, 필요한 설정을 그대로 반영하여 새로 설치하는 것이 일반적인 방법입니다. 이는 예기치 않게 설정이 꼬여져 있거나 충돌이 발생한 경우 특히 유용합니다.

추가 설정 및 실행 중 발생한 오류에 대한 로그를 기반으로 더 많은 정보를 찾는 것도 문제 해결에 도움이 될 것입니다. 추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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