Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
1105 Внедрение механизмов обеспечения безопасности цепочки поставки программных проектов
Legacy
scanned-projects
helm
Commits
f52d0f4f
Unverified
Commit
f52d0f4f
authored
7 years ago
by
Matthew Fisher
Browse files
Options
Download
Patches
Plain Diff
rename TPR to CRD
parent
55ec0709
main
Release
add-codeql
dependabot/go_modules/github.com/docker/distribution-2.8.2incompatible
dependabot/go_modules/github.com/lib/pq-1.10.9
dependabot/go_modules/github.com/rubenv/sql-migrate-1.4.0
dependabot/go_modules/golang.org/x/crypto-0.9.0
dependabot/go_modules/golang.org/x/term-0.8.0
dependabot/go_modules/k8s.io/klog/v2-2.100.1
dev-v2
feat-v3/event-emitter-lua
release-2.10
release-2.11
release-2.12
release-2.13
release-2.14
release-2.15
release-2.16
release-2.17
release-3.0
release-3.1
release-3.10
release-3.11
release-3.12
release-3.2
release-3.3
release-3.4
release-3.5
release-3.6
release-3.6.1
release-3.6.2
release-3.7
release-3.8
release-3.9
release-v3.0.0-beta.4
v3.12.0
v3.12.0-rc.1
v3.12.0-dev.1
v3.11.3
v3.11.2
v3.11.1
v3.11.0
v3.11.0-rc.2
v3.11.0-rc.1
v3.10.3
v3.10.2
v3.10.1
v3.10.0
v3.10.0-rc.1
v3.9.4
v3.9.3
v3.9.2
v3.9.1
v3.9.0
v3.9.0-rc.1
v3.8.2
v3.8.1
v3.8.0
v3.8.0-rc.2
v3.8.0-rc.1
v3.7.2
v3.7.1
v3.7.0
v3.7.0-rc.3
v3.7.0-rc.2
v3.7.0-rc.1
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.6.0-rc.1
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.5.0-rc.2
v3.5.0-rc.1
v3.4.2
v3.4.1
v3.4.0
v3.4.0-rc.1
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.3.0-rc.2
v3.3.0-rc.1
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.2.0-rc.1
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc.1
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-beta.5
v3.0.0-beta.4
v3.0.0-beta.3
v3.0.0-beta.2
v3.0.0-beta.1
v3.0.0-alpha.2
v3.0.0-alpha.1
v2.17.0
v2.17.0-rc.1
v2.16.12
v2.16.11
v2.16.10
v2.16.9
v2.16.8
v2.16.7
v2.16.6
v2.16.5
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.16.0
v2.16.0-rc.2
v2.16.0-rc.1
v2.15.2
v2.15.1
v2.15.0
v2.15.0-rc.2
v2.15.0-rc.1
v2.14.3
v2.14.2
v2.14.1
v2.14.0
v2.14.0-rc.2
v2.14.0-rc.1
v2.13.1
v2.13.1-rc.1
v2.13.0
v2.13.0-rc.2
v2.13.0-rc.1
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.12.0-rc.2
v2.12.0-rc.1
v2.11.0
v2.11.0-rc.4
v2.11.0-rc.3
v2.11.0-rc.2
v2.11.0-rc.1
v2.10.0
v2.10.0-rc.3
v2.10.0-rc.2
v2.10.0-rc.1
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/chart_best_practices/custom_resource_definitions.md
+37
-0
docs/chart_best_practices/custom_resource_definitions.md
with
37 additions
and
0 deletions
+37
-0
docs/chart_best_practices/
third_party_resource
s.md
→
docs/chart_best_practices/
custom_resource_definition
s.md
+
37
−
0
View file @
f52d0f4f
#
Third Party Resource
s
#
Custom Resource Definition
s
This section of the Best Practices Guide deals with creating and using
Third Party Resource
This section of the Best Practices Guide deals with creating and using
Custom Resource Definition
objects.
objects.
When working with
Third Party Resources (TPR
s), it is important to distinguish
When working with
Custom Resource Definitions (CRD
s), it is important to distinguish
two different pieces:
two different pieces:
-
There is a declaration of a TPR. This is the YAML file that has the kind
`ThirdPartyResource`
-
There is a declaration of a CRD. This is the YAML file that has the kind
`CustomResourceDefinition`
-
Then there are resources that _use_ the TPR. Say a TPR defines
`foo.example.com/v1`
. Any resource
-
Then there are resources that _use_ the CRD. Say a CRD defines
`foo.example.com/v1`
. Any resource
that has
`apiVersion: example.com/v1`
and kind
`Foo`
is a resource that uses the
that has
`apiVersion: example.com/v1`
and kind
`Foo`
is a resource that uses the CRD.
TPR.
## Install a
TPR
Declaration Before Using the Resource
## Install a
CRD
Declaration Before Using the Resource
Helm is optimized to load as many resources into Kubernetes as fast as possible.
Helm is optimized to load as many resources into Kubernetes as fast as possible.
By design, Kubernetes can take an entire set of manifests and bring them all
By design, Kubernetes can take an entire set of manifests and bring them all
online (this is called the reconciliation loop).
online (this is called the reconciliation loop).
But there's a difference with
TPR
s.
But there's a difference with
CRD
s.
For a
TPR
, the declaration must be registered before any resources of that
TPR
s
For a
CRD
, the declaration must be registered before any resources of that
CRD
s
kind(s) can be used. And the registration process sometimes takes a few seconds.
kind(s) can be used. And the registration process sometimes takes a few seconds.
### Method 1: Separate Charts
### Method 1: Separate Charts
One way to do this is to put the
TPR
definition in one chart, and then put any
One way to do this is to put the
CRD
definition in one chart, and then put any
resources that use that
TPR
in _another_ chart.
resources that use that
CRD
in _another_ chart.
In this method, each chart must be installed separately.
In this method, each chart must be installed separately.
### Method 2: Pre-install Hooks
### Method 2: Pre-install Hooks
To package the two together, add a
`pre-install`
hook to the
TPR
definition so
To package the two together, add a
`pre-install`
hook to the
CRD
definition so
that it is fully installed before the rest of the chart is executed.
that it is fully installed before the rest of the chart is executed.
Note that if you create the
TPR
with a
`pre-install`
hook, that
TPR
definition
Note that if you create the
CRD
with a
`pre-install`
hook, that
CRD
definition
will not be deleted when
`helm delete`
is run.
will not be deleted when
`helm delete`
is run.
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets