• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

Longhorn, pvc,pv 활용하여 pod 생성 시 오류 발생

23.12.03 19:55 작성 조회수 175

1

안녕하세요. 강의 너무나도 잘듣고 있는 수강생입니다.

현재 Statefulset 강의를 듣고 있는 중인데요.

PVC 생성까지는 문제없으나(PV도 자동생성),

ReplicaSet으로 Pod를 생성하거나 혹은 직접 Pod를 생성하여 PVC, PV에 연결되어 longhorn의 볼륨에 연결이 되었을 때, 아래와 같이 해당 불륨이 생성이 되지 않으면서 에러가 납니다.(계속 attaching 상태)

앞 강의에서 Volume 중급편에서 Longhorn과 연동하여 Pod 를 생성할때는 문제가 없었던 걸로 기억을 합니다.

제가 그래서 혹시나 해서 PVC를 임의로 아래와 같이 하나더 만들고 pod를 만들어보니 pod 생성이 안되네요(정확히는 longhorn과 Volume 연결을 할때 문제가 생기네요)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-fast1
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1G
  storageClassName: "fast"

 

혹시 몰라서 아래와 같이 fast2 라는 새로운 storageclass도 만들어서 다시 pvc 생성후 replicaSet 생성하여 Pod 생성, longhorn의 volume과 연동하였으나(물론 연동작업은 자동으로 이루어지는) 문제가 해결되지 않네요ㅠ

혹시 대시보드를 삭제하고 2.0으로 다시 만들면서 문제가 생긴걸까요?

현상에 대해 좀더 자세히 설명드리면 아래와 같이 파드가 계속 재생성되려고하다가 생성이 안되어 다시 파드를 새로 만들어서 생성하려고 하는 현상이 지속됩니다.

[Longhorn 시스템 상태]

[Longhorn쪽 에러]

답변 3

·

답변을 작성해보세요.

1

일프로님의 프로필

일프로

지식공유자

23.12.04 21:17

longhorn 가이드를 보니, 사전 세팅이 되야하는 설정이 좀 바꼈군요.

모든 노드에 들어가서 아래와 같이 명령어를 날려준 다음에 다시 한번 생성해보시기 바랍니다.

제 설치 가이드도 변경하였습니다.

yum --setopt=tsflags=noscripts install iscsi-initiator-utils
echo "InitiatorName=$(/sbin/iscsi-iname)" > /etc/iscsi/initiatorname.iscsi
systemctl enable iscsid
systemctl start iscsid
양상민님의 프로필

양상민

질문자

23.12.05 17:42

말씀해주신대로 진행하니 파드 생성 및 실습 문제없이 진행됩니다!

다만 실습에 관계없이

아래와 같이 Longhorn 쪽에서 node1, node2가 stopped로 나오고 해당 Volume이 Detached 상태로 나오는데 문제 없는건가요? (Longhorn 쪽에서 Volume이 Detached 상태인데 각 파드간 Volume을 공유하고 있는 현상이 신기하긴 하네요)

image

일프로님의 프로필

일프로

지식공유자

23.12.05 18:56

일단 dynamic storageclass 사용 실습에 만족하시고 넘어가시는 정신 건강에 이롭습니다 🙂

Longhorn이 실습 환경 리소스 스펙에 비해 많이 무거운 것 같아요.

저도 노드가 자꾸 죽더라고요.

그래서 설치시 아래와 같이 replica를 줄이라는 내용을 추가했고요.

kubectl scale deploy -n longhorn-system csi-attacher --replicas=1
kubectl scale deploy -n longhorn-system csi-provisioner --replicas=1
kubectl scale deploy -n longhorn-system csi-resizer --replicas=1
kubectl scale deploy -n longhorn-system csi-snapshotter --replicas=1
kubectl scale deploy -n longhorn-system longhorn-ui --replicas=1

 

 

해당 실습 후에는 꼭 삭제 하라는 내용도 추가했습니다.

 

4) Longhorn 삭제

자원을 많이 먹으니 실습 후 꼭 삭제해주세요

kubectl delete -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/longhorn/longhorn-1.5.0.yaml

 

0

일프로님의 프로필

일프로

지식공유자

23.12.04 20:04

확실히 좀 이상하네요.

일단 다음 강의 진행 바라고요.

저도 좀 더 원인을 찾아보겠습니다.

0

일프로님의 프로필

일프로

지식공유자

23.12.04 17:52

안녕하세요.

내용을 상세하게 올려주셨네요.

일단 대시보드랑은 전혀 상관없습니다.

현재 실습하시는 버전이 쿠버네티스(1.27)와 Longhorn(1.5.0) 이신가요?

잘 만드신 것 같은데 기본적인 연결 부분이라 안된다고 했을 때 원인을 찾기가 쉽지 않습니다.

일단 각 노드별로 journalctl -u kubelet | tail -100 명령을 날려서 좀더 세부적인 로그를 봐야할 것 같고요.

저도 최근 업데이트를 하면서 모두 테스트를 해보지 못했기 때문에 한번 다시 해보겠습니다.