From what I understand:
- They are both tools to build container images
- The build itself runs in a container
- The build can happen on a remote node, for example in a Kubernetes cluster (Kaniko, BuildKit)
- They both offer advanced features such as layer caching
The differences I can gather:
- Security model (Kaniko)
- BuildKit leverages more recent developments such as cache manifest and manifest lists
- BuildKit supports multiple architectures
What I'm not clear is the extent of the overlap between the 2 set of tools and when one should be used instead of the other. For example, both tools seem to cover well the use case of self hosting a remote image build farm on a Kubernetes cluster.