LoginSignup
1

More than 1 year has passed since last update.

TektonでTaskRunしてもPendingになって失敗するときのデバックと解決方法

Posted at

はじめに

以下の書籍をやっていて詰まったことがあったのでまとめます。
書籍が少し古いため現在のバージョンで動かすためにいろいろ試行錯誤した過程になります

問題

書籍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

これで無事クローンできたことが確認できました

おわりに

デバック方法がわからないことで問題解決まで時間がかかりましたが、このような作業が本番で運用していくときに原因を解決できる力になるのかなと思うので、引き続きがんばります

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1