気付いたらClusterBuilderのReadyがFalseになってimageのbuildが進まないことがある。特にk8sを再起動したときなど。次のような状態になり、
$ kubectl get clusterbuilder
NAME LATESTIMAGE READY
base ghcr.io/making/buildservice:clusterbuilder-base@sha256:6f6f2178be677884e78353eb39bf37cc55b0f7483cc59740e50dbf958dec7f65 False
base-jammy ghcr.io/making/buildservice:clusterbuilder-base-jammy@sha256:064c5d5314dd9357a7978e41f62f8d44b6ffc2cf18fba78a73d85ebc25d8d51e False
default ghcr.io/making/buildservice:clusterbuilder-default@sha256:6f6f2178be677884e78353eb39bf37cc55b0f7483cc59740e50dbf958dec7f65 False
次のようなエラーメッセージが出力される。
$ kubectl get clusterbuilder base -ojsonpath='{.status.conditions}' | jq .
[
{
"lastTransitionTime": "2022-12-08T12:13:35Z",
"message": "failed to fetch lifecycle image: Get \"https://registry.tanzu.vmware.com/v2/\": dial tcp: lookup registry.tanzu.vmware.com: i/o timeout",
"status": "False",
"type": "Ready"
}
]
放っておいても直らないが、kpack-controllerを再起動すると直る
kubectl rollout restart -n kpack deployment kpack-controller
再起動すればReadyはTrueに戻る。
$ kubectl get clusterbuilder
NAME LATESTIMAGE READY
base ghcr.io/making/buildservice:clusterbuilder-base@sha256:6f6f2178be677884e78353eb39bf37cc55b0f7483cc59740e50dbf958dec7f65 True
base-jammy ghcr.io/making/buildservice:clusterbuilder-base-jammy@sha256:064c5d5314dd9357a7978e41f62f8d44b6ffc2cf18fba78a73d85ebc25d8d51e True
default ghcr.io/making/buildservice:clusterbuilder-default@sha256:6f6f2178be677884e78353eb39bf37cc55b0f7483cc59740e50dbf958dec7f65 True