์ค๋ช
trident ์ฐ์ฐ์์ kubernetes 1.17.6์ ์ฌ์ฉํ์ฌ ์๊ตฌ ๋ณผ๋ฅจ์ ์์ฑํ ์ ์์ง๋ง ํฌ๋์ ๋ง์ดํธํ ์๋ ์์ต๋๋ค.
ํฌ๋ ์ค๋ช
์ ๊ฐ์ ธ์ฌ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐํ๋ฉ๋๋ค.
CSINode does not contain driver csi.trident.netapp.io
ํ๊ฒฝ
์ฌํํ๊ธฐ ์ํด
์ฌ๊ธฐ์ ์ ๊ณต๋ ๋๋ก ์ฐ์ฐ์๋ฅผ ์ค์นํ์ญ์์ค: https://netapp-trident.readthedocs.io/en/stable-v20.07/kubernetes/deploying/operator-deploy.html
์คํ ๋ฆฌ์ง ํด๋์ค ๋ฐ ์๋น์๋ฅผ ์์ฑํ ํ pv๋ ๋ฐ์ธ๋ฉ๋์ง๋ง ํฌ๋๋ ๋ณผ๋ฅจ์ ์์ ์์ ๋ก์ปฌ๋ก ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์์๋๋ ํ๋
Pod๋ ๋ณผ๋ฅจ์ ํ์ฌํ๊ณ ์คํ ์ค์ด์ด์ผ ํฉ๋๋ค. ๋์ "๋ณด๋ฅ ์ค"์ผ๋ก ๋จ์ ์์ต๋๋ค.
์ถ๊ฐ ์ปจํ
์คํธ
ํฌ๋ ์ค๋ช
:
```kubectl -n ํ
์คํธ๋ po web-0์ ์ค๋ช
ํฉ๋๋ค.
๊ฒฝ๊ณ "web-0" ํฌ๋์ ๋ํ "VolumeBinding" ํํฐ ํ๋ฌ๊ทธ์ธ ์คํ ์ค 11์ด(12์ด ์ด์ x2) ๊ธฐ๋ณธ ์ค์ผ์ค๋ฌ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ํฌ๋์ ์ฆ์ PersistentVolumeClaim์ด ๋ฐ์ธ๋ฉ ํด์ ๋์์ต๋๋ค.
Normal Scheduled 9s default-scheduler test/web-0์ hh1kbw02x์ ์ฑ๊ณต์ ์ผ๋ก ํ ๋นํ์ต๋๋ค.
๊ฒฝ๊ณ FailedAttachVolume
๊ฒฝ๊ณ FailedAttachVolume
Logs from trident on this worker:
kubectl -n trident ๋ก๊ทธ trident-csi-9sgrt -c trident-main -f kubectl -n trident ๋ก๊ทธ trident-csi-9sgrt -c ๋๋ผ์ด๋ฒ ๋ฑ๋ก์ kubectl get csinode hh1kbw02x -n trident -o yaml Kubelet ๋ก๊ทธ:
time="2020-10-21T17:15:31Z" level=debug msg="n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nPUT https://10.111.4.90 :34571/trident/v1/node/hh1kbw02xnHeaders: map[Content-Type:[application/json]]nBody: {n "์ด๋ฆ": "hh1kbw02x",n "ips": [n "10.49.12.102",n "172.17.0.1"n ]n}n--------------------------------- -----------------------------------------------"
time="2020-10-21T17:15:32Z" ๋ ๋ฒจ=๋๋ฒ๊ทธ ๋ฉ์์ง="n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Logs from registrar sidecar on this worker:
I1021 17:14:18.636803 6672 main.go:110] ๋ฒ์ : v1.3.0-0-g6e9fff3e
I1021 17:14:18.636888 6672 main.go:120] "/plugin/csi.sock"์ ์ฌ์ฉํ์ฌ gRPC ์ฐ๊ฒฐ์ ์ด๋ ค๊ณ ํฉ๋๋ค.
I1021 17:14:18.636908 6672 connection.go:151] unix:///plugin/csi.sock์ ์ฐ๊ฒฐ ์ค
I1021 17:14:18.637420 6672 main.go:127] ๋๋ผ์ด๋ฒ ์ด๋ฆ์ ๊ฒ์ํ๊ธฐ ์ํด CSI ๋๋ผ์ด๋ฒ ํธ์ถ
I1021 17:14:18.637435 6672 connection.go:180] GRPC ํธ์ถ: /csi.v1.Identity/GetPluginInfo
I1021 17:14:18.637442 6672 connection.go:181] GRPC ์์ฒญ: {}
I1021 17:14:18.639851 6672 connection.go:183] GRPC ์๋ต: {"name":"csi.trident.netapp.io","vendor_version":"20.07.1"}
I1021 17:14:18.640235 6672 connection.go:184] GRPC ์ค๋ฅ:
I1021 17:14:18.640242 6672 main.go:137] CSI ๋๋ผ์ด๋ฒ ์ด๋ฆ: "csi.trident.netapp.io"
I1021 17:14:18.648537 6672 node_register.go:51] ๋ฑ๋ก ์๋ฒ ์์: /registration/csi.trident.netapp.io-reg.sock
I1021 17:14:18.648666 6672 node_register.go:60] ๋ฑ๋ก ์๋ฒ๊ฐ /registration/csi.trident.netapp.io-reg.sock์์ ์์๋์์ต๋๋ค.
Description of csi node
api๋ฒ์ : storage.k8s.io/v1
์ข
๋ฅ: CSINode
๋ฉํ๋ฐ์ดํฐ:
์์ฑ์๊ฐ์์ธ: 2020-09-10T07:58:40Z
์ด๋ฆ: hh1kbw02x
์์ ์์ฐธ์กฐ:
์ข
๋ฅ: ๋
ธ๋
์ด๋ฆ: hh1kbw02x
uid: d3db28d6-e2be-4ad4-8534-c853b2e025b5
๋ฆฌ์์ค ๋ฒ์ : "30914526"
์
ํ๋งํฌ: /apis/storage.k8s.io/v1/csinodes/hh1kbw02x
uid: a764977a-be67-4ee9-8b7e-9aac304e0890
ํฌ๊ธฐ:
๋๋ผ์ด๋ฒ: null
Noveces 6 10:14:18 hh1kbw01x kubelet: I1106 10:14:18.883059 2393 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume์ด ์์๋์์ต๋๋ค. csi/csi.trident.netapp.io^pvc-3bcc4e38-2e69-4541-9910-711d2c086671") ํฌ๋ "web-0"(UID: "a235d5f9-05bf-4c77-8a84-e48f2f")5
11์ 6์ผ 10:14:18 hh1kbw01x kubelet: E1106 10:14:18.883223 2393 nestedpendingoperations.go:301] "{v olumeName:kubernetes.io/csi/csi.trident.netapp.io ^pp693์ ๋ํ ์์
4541-9910-711d2c086671 podName: nodeName:}"์ด(๊ฐ) ์คํจํ์ต๋๋ค. 2020-11-06 10:14:19.383183856 +0100 CET m=+1353591.737508759(durationBeforeRetry 500ms)๊น์ง ์ฌ์๋๊ฐ ํ์ฉ๋์ง ์์ต๋๋ค. ์ค๋ฅ: "๋ณผ๋ฅจ "pvc-3bcc4e38-2e69-4541-9910-711d2c086671"์ ๋ํ ๋
ธ๋์ ๋ณผ๋ฅจ ์ํ์์ VolumesInUse ๋ชฉ๋ก์ ์ถ๊ฐ๋์ง ์์์ต๋๋ค(๊ณ ์ ์ด๋ฆ: "kubernetes.io/csi/csi.trident.netapp.io ^pvc-3bcc4e38-2e69-4541-9910-711d2c086671") ํฌ๋ "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f657d98") "
Nov 6 10:14:18 hh1kbw01x kubelet: I1106 10:14:18.983580 2393 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume์ด ๋ณผ๋ฅจ "pvc-f138b6cc-45588b0"์ ๋ํด ์์๋์์ต๋๋ค. csi/csi.trident.netapp.io^pvc-f138b6cc-988b-455c-bb2e-fce022755634") ํฌ๋ "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f")657d
11์ 6์ผ 10:14:18 hh1kbw01x kubelet: E1106 10:14:18.983662 2393 nestedpendingoperations.go:301] "{v olumeName:kubernetes.io/csi/csi.trident.netapp.io ^pvc-์ ๋ํ ์์
455c-bb2e-fce022755634 podName: nodeName:}"์ด(๊ฐ) ์คํจํ์ต๋๋ค. 2020-11-06 10:14:19.483629729 +0100 CET m=+1353591.837954619(durationBeforeRetry 500ms)๊น์ง ์ฌ์๋๊ฐ ํ์ฉ๋์ง ์์ต๋๋ค. ์ค๋ฅ: "๋ณผ๋ฅจ์ด "pvc-f138b6cc-988b-455c-bb2e-fce022755634" ๋ณผ๋ฅจ์ ๋ํ ๋
ธ๋์ ๋ณผ๋ฅจ ์ํ์์ VolumesInUse ๋ชฉ๋ก์ ์ถ๊ฐ๋์ง ์์์ต๋๋ค(๊ณ ์ ์ด๋ฆ: "kubernetes.io/csi/csi.trident.netapp.io ^pvc-f138b6cc-988b-455c-bb2e-fce022755634") ํฌ๋ "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f657d98") "
Noveces 6 10:14:19 hh1kbw01x kubelet: I1106 10:14:19.385072 2393 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume์ด ์์๋์์ต๋๋ค. csi/csi.trident.netapp.io^pvc-3bcc4e38-2e69-4541-9910-711d2c086671") ํฌ๋ "web-0"(UID: "a235d5f9-05bf-4c77-8a84-e48f2f")5
```
Rancher RKE ๋ฐ K8S(v1.18.10) ๋ฐ Docker 19.3.13 ๋๋จธ์ง๊ฐ ํฌํจ๋ Ubuntu 18.04.4 LTS๋ฅผ ์คํํ๋ ๋ ธ๋์ ๋์ผํ ๋ฌธ์ ๋ ์์ ๋ช ์๋ ํ๊ฒฝ๊ณผ ์ผ์นํฉ๋๋ค...
์ฐ๋ถํฌ 18.04์ ์ ์คํธ๋ฆผ k8๊ณผ ๋์ผํฉ๋๋ค.
trident-csi ๋ฐ๋ชฌ์ ๊ณผ ๋ฐฐํฌ๋ฅผ ๋ชจ๋ ์ฌ๋ฐฐํฌํ์ฌ "ํด๊ฒฐ"ํ ์ ์์๊ณ ๋์ค์ kubelet์ ๋ค์ ์์ํ์ต๋๋ค.
๋ค. ์ฐ์ฐ์ ๋์ tridentctl
๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
๊ทธ๋์ ๋ด๊ฐ ๊ทธ๋ ๊ฒ ๋งํ ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ ๊ณ ์ณค๋ค. ์ธ๋ถ ์คํ ๋ฆฌ์ง ํ๋ก๋น์ ๋ ๋๊ตฌ์ ์๋ ๋ฐฉ์์ ์ฝ๊ณ ์ฌ์ด๋์นด ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ ๋๋ผ์ด๋ฒ ๋ฑ๋ก ๊ฐ๋ ์ ์ดํดํ ํ ์ค์ ์ ๊ฒํ ํ์ต๋๋ค.
๊ธฐ๋ณธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ธ /var/lib/kubelet ์๋์ ์๋ ๊ตฌ์ฑ ํ์ผ๋ก ์์ํ๋๋ก kubelet์ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ ์ด๋ ๋งค์ฐ ์คํด์ ์์ง๊ฐ ์์ต๋๋ค.
๋ช ๋ฌ ์ ์ ์ฐ๋ฆฌ๋ ๋๋๋ฅผ ๋ถํ ํ๊ณ ํฌ๋์ ์ปจํ ์ด๋๋ฅผ ๋ณ๋์ ์ ์ฅ ์์น๋ก ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ฌ ์ด์๊ณผ ๊ด๋ฆฌ๋ฅผ ๋ถ๋ฆฌํ์ต๋๋ค.
๋ฐ๋ผ์ /var/lib/kubelet ๋์ /containers๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๊ตฌ์ฑ ํ์ผ์ root-dir์ ๋ณ๊ฒฝํ์ต๋๋ค.
๊ธฐ๋ณธ ํธ๋ผ์ด๋ํธ ํ๋ก๋น์ ๋ ๋๊ตฌ๋ ๊ธฐ๋ณธ ์์น๋ฅผ ์ฐพ๊ณ ํ๋ฌ๊ทธ์ธ์ "์๋ฒ ๋ฉ"ํฉ๋๋ค.
๋ฐ๋ผ์ ๋ค์ ๋ ๊ฐ์ง๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค.
ps aux | grep kubelet | grep -e 'root-dir
-> ๊ตฌ์ฑ๋ ํด๋๋ฅผ ๊ฐ์ ธ์ต๋๋ค(๋ด ๊ฒฝ์ฐ์๋ /container).apiVersion: trident.netapp.io/v1
kind: TridentProvisioner
metadata:
name: trident
namespace: trident
spec:
debug: true
kubeletDir: /container
ํ์ด์ ๋น๋๋ค.๋๋ ์ด๊ฒ์ ๋ซ์ ๊ฒ์ ๋๋ค.
trident-csi
daemonset ํฌ๋๊ฐ trident-controller
์ ํต์ ํ ์ ์์ ๋ ์ ์ฌํ ํ์์ด ๊ด์ฐฐ๋์์ต๋๋ค. ์ด ๊ฒฝ์ฐ, ๊ทธ๊ฒ์ ๋ง๋ ๋คํธ์ํฌ ์ ์ฑ
๋๋ฌธ์ด์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ทธ๋์ ๋ด๊ฐ ๊ทธ๋ ๊ฒ ๋งํ ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ ๊ณ ์ณค๋ค. ์ธ๋ถ ์คํ ๋ฆฌ์ง ํ๋ก๋น์ ๋ ๋๊ตฌ์ ์๋ ๋ฐฉ์์ ์ฝ๊ณ ์ฌ์ด๋์นด ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ ๋๋ผ์ด๋ฒ ๋ฑ๋ก ๊ฐ๋ ์ ์ดํดํ ํ ์ค์ ์ ๊ฒํ ํ์ต๋๋ค.
๊ธฐ๋ณธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ธ /var/lib/kubelet ์๋์ ์๋ ๊ตฌ์ฑ ํ์ผ๋ก ์์ํ๋๋ก kubelet์ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ ์ด๋ ๋งค์ฐ ์คํด์ ์์ง๊ฐ ์์ต๋๋ค.
๋ช ๋ฌ ์ ์ ์ฐ๋ฆฌ๋ ๋๋๋ฅผ ๋ถํ ํ๊ณ ํฌ๋์ ์ปจํ ์ด๋๋ฅผ ๋ณ๋์ ์ ์ฅ ์์น๋ก ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ฌ ์ด์๊ณผ ๊ด๋ฆฌ๋ฅผ ๋ถ๋ฆฌํ์ต๋๋ค.
๋ฐ๋ผ์ /var/lib/kubelet ๋์ /containers๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๊ตฌ์ฑ ํ์ผ์ root-dir์ ๋ณ๊ฒฝํ์ต๋๋ค.
๊ธฐ๋ณธ ํธ๋ผ์ด๋ํธ ํ๋ก๋น์ ๋ ๋๊ตฌ๋ ๊ธฐ๋ณธ ์์น๋ฅผ ์ฐพ๊ณ ํ๋ฌ๊ทธ์ธ์ "์๋ฒ ๋ฉ"ํฉ๋๋ค.
๋ฐ๋ผ์ ๋ค์ ๋ ๊ฐ์ง๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค.
ps aux | grep kubelet | grep -e 'root-dir
-> ๊ตฌ์ฑ๋ ํด๋๋ฅผ ๊ฐ์ ธ์ต๋๋ค(๋ด ๊ฒฝ์ฐ์๋ /container).apiVersion: trident.netapp.io/v1 kind: TridentProvisioner metadata: name: trident namespace: trident spec: debug: true kubeletDir: /container
ํ์ด์ ๋น๋๋ค.๋๋ ์ด๊ฒ์ ๋ซ์ ๊ฒ์ ๋๋ค.