kpack vs pack
| 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:
cd demo/apppack build pulse-local \ --builder paketobuildpacks/builder-jammy-base \ --path .Builder in this lab
Section titled “Builder in this lab”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.