はじめに
以下の書籍をやっていて詰まったことがあったのでまとめます。
書籍が少し古いため現在のバージョンで動かすためにいろいろ試行錯誤した過程になります
問題
書籍3章Tekton Pipelinesの概要のGitのリポジトリをPersitent Volumeに保存するところで問題が置きました
TaskRunでTaskを起動して状態を確認するとPending
になり失敗しました
ポッドを確認すると以下のようにInit
で失敗していることがわかりました
watanabejin@watanabejin-Latitude-3520:~/workspace/bookinfo-manifests/sample/tekton$ kubectl get po
NAME READY STATUS RESTARTS AGE
git-clone-run-22l7z-pod 0/1 Init:0/2 0 4m11s
ロクを確認すると以下のようなログが出ており、おそらくPVC
の設定で失敗しているような気がいしました
watanabejin@watanabejin-Latitude-3520:~/workspace/bookinfo-manifests/sample/tekton$ kubectl logs git-clone-run-srmjn-pod
Defaulted container "step-clone" out of: step-clone, prepare (init), place-scripts (init)
Error from server (BadRequest): container "step-clone" in pod "git-clone-run-srmjn-pod" is waiting to start: PodInitializing
PVCは以下の記事のように作成しています
解決方法
PVCの作り方が間違っていたのが原因でした
以下2つは正しいものと間違ったものを比べたものです(以前の記事では間違えて作っていました)
on$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
bookinfo Bound pvc-0993d11d-2f29-42b1-ad92-c9679c328fc0 1Gi RWO standard-rwo 17s
bookinfo-pvc Terminating bookinfo 200Mi RWO cache 4d4h
watanabejin@watanabejin-Latitude-3520:~/workspace/bookinfo-manifests/sample/tekton$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
bookinfo 1Gi RWO Retain Terminating dev/bookinfo-pvc 4d3h
pvc-0993d11d-2f29-42b1-ad92-c9679c328fc0 1Gi RWO Delete Bound dev/bookinfo standard-rwo 8s
STORAGECLASSがcache
からstandard-rwo
に変えました
以下がその時に使った設定ファイルになります
bookinfo-pvc.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: bookinfo
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
gcePersistentDisk:
pdName: bookinfo
fsType: pd-balanced
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: bookinfo
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 1Gi
これで無事クローンできたことが確認できました
おわりに
デバック方法がわからないことで問題解決まで時間がかかりましたが、このような作業が本番で運用していくときに原因を解決できる力になるのかなと思うので、引き続きがんばります