©2021 VMware, Inc.
Kubernetes Package Management w/
Carvel and kapp-controller
Dmitriy Kalinin
Engineer, VMware Tanzu
©2021 VMware, Inc.
👋, I am one of the maintainers of...
carvel.dev
#carvel on K8s
©2021 VMware, Inc.
https://www.youtube.com/watch?v=HdBRHVhbQWE
©2021 VMware, Inc.
...The future could be...
Declarative Kubernetes APIs that enable automated updates of packaged software
Immutable bundles distributed using OCI registries so that you know exactly what is
running on your cluster
A layered approach so that you can pick the right tool for the job
©2021 VMware, Inc.
Layered approach: picking the right abstraction
...
K8s
resource
reconciles K8s
resource
kapp CLI
kapp CLI
©2021 VMware, Inc.
Layered approach: picking the right abstraction
App
...
YAML
uses
K8s
resource
reconciles K8s
resource
kapp CLI
kapp CLI
©2021 VMware, Inc.
Layered approach: picking the right abstraction
Package Install Package
App
...
references
YAML
YAML
...
OCI image
YAML
reconciles
uses
K8s
resource
reconciles K8s
resource
kapp CLI
kapp CLI
©2021 VMware, Inc.
Layered approach: picking the right abstraction
Package Install
Package Repository
Package
App
...
references
OCI image
YAML
YAML
...
OCI image
contains
YAML
YAML
reconciles
uses
K8s
resource
reconciles K8s
resource
kapp CLI
kapp CLI
©2021 VMware, Inc.
Let's dig in (live)...
©2021 VMware, Inc. 10
imgpkg Bundle
index.docker.io/user1/my-bundle1@sha256:ec3f870e958e404476b9ec67f28c598fa8f00f819b8ae05ee80d51bac9f35f5d
_ index.docker.io/prometheus/prometheus@sha256:8ffa7f9352149dba1d539d0006b38eda357917edcdd39b82497a61da...
_ index.docker.io/grafana/grafana@sha256:73713d922b5f561c0db2a7ea5f4f6384f7d2d6289886f8400a8aaf5e8fdf1...
©2021 VMware, Inc. 11
imgpkg Bundle
©2021 VMware, Inc. 12
○ Pushing contents to OCI registry
➢ imgpkg push -b registry.com/stuff/bundle:1.0.0 -f my-bundle/
○ Copying bundles between registries
➢ imgpkg copy -b registry.com/stuff/bundle:1.0.0 --to-repo elsewhere.com/bundle
➢ ...or convert bundle into intermediate tarball...
➢ imgpkg copy -b registry.com/stuff/bundle:1.0.0 --to-tar /tmp/thick-bundle.tar
○ Pulling bundle contents from OCI registry
➢ imgpkg pull -b elsewhere.com/bundle:1.0.0 -o /tmp/bundle
imgpkg CLI
©2021 VMware, Inc.
Build the future of package management with us...
carvel.dev
#carvel on K8s

Breaking tradition the future of package management with kubernetes

  • 1.
    ©2021 VMware, Inc. KubernetesPackage Management w/ Carvel and kapp-controller Dmitriy Kalinin Engineer, VMware Tanzu
  • 2.
    ©2021 VMware, Inc. 👋,I am one of the maintainers of... carvel.dev #carvel on K8s
  • 3.
  • 4.
    ©2021 VMware, Inc. ...Thefuture could be... Declarative Kubernetes APIs that enable automated updates of packaged software Immutable bundles distributed using OCI registries so that you know exactly what is running on your cluster A layered approach so that you can pick the right tool for the job
  • 5.
    ©2021 VMware, Inc. Layeredapproach: picking the right abstraction ... K8s resource reconciles K8s resource kapp CLI kapp CLI
  • 6.
    ©2021 VMware, Inc. Layeredapproach: picking the right abstraction App ... YAML uses K8s resource reconciles K8s resource kapp CLI kapp CLI
  • 7.
    ©2021 VMware, Inc. Layeredapproach: picking the right abstraction Package Install Package App ... references YAML YAML ... OCI image YAML reconciles uses K8s resource reconciles K8s resource kapp CLI kapp CLI
  • 8.
    ©2021 VMware, Inc. Layeredapproach: picking the right abstraction Package Install Package Repository Package App ... references OCI image YAML YAML ... OCI image contains YAML YAML reconciles uses K8s resource reconciles K8s resource kapp CLI kapp CLI
  • 9.
    ©2021 VMware, Inc. Let'sdig in (live)...
  • 10.
    ©2021 VMware, Inc.10 imgpkg Bundle index.docker.io/user1/my-bundle1@sha256:ec3f870e958e404476b9ec67f28c598fa8f00f819b8ae05ee80d51bac9f35f5d _ index.docker.io/prometheus/prometheus@sha256:8ffa7f9352149dba1d539d0006b38eda357917edcdd39b82497a61da... _ index.docker.io/grafana/grafana@sha256:73713d922b5f561c0db2a7ea5f4f6384f7d2d6289886f8400a8aaf5e8fdf1...
  • 11.
    ©2021 VMware, Inc.11 imgpkg Bundle
  • 12.
    ©2021 VMware, Inc.12 ○ Pushing contents to OCI registry ➢ imgpkg push -b registry.com/stuff/bundle:1.0.0 -f my-bundle/ ○ Copying bundles between registries ➢ imgpkg copy -b registry.com/stuff/bundle:1.0.0 --to-repo elsewhere.com/bundle ➢ ...or convert bundle into intermediate tarball... ➢ imgpkg copy -b registry.com/stuff/bundle:1.0.0 --to-tar /tmp/thick-bundle.tar ○ Pulling bundle contents from OCI registry ➢ imgpkg pull -b elsewhere.com/bundle:1.0.0 -o /tmp/bundle imgpkg CLI
  • 13.
    ©2021 VMware, Inc. Buildthe future of package management with us... carvel.dev #carvel on K8s