遵循教程创建KPack Builder资源失败,报栈不支持错误
问题描述
我刚开始使用kpack,按照官方教程操作,但创建Builder资源失败,报错信息如下:
message: 'validating buildpack paketo-buildpacks/ca-certificates@3.8.2: stack io.buildpacks.stacks.jammy is not supported' status: "False"
无更多错误信息,不清楚问题根源,请求帮助。以下是相关配置清单:
apiVersion: v1 items: - apiVersion: kpack.io/v1alpha2 kind: Builder metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"kpack.io/v1alpha2","kind":"Builder","metadata":{"annotations":{},"name":"ecr-builder","namespace":"default"},"spec":{"order":[{"group":[{"id":"paketo-buildpacks/java"}]},{"group":[{"id":"paketo-buildpacks/nodejs"}]}],"serviceAccountName":"service-account","stack":{"kind":"ClusterStack","name":"base"},"store":{"kind":"ClusterStore","name":"default"},"tag":"1234567890.xx.xx.xxxxx.amazonaws.com/project/repo:builder03"}} creationTimestamp: "2024-07-01T03:23:46Z" generation: 1 name: ecr-builder namespace: default resourceVersion: "1982966141" uid: 846605da-fe38-4163-a242-92fc4735cf48 spec: order: - group: - id: paketo-buildpacks/java - group: - id: paketo-buildpacks/nodejs serviceAccountName: service-account stack: kind: ClusterStack name: base store: kind: ClusterStore name: default tag: 1234567890.xx.xx.xxxxx.amazonaws.com/project/repo:builder03 status: conditions: - lastTransitionTime: "2024-07-01T03:23:47Z" message: 'validating buildpack paketo-buildpacks/ca-certificates@3.8.2: stack io.buildpacks.stacks.jammy is not supported' status: "False" type: Ready observedGeneration: 1 stack: {} kind: List metadata: resourceVersion: "" --- apiVersion: kpack.io/v1alpha2 kind: ClusterStack metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"kpack.io/v1alpha2","kind":"ClusterStack","metadata":{"annotations":{},"name":"base"},"spec":{"buildImage":{"image":"paketobuildpacks/build-jammy-base"},"id":"io.buildpacks.stacks.jammy","runImage":{"image":"paketobuildpacks/run-jammy-base"}}} creationTimestamp: "2024-07-01T03:21:13Z" generation: 1 name: base resourceVersion: "1982962342" uid: 6466a2d7-7869-46f2-a202-bcce42764a93 spec: buildImage: image: paketobuildpacks/build-jammy-base id: io.buildpacks.stacks.jammy runImage: image: paketobuildpacks/run-jammy-base status: buildImage: image: paketobuildpacks/build-jammy-base latestImage: index.docker.io/paketobuildpacks/build-jammy-base@sha256:5925b2c144a8a0123621899d32ca39a6ba52a078c9edeb06f14431610e3a6c03 conditions: - lastTransitionTime: "2024-07-01T03:21:14Z" status: "True" type: Ready groupId: 1000 id: io.buildpacks.stacks.jammy observedGeneration: 1 runImage: image: paketobuildpacks/run-jammy-base latestImage: index.docker.io/paketobuildpacks/run-jammy-base@sha256:a1046306c5f4fa044692283380a7a91e2fedfb035df9dd0f6b54948003357315 userId: 1001
问题根源
错误核心是paketo-buildpacks/ca-certificates@3.8.2版本不支持Jammy栈(io.buildpacks.stacks.jammy)。Paketo的旧版Buildpack通常绑定特定栈版本,ca-certificates 3.x系列仅适配Bionic栈(io.buildpacks.stacks.bionic),与你当前使用的Jammy栈不兼容。
解决方案
提供两种可行修复方案:
方案1:升级Buildpack到支持Jammy的版本
Paketo的ca-certificates从4.x版本开始支持Jammy栈。需确保ClusterStore中包含新版Buildpack,更新ClusterStore配置:
apiVersion: kpack.io/v1alpha2 kind: ClusterStore metadata: name: default spec: sources: - image: paketobuildpacks/java:latest - image: paketobuildpacks/nodejs:latest
更新后kpack会自动同步最新Buildpack,重新创建Builder即可。
方案2:切换到Bionic栈
若暂时不想升级Buildpack,可将ClusterStack切换为Bionic版本:
apiVersion: kpack.io/v1alpha2 kind: ClusterStack metadata: name: base spec: buildImage: image: paketobuildpacks/build-bionic-base id: io.buildpacks.stacks.bionic runImage: image: paketobuildpacks/run-bionic-base
应用修改后重新创建Builder,旧版ca-certificates即可正常工作。
验证步骤
- 应用修改后,检查Builder状态:
kubectl get builder ecr-builder -n default
- 查看详细状态确认修复:
kubectl describe builder ecr-builder -n default
内容的提问来源于stack exchange,提问作者user1919511
相关产品推荐
相关产品推荐

