Skip to content

kpack vs pack

Side by side: pack CLI builds demo/app to a local OCI image versus kpack on EKS building from CodeCommit and pushing to ECR
pack CLI
CLI from the CNB project — builds images locally or in CI using builders and buildpacks.
kpack
Kubernetes-native build service that runs CNB builds on-cluster and pushes images to a registry.
Runs Your laptop or CI job Kubernetes build pods on EKS
Amazon Elastic Kubernetes Service — this lab uses cluster name `cluster-1`.
Trigger Manual or pipeline step Git push to CodeCommit
AWS managed Git hosting — GitHub alternative used for app source and deploy manifests in this lab.
(polling)
Registry You push (e.g. ECR
Amazon Elastic Container Registry — stores OCI images built by kpack; EKS pulls from here.
login)
Cluster pushes via IRSA
IAM Roles for Service Accounts — pods use a Kubernetes service account annotated with an IAM role ARN.
Best for Quick try, debugging Platform GitOps
Declarative delivery from Git — manifests live in a repository; Argo CD applies changes on sync.
on EKS

This lab uses kpack end to end. Use pack locally to compare image size or debug buildpack detection:

Terminal window
cd demo/app
pack build pulse-local \
--builder paketobuildpacks/builder-jammy-base \
--path .

Paketo
Paketo Buildpacks — mature open-source builders for Go, Node, Java, Python, and more.
builder-jammy-base via kpack ClusterBuilder default — see kpack via GitOps.

Diagram icons from CNCF Icons andAWS Icons.