Configuration was noted as a hard, open problem in our Borg, Omega, and Kubernetes paper: https://research.google/pubs/pub44843/ , and there continues to be demand for innovation in the realm of declarative config/deployment automation. There are now more than 120 tools:https://docs.google.com/spreadsheets/d/1FCgqz1Ci7_VCz_wdh8vBitZ3giBtac_H8SBw4uxnrsE/edit …
-
Show this thread
-
Fragmentation has been exacerbated by user preferences to use familiar templating and programming languages, the simplest mechanisms that satisfy their needs, and as few tools as possible. Greater reusability of tool implementations and config itself would benefit everyone.
1 reply 0 retweets 1 likeShow this thread -
That’s one of the many reasons I am excited about kpt. kpt is a toolkit to help manage, examine, manipulate, customize, validate, and apply Kubernetes resource configuration files, both manually and programmatically.
3 replies 0 retweets 4 likesShow this thread -
One of the primary sets of capabilities that is required to enable configuration reuse is the ability to distribute/publish/share, compose, and update groups of configuration files, commonly known as packages.
1 reply 0 retweets 1 likeShow this thread -
git is the most common source of truth for declarative configuration files, and users are increasingly driving deployment workflows from changes in git, either with traditional CI/CD tools or dedicated GitOps tools. kpt facilitates declarative workflows directly around git.
2 replies 1 retweet 6 likesShow this thread -
The other main capability needed to enable reuse is the ability to customize configuration files for specific use cases. That’s where the most diverse preferences are evident. kpt supports generation, transformation, and validation functions written in any programming language.
1 reply 0 retweets 1 likeShow this thread -
kpt accomplishes this by representing configuration as data, specifically Kubernetes resources serialized as YAML or JSON. The configuration-as-data approach builds upon the design of the Kubernetes resource model (KRM): https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/resource-management.md …
1 reply 0 retweets 3 likesShow this thread -
It builds directly upon prior work in Kubernetes, such as https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/declarative-application-management.md …, bulk operations in kubectl (https://github.com/kubernetes/kubernetes/pull/1007/files …), apply (http://issues.k8s.io/1702 ), andhttps://github.com/kubernetes-sigs/kustomize …
1 reply 0 retweets 3 likesShow this thread -
Though it’s in its early stages, I hope that kpt will not only fill a gap in the existing tool landscape, but will also inspire more tools designed to interoperate with other configuration and deployment tools and workflows in the Kubernetes ecosystem.
2 replies 0 retweets 2 likesShow this thread -
Replying to @bgrant0607
What does kpt mean for the future of kustomize? From a quick look, it looks like I can do most of what kpt does with kustomize+kubectl and a git repo.
1 reply 0 retweets 0 likes
kpt provides a framework for integrating a wider variety of functionality, including kustomize. Exploration of how to better integrate kpt and kustomize, such as a kustomize build function, is underway: https://github.com/GoogleContainerTools/kpt/issues/392 …. If kustomize+kubectl is adequate for you, great.
-
-
Replying to @bgrant0607
I didn't mean to criticize with my previous tweet. I'm happy to see experiments and happier to hear that kustomize is not going away. Using kustomize and kubectl as composable tools is a great idea.
0 replies 0 retweets 0 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.