diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 43206401..bf1e4dfb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -2,14 +2,15 @@ on: push name: CI jobs: checks: - name: Run Tests + name: Run Checks runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.22.2' - - shell: bash + - name: Generate manifests + shell: bash run: | make manifests if [[ -n $(git status -s) ]] ; then @@ -20,6 +21,26 @@ jobs: git diff exit 1 fi + - name: Generate API docs + shell: bash + run: | + make apidocs + if [[ -n $(git status -s) ]] ; then + echo "Generating API docs leaves tracked files in a modified state." + echo "Ensure to include updated API docs in this PR." + echo "This is usually done by running 'make apidocs' and running 'git add ...' for the files that was modified by generating manifests." + git status -s + git diff + exit 1 + fi + test: + name: Run Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: '1.22.2' - shell: bash run: | make test diff --git a/Makefile b/Makefile index c108e389..51cdc0c7 100644 --- a/Makefile +++ b/Makefile @@ -162,3 +162,23 @@ ifeq (,$(shell PATH=$$PATH:$(GOBIN) which ginkgo)) endif GINKGO=$(GOBIN)/ginkgo endif + +.PHONY: crdoc +crdoc: +ifneq (,$(shell which crdoc)) +CRDOC=$(shell which crdoc) +else +ifeq (,$(shell PATH=$$PATH:$(GOBIN) which crdoc)) + @{ \ + set -ex ;\ + which go ;\ + go version ;\ + go install fybrik.io/crdoc@6247ceaefc6bdb5d1a038278477feeda509e4e0c ;\ + crdoc --version ;\ + } +endif +CRDOC=$(GOBIN)/crdoc +endif + +apidocs: manifests crdoc + $(CRDOC) --resources config/crd/bases --output docs/api.md diff --git a/docs/api.md b/docs/api.md new file mode 100644 index 00000000..145089ec --- /dev/null +++ b/docs/api.md @@ -0,0 +1,36025 @@ +# API Reference + +Packages: + +- [core.humio.com/v1alpha1](#corehumiocomv1alpha1) + +# core.humio.com/v1alpha1 + +Resource Types: + +- [HumioAction](#humioaction) + +- [HumioAggregateAlert](#humioaggregatealert) + +- [HumioAlert](#humioalert) + +- [HumioBootstrapToken](#humiobootstraptoken) + +- [HumioCluster](#humiocluster) + +- [HumioExternalCluster](#humioexternalcluster) + +- [HumioFilterAlert](#humiofilteralert) + +- [HumioIngestToken](#humioingesttoken) + +- [HumioParser](#humioparser) + +- [HumioRepository](#humiorepository) + +- [HumioScheduledSearch](#humioscheduledsearch) + +- [HumioView](#humioview) + + + + +## HumioAction +[↩ Parent](#corehumiocomv1alpha1 ) + + + + + + +HumioAction is the Schema for the humioactions API + +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioAction | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioActionSpec defines the desired state of HumioAction + |
+ false | +
status | +object | +
+ HumioActionStatus defines the observed state of HumioAction + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name is the name of the Action + |
+ true | +
viewName | +string | +
+ ViewName is the name of the Humio View under which the Action will be managed. This can also be a Repository + |
+ true | +
emailProperties | +object | +
+ EmailProperties indicates this is an Email Action, and contains the corresponding properties + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
humioRepositoryProperties | +object | +
+ HumioRepositoryProperties indicates this is a Humio Repository Action, and contains the corresponding properties + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
opsGenieProperties | +object | +
+ OpsGenieProperties indicates this is a Ops Genie Action, and contains the corresponding properties + |
+ false | +
pagerDutyProperties | +object | +
+ PagerDutyProperties indicates this is a PagerDuty Action, and contains the corresponding properties + |
+ false | +
slackPostMessageProperties | +object | +
+ SlackPostMessageProperties indicates this is a Slack Post Message Action, and contains the corresponding properties + |
+ false | +
slackProperties | +object | +
+ SlackProperties indicates this is a Slack Action, and contains the corresponding properties + |
+ false | +
victorOpsProperties | +object | +
+ VictorOpsProperties indicates this is a VictorOps Action, and contains the corresponding properties + |
+ false | +
webhookProperties | +object | +
+ WebhookProperties indicates this is a Webhook Action, and contains the corresponding properties + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
bodyTemplate | +string | +
+ + |
+ false | +
recipients | +[]string | +
+ + |
+ false | +
subjectTemplate | +string | +
+ + |
+ false | +
useProxy | +boolean | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
ingestToken | +string | +
+ IngestToken specifies what ingest token to use.
+If both IngestToken and IngestTokenSource are specified, IngestToken will be used. + |
+ false | +
ingestTokenSource | +object | +
+ IngestTokenSource specifies where to fetch the ingest token from.
+If both IngestToken and IngestTokenSource are specified, IngestToken will be used. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiUrl | +string | +
+ + |
+ false | +
genieKey | +string | +
+ GenieKey specifies what API key to use.
+If both GenieKey and GenieKeySource are specified, GenieKey will be used. + |
+ false | +
genieKeySource | +object | +
+ GenieKeySource specifies where to fetch the API key from.
+If both GenieKey and GenieKeySource are specified, GenieKey will be used. + |
+ false | +
useProxy | +boolean | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
routingKey | +string | +
+ RoutingKey specifies what API key to use.
+If both RoutingKey and RoutingKeySource are specified, RoutingKey will be used. + |
+ false | +
routingKeySource | +object | +
+ RoutingKeySource specifies where to fetch the routing key from.
+If both RoutingKey and RoutingKeySource are specified, RoutingKey will be used. + |
+ false | +
severity | +string | +
+ + |
+ false | +
useProxy | +boolean | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiToken | +string | +
+ ApiToken specifies what API key to use.
+If both ApiToken and ApiTokenSource are specified, ApiToken will be used. + |
+ false | +
apiTokenSource | +object | +
+ ApiTokenSource specifies where to fetch the API key from.
+If both ApiToken and ApiTokenSource are specified, ApiToken will be used. + |
+ false | +
channels | +[]string | +
+ + |
+ false | +
fields | +map[string]string | +
+ + |
+ false | +
useProxy | +boolean | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fields | +map[string]string | +
+ + |
+ false | +
url | +string | +
+ Url specifies what URL to use.
+If both Url and UrlSource are specified, Url will be used. + |
+ false | +
urlSource | +object | +
+ UrlSource specifies where to fetch the URL from.
+If both Url and UrlSource are specified, Url will be used. + |
+ false | +
useProxy | +boolean | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
notifyUrlSource | +object | +
+ NotifyUrlSource specifies where to fetch the URL from.
+If both NotifyUrl and NotifyUrlSource are specified, NotifyUrl will be used. + |
+ true | +
messageType | +string | +
+ + |
+ false | +
notifyUrl | +string | +
+ NotifyUrl specifies what URL to use.
+If both NotifyUrl and NotifyUrlSource are specified, NotifyUrl will be used. + |
+ false | +
useProxy | +boolean | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
bodyTemplate | +string | +
+ + |
+ false | +
headers | +map[string]string | +
+ Headers specifies what HTTP headers to use.
+If both Headers and SecretHeaders are specified, they will be merged together. + |
+ false | +
ignoreSSL | +boolean | +
+ + |
+ false | +
method | +string | +
+ + |
+ false | +
secretHeaders | +[]object | +
+ SecretHeaders specifies what HTTP headers to use and where to fetch the values from.
+If both Headers and SecretHeaders are specified, they will be merged together. + |
+ false | +
url | +string | +
+ Url specifies what URL to use
+If both Url and UrlSource are specified, Url will be used. + |
+ false | +
urlSource | +object | +
+ UrlSource specifies where to fetch the URL from
+If both Url and UrlSource are specified, Url will be used. + |
+ false | +
useProxy | +boolean | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name is the name of the header. + |
+ true | +
valueFrom | +object | +
+ ValueFrom defines where to fetch the value of the header from. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioAction + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioAggregateAlert | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioAggregateAlertSpec defines the desired state of HumioAggregateAlert + |
+ false | +
status | +object | +
+ HumioAggregateAlertStatus defines the observed state of HumioAggregateAlert + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
actions | +[]string | +
+ Actions is the list of Humio Actions by name that will be triggered by this Aggregate alert + |
+ true | +
name | +string | +
+ Name is the name of the aggregate alert inside Humio + |
+ true | +
queryString | +string | +
+ QueryString defines the desired Humio query string + |
+ true | +
viewName | +string | +
+ ViewName is the name of the Humio View under which the aggregate alert will be managed. This can also be a Repository + |
+ true | +
description | +string | +
+ Description is the description of the Aggregate alert + |
+ false | +
enabled | +boolean | +
+ Enabled will set the AggregateAlert to enabled when set to true + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
labels | +[]string | +
+ Labels are a set of labels on the aggregate alert + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
queryTimestampType | +string | +
+ QueryTimestampType defines the timestamp type to use for a query + |
+ false | +
searchIntervalSeconds | +integer | +
+ Search Interval time in seconds + |
+ false | +
throttleField | +string | +
+ ThrottleField is the field on which to throttle + |
+ false | +
throttleTimeSeconds | +integer | +
+ ThrottleTimeSeconds is the throttle time in seconds. An aggregate alert is triggered at most once per the throttle time + |
+ false | +
triggerMode | +string | +
+ Aggregate Alert trigger mode + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of HumioAggregateAlert + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioAlert | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioAlertSpec defines the desired state of HumioAlert + |
+ false | +
status | +object | +
+ HumioAlertStatus defines the observed state of HumioAlert + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
actions | +[]string | +
+ Actions is the list of Humio Actions by name that will be triggered by this Alert + |
+ true | +
name | +string | +
+ Name is the name of the alert inside Humio + |
+ true | +
query | +object | +
+ Query defines the desired state of the Humio query + |
+ true | +
viewName | +string | +
+ ViewName is the name of the Humio View under which the Alert will be managed. This can also be a Repository + |
+ true | +
description | +string | +
+ Description is the description of the Alert + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
labels | +[]string | +
+ Labels are a set of labels on the Alert + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
silenced | +boolean | +
+ Silenced will set the Alert to enabled when set to false + |
+ false | +
throttleField | +string | +
+ ThrottleField is the field on which to throttle + |
+ false | +
throttleTimeMillis | +integer | +
+ ThrottleTimeMillis is the throttle time in milliseconds. An Alert is triggered at most once per the throttle time + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
queryString | +string | +
+ QueryString is the Humio query that will trigger the alert + |
+ true | +
end | +string | +
+ End is the end time for the query. Defaults to "now"
+Deprecated: Will be ignored. All alerts end at "now". + |
+ false | +
isLive | +boolean | +
+ IsLive sets whether the query is a live query. Defaults to "true"
+Deprecated: Will be ignored. All alerts are live. + |
+ false | +
start | +string | +
+ Start is the start time for the query. Defaults to "24h" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioAlert + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioBootstrapToken | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioBootstrapTokenSpec defines the bootstrap token that Humio will use to bootstrap authentication + |
+ false | +
status | +object | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
affinity | +object | +
+ Affinity defines the affinity for the bootstrap onetime pod. This will default to the affinity of the first
+non-empty node pool if ManagedClusterName is set on the HumioBootstrapTokenSpec + |
+ false | +
bootstrapImage | +string | +
+ Image can be set to override the image used to run when generating a bootstrap token. This will default to the image
+that is used by either the HumioCluster resource or the first NodePool resource if ManagedClusterName is set on the HumioBootstrapTokenSpec + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to the name of the HumioExternalCluster which will use this bootstrap token for authentication
+This conflicts with ManagedClusterName. + |
+ false | +
hashedTokenSecret | +object | +
+ HashedTokenSecret is the secret reference that contains the hashed token to use for this HumioBootstrapToken. This is used if one wants to use an existing
+hashed token for the BootstrapToken rather than letting the operator create one by running a bootstrap token onetime pod + |
+ false | +
imagePullSecrets | +[]object | +
+ ImagePullSecrets defines the imagepullsecrets for the bootstrap image onetime pod. These secrets are not created by the operator. This will default to the imagePullSecrets
+that are used by either the HumioCluster resource or the first NodePool resource if ManagedClusterName is set on the HumioBootstrapTokenSpec + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to the name of the HumioCluster which will use this bootstrap token + |
+ false | +
resources | +object | +
+ Resources is the kubernetes resource limits for the bootstrap onetime pod + |
+ false | +
tokenSecret | +object | +
+ TokenSecret is the secret reference that contains the token to use for this HumioBootstrapToken. This is used if one wants to use an existing
+token for the BootstrapToken rather than letting the operator create one by running a bootstrap token onetime pod + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
nodeAffinity | +object | +
+ Describes node affinity scheduling rules for the pod. + |
+ false | +
podAffinity | +object | +
+ Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + |
+ false | +
podAntiAffinity | +object | +
+ Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node matches the corresponding matchExpressions; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +object | +
+ If the affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to an update), the system
+may or may not try to eventually evict the pod from its node. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preference | +object | +
+ A node selector term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ A list of node selector requirements by node's labels. + |
+ false | +
matchFields | +[]object | +
+ A list of node selector requirements by node's fields. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
nodeSelectorTerms | +[]object | +
+ Required. A list of node selector terms. The terms are ORed. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ A list of node selector requirements by node's labels. + |
+ false | +
matchFields | +[]object | +
+ A list of node selector requirements by node's fields. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ If the affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to a pod label update), the
+system may or may not try to eventually evict the pod from its node.
+When there are multiple elements, the lists of nodes corresponding to each
+podAffinityTerm are intersected, i.e. all terms must be satisfied. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
podAffinityTerm | +object | +
+ Required. A pod affinity term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ weight associated with matching the corresponding podAffinityTerm,
+in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the anti-affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling anti-affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ If the anti-affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the anti-affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to a pod label update), the
+system may or may not try to eventually evict the pod from its node.
+When there are multiple elements, the lists of nodes corresponding to each
+podAffinityTerm are intersected, i.e. all terms must be satisfied. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
podAffinityTerm | +object | +
+ Required. A pod affinity term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ weight associated with matching the corresponding podAffinityTerm,
+in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef is the secret key reference to a kubernetes secret containing the bootstrap hashed token secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claims | +[]object | +
+ Claims lists the names of resources, defined in spec.resourceClaims,
+that are used by this container.
+
+
+This is an alpha field and requires enabling the
+DynamicResourceAllocation feature gate.
+
+
+This field is immutable. It can only be set for containers. + |
+ false | +
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name must match the name of one entry in pod.spec.resourceClaims of
+the Pod where this field is used. It makes that resource available
+inside a container. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef is the secret key reference to a kubernetes secret containing the bootstrap token secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
hashedTokenSecretStatus | +object | +
+ HashedTokenSecret is the secret reference that contains the hashed token to use for this HumioBootstrapToken. This is set regardless of whether it's defined
+in the spec or automatically created + |
+ false | +
state | +string | +
+ State can be "NotReady" or "Ready" + |
+ false | +
tokenSecretStatus | +object | +
+ TokenSecretKeyRef contains the secret key reference to a kubernetes secret containing the bootstrap token secret. This is set regardless of whether it's defined
+in the spec or automatically created + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef is the secret reference that contains the hashed token to use for this HumioBootstrapToken. This is set regardless of whether it's defined
+in the spec or automatically created + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef contains the secret key reference to a kubernetes secret containing the bootstrap token secret. This is set regardless of whether it's defined
+in the spec or automatically created + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioCluster | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioClusterSpec defines the desired state of HumioCluster + |
+ false | +
status | +object | +
+ HumioClusterStatus defines the observed state of HumioCluster + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
affinity | +object | +
+ Affinity defines the affinity policies that will be attached to the humio pods + |
+ false | +
authServiceAccountName | +string | +
+ *Deprecated: AuthServiceAccountName is no longer used as the auth sidecar container has been removed.* + |
+ false | +
autoRebalancePartitions | +boolean | +
+ AutoRebalancePartitions will enable auto-rebalancing of both digest and storage partitions assigned to humio cluster nodes.
+If all Kubernetes worker nodes are located in the same availability zone, you must set DisableInitContainer to true to use auto rebalancing of partitions.
+Deprecated: No longer needed as of 1.89.0 as partitions and segment distribution is now automatically managed by LogScale itself. + |
+ false | +
commonEnvironmentVariables | +[]object | +
+ CommonEnvironmentVariables is the set of variables that will be applied to all nodes regardless of the node pool types.
+See spec.nodePools[].environmentVariables to override or append variables for a node pool.
+New installations should prefer setting this variable instead of spec.environmentVariables as the latter will be deprecated in the future. + |
+ false | +
containerLivenessProbe | +object | +
+ ContainerLivenessProbe is the liveness probe applied to the Humio container
+If specified and non-empty, the user-specified liveness probe will be used.
+If specified and empty, the pod will be created without a liveness probe set.
+Otherwise, use the built in default liveness probe configuration. + |
+ false | +
containerReadinessProbe | +object | +
+ ContainerReadinessProbe is the readiness probe applied to the Humio container.
+If specified and non-empty, the user-specified readiness probe will be used.
+If specified and empty, the pod will be created without a readiness probe set.
+Otherwise, use the built in default readiness probe configuration. + |
+ false | +
containerSecurityContext | +object | +
+ ContainerSecurityContext is the security context applied to the Humio container + |
+ false | +
containerStartupProbe | +object | +
+ ContainerStartupProbe is the startup probe applied to the Humio container
+If specified and non-empty, the user-specified startup probe will be used.
+If specified and empty, the pod will be created without a startup probe set.
+Otherwise, use the built in default startup probe configuration. + |
+ false | +
dataVolumePersistentVolumeClaimPolicy | +object | +
+ DataVolumePersistentVolumeClaimPolicy is a policy which allows persistent volumes to be reclaimed + |
+ false | +
dataVolumePersistentVolumeClaimSpecTemplate | +object | +
+ DataVolumePersistentVolumeClaimSpecTemplate is the PersistentVolumeClaimSpec that will be used with for the humio data volume. This conflicts with DataVolumeSource. + |
+ false | +
dataVolumeSource | +object | +
+ DataVolumeSource is the volume that is mounted on the humio pods. This conflicts with DataVolumePersistentVolumeClaimSpecTemplate. + |
+ false | +
digestPartitionsCount | +integer | +
+ DigestPartitionsCount is the desired number of digest partitions + |
+ false | +
disableInitContainer | +boolean | +
+ DisableInitContainer is used to disable the init container completely which collects the availability zone from the Kubernetes worker node.
+This is not recommended, unless you are using auto rebalancing partitions and are running in a single availability zone. + |
+ false | +
environmentVariables | +[]object | +
+ EnvironmentVariables is the set of variables that will be supplied to all Pods in the given node pool.
+This set is merged with fallback environment variables (for defaults in case they are not supplied in the Custom Resource),
+and spec.commonEnvironmentVariables (for variables that should be applied to Pods of all node types).
+Precedence is given to more environment-specific variables, i.e. spec.environmentVariables
+(or spec.nodePools[].environmentVariables) has higher precedence than spec.commonEnvironmentVariables. + |
+ false | +
environmentVariablesSource | +[]object | +
+ EnvironmentVariablesSource is the reference to an external source of environment variables that will be merged with environmentVariables + |
+ false | +
esHostname | +string | +
+ ESHostname is the public hostname used by log shippers with support for ES bulk API to access Humio + |
+ false | +
esHostnameSource | +object | +
+ ESHostnameSource is the reference to the public hostname used by log shippers with support for ES bulk API to
+access Humio + |
+ false | +
extraHumioVolumeMounts | +[]object | +
+ ExtraHumioVolumeMounts is the list of additional volume mounts that will be added to the Humio container + |
+ false | +
extraKafkaConfigs | +string | +
+ ExtraKafkaConfigs is a multi-line string containing kafka properties + |
+ false | +
extraVolumes | +[]object | +
+ ExtraVolumes is the list of additional volumes that will be added to the Humio pod + |
+ false | +
helperImage | +string | +
+ HelperImage is the desired helper container image, including image tag + |
+ false | +
hostname | +string | +
+ Hostname is the public hostname used by clients to access Humio + |
+ false | +
hostnameSource | +object | +
+ HostnameSource is the reference to the public hostname used by clients to access Humio + |
+ false | +
humioESServicePort | +integer | +
+ HumioESServicePort is the port number of the Humio Service that is used to direct traffic to the ES interface of
+the Humio pods. + + Format: int32 + |
+ false | +
humioHeadlessServiceAnnotations | +map[string]string | +
+ HumioHeadlessAnnotations is the set of annotations added to the Kubernetes Headless Service that is used for
+traffic between Humio pods + |
+ false | +
humioHeadlessServiceLabels | +map[string]string | +
+ HumioHeadlessServiceLabels is the set of labels added to the Kubernetes Headless Service that is used for
+traffic between Humio pods + |
+ false | +
humioServiceAccountAnnotations | +map[string]string | +
+ HumioServiceAccountAnnotations is the set of annotations added to the Kubernetes Service Account that will be attached to the Humio pods + |
+ false | +
humioServiceAccountName | +string | +
+ HumioServiceAccountName is the name of the Kubernetes Service Account that will be attached to the Humio pods + |
+ false | +
humioServiceAnnotations | +map[string]string | +
+ HumioServiceAnnotations is the set of annotations added to the Kubernetes Service that is used to direct traffic
+to the Humio pods + |
+ false | +
humioServiceLabels | +map[string]string | +
+ HumioServiceLabels is the set of labels added to the Kubernetes Service that is used to direct traffic
+to the Humio pods + |
+ false | +
humioServicePort | +integer | +
+ HumioServicePort is the port number of the Humio Service that is used to direct traffic to the http interface of
+the Humio pods. + + Format: int32 + |
+ false | +
humioServiceType | +string | +
+ HumioServiceType is the ServiceType of the Humio Service that is used to direct traffic to the Humio pods + |
+ false | +
idpCertificateSecretName | +string | +
+ IdpCertificateSecretName is the name of the secret that contains the IDP Certificate when using SAML authentication + |
+ false | +
image | +string | +
+ Image is the desired humio container image, including the image tag + |
+ false | +
imagePullPolicy | +string | +
+ ImagePullPolicy sets the imagePullPolicy for all the containers in the humio pod + |
+ false | +
imagePullSecrets | +[]object | +
+ ImagePullSecrets defines the imagepullsecrets for the humio pods. These secrets are not created by the operator + |
+ false | +
imageSource | +object | +
+ ImageSource is the reference to an external source identifying the image + |
+ false | +
ingress | +object | +
+ Ingress is used to set up ingress-related objects in order to reach Humio externally from the kubernetes cluster + |
+ false | +
initServiceAccountName | +string | +
+ InitServiceAccountName is the name of the Kubernetes Service Account that will be attached to the init container in the humio pod. + |
+ false | +
license | +object | +
+ License is the kubernetes secret reference which contains the Humio license + |
+ false | +
nodeCount | +integer | +
+ NodeCount is the desired number of humio cluster nodes + |
+ false | +
nodePoolFeatures | +object | +
+ HumioNodePoolFeatures defines the features that are allowed by the node pool + |
+ false | +
nodePools | +[]object | +
+ NodePools can be used to define additional groups of Humio cluster pods that share a set of configuration. + |
+ false | +
nodeUUIDPrefix | +string | +
+ NodeUUIDPrefix is the prefix for the Humio Node's UUID. By default this does not include the zone. If it's
+necessary to include zone, there is a special `Zone` variable that can be used. To use this, set `{{.Zone}}`. For
+compatibility with pre-0.0.14 spec defaults, this should be set to `humio_{{.Zone}}`
+Deprecated: LogScale 1.70.0 deprecated this option, and was later removed in LogScale 1.80.0 + |
+ false | +
path | +string | +
+ Path is the root URI path of the Humio cluster + |
+ false | +
podAnnotations | +map[string]string | +
+ PodAnnotations can be used to specify annotations that will be added to the Humio pods + |
+ false | +
podLabels | +map[string]string | +
+ PodLabels can be used to specify labels that will be added to the Humio pods + |
+ false | +
podSecurityContext | +object | +
+ PodSecurityContext is the security context applied to the Humio pod + |
+ false | +
priorityClassName | +string | +
+ PriorityClassName is the name of the priority class that will be used by the Humio pods + |
+ false | +
resources | +object | +
+ Resources is the kubernetes resource limits for the humio pod + |
+ false | +
rolePermissions | +string | +
+ RolePermissions is a multi-line string containing role-permissions.json + |
+ false | +
shareProcessNamespace | +boolean | +
+ ShareProcessNamespace can be useful in combination with SidecarContainers to be able to inspect the main Humio
+process. This should not be enabled, unless you need this for debugging purposes.
+https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ + |
+ false | +
sidecarContainer | +[]object | +
+ SidecarContainers can be used in advanced use-cases where you want one or more sidecar container added to the
+Humio pod to help out in debugging purposes. + |
+ false | +
storagePartitionsCount | +integer | +
+ StoragePartitionsCount is the desired number of storage partitions
+Deprecated: No longer needed as LogScale now automatically redistributes segments + |
+ false | +
targetReplicationFactor | +integer | +
+ TargetReplicationFactor is the desired number of replicas of both storage and ingest partitions + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ TerminationGracePeriodSeconds defines the amount of time to allow cluster pods to gracefully terminate
+before being forcefully restarted. If using bucket storage, this should allow enough time for Humio to finish
+uploading data to bucket storage. + + Format: int64 + |
+ false | +
tls | +object | +
+ TLS is used to define TLS specific configuration such as intra-cluster TLS settings + |
+ false | +
tolerations | +[]object | +
+ Tolerations defines the tolerations that will be attached to the humio pods + |
+ false | +
topologySpreadConstraints | +[]object | +
+ TopologySpreadConstraints defines the topologySpreadConstraints that will be attached to the humio pods + |
+ false | +
updateStrategy | +object | +
+ UpdateStrategy controls how Humio pods are updated when changes are made to the HumioCluster resource that results
+in a change to the Humio pods + |
+ false | +
viewGroupPermissions | +string | +
+ ViewGroupPermissions is a multi-line string containing view-group-permissions.json.
+Deprecated: Use RolePermissions instead. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
nodeAffinity | +object | +
+ Describes node affinity scheduling rules for the pod. + |
+ false | +
podAffinity | +object | +
+ Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + |
+ false | +
podAntiAffinity | +object | +
+ Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node matches the corresponding matchExpressions; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +object | +
+ If the affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to an update), the system
+may or may not try to eventually evict the pod from its node. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preference | +object | +
+ A node selector term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ A list of node selector requirements by node's labels. + |
+ false | +
matchFields | +[]object | +
+ A list of node selector requirements by node's fields. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
nodeSelectorTerms | +[]object | +
+ Required. A list of node selector terms. The terms are ORed. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ A list of node selector requirements by node's labels. + |
+ false | +
matchFields | +[]object | +
+ A list of node selector requirements by node's fields. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ If the affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to a pod label update), the
+system may or may not try to eventually evict the pod from its node.
+When there are multiple elements, the lists of nodes corresponding to each
+podAffinityTerm are intersected, i.e. all terms must be satisfied. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
podAffinityTerm | +object | +
+ Required. A pod affinity term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ weight associated with matching the corresponding podAffinityTerm,
+in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the anti-affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling anti-affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ If the anti-affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the anti-affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to a pod label update), the
+system may or may not try to eventually evict the pod from its node.
+When there are multiple elements, the lists of nodes corresponding to each
+podAffinityTerm are intersected, i.e. all terms must be satisfied. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
podAffinityTerm | +object | +
+ Required. A pod affinity term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ weight associated with matching the corresponding podAffinityTerm,
+in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the environment variable. Must be a C_IDENTIFIER. + |
+ true | +
value | +string | +
+ Variable references $(VAR_NAME) are expanded
+using the previously defined environment variables in the container and
+any service environment variables. If a variable cannot be resolved,
+the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
+"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
+Escaped references will never be expanded, regardless of whether the variable
+exists or not.
+Defaults to "". + |
+ false | +
valueFrom | +object | +
+ Source for the environment variable's value. Cannot be used if value is not empty. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapKeyRef | +object | +
+ Selects a key of a ConfigMap. + |
+ false | +
fieldRef | +object | +
+ Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels[' + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + |
+ false | +
secretKeyRef | +object | +
+ Selects a key of a secret in the pod's namespace + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key to select. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
allowPrivilegeEscalation | +boolean | +
+ AllowPrivilegeEscalation controls whether a process can gain more
+privileges than its parent process. This bool directly controls if
+the no_new_privs flag will be set on the container process.
+AllowPrivilegeEscalation is true always when the container is:
+1) run as Privileged
+2) has CAP_SYS_ADMIN
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
capabilities | +object | +
+ The capabilities to add/drop when running containers.
+Defaults to the default set of capabilities granted by the container runtime.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
privileged | +boolean | +
+ Run container in privileged mode.
+Processes in privileged containers are essentially equivalent to root on the host.
+Defaults to false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
procMount | +string | +
+ procMount denotes the type of proc mount to use for the containers.
+The default is DefaultProcMount which uses the container runtime defaults for
+readonly paths and masked paths.
+This requires the ProcMountType feature flag to be enabled.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
readOnlyRootFilesystem | +boolean | +
+ Whether this container has a read-only root filesystem.
+Default is false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
runAsGroup | +integer | +
+ The GID to run the entrypoint of the container process.
+Uses runtime default if unset.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
runAsNonRoot | +boolean | +
+ Indicates that the container must run as a non-root user.
+If true, the Kubelet will validate the image at runtime to ensure that it
+does not run as UID 0 (root) and fail to start the container if it does.
+If unset or false, no such validation will be performed.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
runAsUser | +integer | +
+ The UID to run the entrypoint of the container process.
+Defaults to user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
seLinuxOptions | +object | +
+ The SELinux context to be applied to the container.
+If unspecified, the container runtime will allocate a random SELinux context for each
+container. May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
seccompProfile | +object | +
+ The seccomp options to use by this container. If seccomp options are
+provided at both the pod & container level, the container options
+override the pod options.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
windowsOptions | +object | +
+ The Windows specific settings applied to all containers.
+If unspecified, the options from the PodSecurityContext will be used.
+If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is linux. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
add | +[]string | +
+ Added capabilities + |
+ false | +
drop | +[]string | +
+ Removed capabilities + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
level | +string | +
+ Level is SELinux level label that applies to the container. + |
+ false | +
role | +string | +
+ Role is a SELinux role label that applies to the container. + |
+ false | +
type | +string | +
+ Type is a SELinux type label that applies to the container. + |
+ false | +
user | +string | +
+ User is a SELinux user label that applies to the container. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
type | +string | +
+ type indicates which kind of seccomp profile will be applied.
+Valid options are:
+
+
+Localhost - a profile defined in a file on the node should be used.
+RuntimeDefault - the container runtime default profile should be used.
+Unconfined - no profile should be applied. + |
+ true | +
localhostProfile | +string | +
+ localhostProfile indicates a profile defined in a file on the node should be used.
+The profile must be preconfigured on the node to work.
+Must be a descending path, relative to the kubelet's configured seccomp profile location.
+Must be set if type is "Localhost". Must NOT be set for any other type. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gmsaCredentialSpec | +string | +
+ GMSACredentialSpec is where the GMSA admission webhook
+(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
+GMSA credential spec named by the GMSACredentialSpecName field. + |
+ false | +
gmsaCredentialSpecName | +string | +
+ GMSACredentialSpecName is the name of the GMSA credential spec to use. + |
+ false | +
hostProcess | +boolean | +
+ HostProcess determines if a container should be run as a 'Host Process' container.
+All of a Pod's containers must have the same effective HostProcess value
+(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
+In addition, if HostProcess is true then HostNetwork must also be set to true. + |
+ false | +
runAsUserName | +string | +
+ The UserName in Windows to run the entrypoint of the container process.
+Defaults to the user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
reclaimType | +enum | +
+ HumioPersistentVolumeReclaimType is the type of reclaim which will occur on a persistent volume + + Enum: None, OnNodeDelete + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
accessModes | +[]string | +
+ accessModes contains the desired access modes the volume should have.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + |
+ false | +
dataSource | +object | +
+ dataSource field can be used to specify either:
+* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
+* An existing PVC (PersistentVolumeClaim)
+If the provisioner or an external controller can support the specified data source,
+it will create a new volume based on the contents of the specified data source.
+When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
+and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+If the namespace is specified, then dataSourceRef will not be copied to dataSource. + |
+ false | +
dataSourceRef | +object | +
+ dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
+volume is desired. This may be any object from a non-empty API group (non
+core object) or a PersistentVolumeClaim object.
+When this field is specified, volume binding will only succeed if the type of
+the specified object matches some installed volume populator or dynamic
+provisioner.
+This field will replace the functionality of the dataSource field and as such
+if both fields are non-empty, they must have the same value. For backwards
+compatibility, when namespace isn't specified in dataSourceRef,
+both fields (dataSource and dataSourceRef) will be set to the same
+value automatically if one of them is empty and the other is non-empty.
+When namespace is specified in dataSourceRef,
+dataSource isn't set to the same value and must be empty.
+There are three important differences between dataSource and dataSourceRef:
+* While dataSource only allows two specific types of objects, dataSourceRef
+ allows any non-core object, as well as PersistentVolumeClaim objects.
+* While dataSource ignores disallowed values (dropping them), dataSourceRef
+ preserves all values, and generates an error if a disallowed value is
+ specified.
+* While dataSource only allows local objects, dataSourceRef allows objects
+ in any namespaces.
+(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
+(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
resources | +object | +
+ resources represents the minimum resources the volume should have.
+If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
+that are lower than previous value but must still be higher than capacity recorded in the
+status field of the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + |
+ false | +
selector | +object | +
+ selector is a label query over volumes to consider for binding. + |
+ false | +
storageClassName | +string | +
+ storageClassName is the name of the StorageClass required by the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + |
+ false | +
volumeAttributesClassName | +string | +
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
+If specified, the CSI driver will create or update the volume with the attributes defined
+in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
+it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
+will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
+If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+will be set by the persistentvolume controller if it exists.
+If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
+exists.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
+(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + |
+ false | +
volumeMode | +string | +
+ volumeMode defines what type of volume is required by the claim.
+Value of Filesystem is implied when not included in claim spec. + |
+ false | +
volumeName | +string | +
+ volumeName is the binding reference to the PersistentVolume backing this claim. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
namespace | +string | +
+ Namespace is the namespace of resource being referenced
+Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
+(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
awsElasticBlockStore | +object | +
+ awsElasticBlockStore represents an AWS Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
azureDisk | +object | +
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + |
+ false | +
azureFile | +object | +
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod. + |
+ false | +
cephfs | +object | +
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + |
+ false | +
cinder | +object | +
+ cinder represents a cinder volume attached and mounted on kubelets host machine.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
configMap | +object | +
+ configMap represents a configMap that should populate this volume + |
+ false | +
csi | +object | +
+ csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + |
+ false | +
downwardAPI | +object | +
+ downwardAPI represents downward API about the pod that should populate this volume + |
+ false | +
emptyDir | +object | +
+ emptyDir represents a temporary directory that shares a pod's lifetime.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
ephemeral | +object | +
+ ephemeral represents a volume that is handled by a cluster storage driver.
+The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
+and deleted when the pod is removed.
+
+
+Use this if:
+a) the volume is only needed while the pod runs,
+b) features of normal volumes like restoring from snapshot or capacity
+ tracking are needed,
+c) the storage driver is specified through a storage class, and
+d) the storage driver supports dynamic volume provisioning through
+ a PersistentVolumeClaim (see EphemeralVolumeSource for more
+ information on the connection between this volume type
+ and PersistentVolumeClaim).
+
+
+Use PersistentVolumeClaim or one of the vendor-specific
+APIs for volumes that persist for longer than the lifecycle
+of an individual pod.
+
+
+Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
+be used that way - see the documentation of the driver for
+more information.
+
+
+A pod can use both types of ephemeral volumes and
+persistent volumes at the same time. + |
+ false | +
fc | +object | +
+ fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + |
+ false | +
flexVolume | +object | +
+ flexVolume represents a generic volume resource that is
+provisioned/attached using an exec based plugin. + |
+ false | +
flocker | +object | +
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + |
+ false | +
gcePersistentDisk | +object | +
+ gcePersistentDisk represents a GCE Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
gitRepo | +object | +
+ gitRepo represents a git repository at a particular revision.
+DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
+into the Pod's container. + |
+ false | +
glusterfs | +object | +
+ glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md + |
+ false | +
hostPath | +object | +
+ hostPath represents a pre-existing file or directory on the host
+machine that is directly exposed to the container. This is generally
+used for system agents or other privileged things that are allowed
+to see the host machine. Most containers will NOT need this.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+---
+TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+mount host directories as read/write. + |
+ false | +
iscsi | +object | +
+ iscsi represents an ISCSI Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://examples.k8s.io/volumes/iscsi/README.md + |
+ false | +
nfs | +object | +
+ nfs represents an NFS mount on the host that shares a pod's lifetime
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
persistentVolumeClaim | +object | +
+ persistentVolumeClaimVolumeSource represents a reference to a
+PersistentVolumeClaim in the same namespace.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ false | +
photonPersistentDisk | +object | +
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + |
+ false | +
portworxVolume | +object | +
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine + |
+ false | +
projected | +object | +
+ projected items for all in one resources secrets, configmaps, and downward API + |
+ false | +
quobyte | +object | +
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime + |
+ false | +
rbd | +object | +
+ rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/rbd/README.md + |
+ false | +
scaleIO | +object | +
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + |
+ false | +
secret | +object | +
+ secret represents a secret that should populate this volume.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
storageos | +object | +
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + |
+ false | +
vsphereVolume | +object | +
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly value true will force the readOnly setting in VolumeMounts.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
diskName | +string | +
+ diskName is the Name of the data disk in the blob storage + |
+ true | +
diskURI | +string | +
+ diskURI is the URI of data disk in the blob storage + |
+ true | +
cachingMode | +string | +
+ cachingMode is the Host Caching mode: None, Read Only, Read Write. + |
+ false | +
fsType | +string | +
+ fsType is Filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
kind | +string | +
+ kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretName | +string | +
+ secretName is the name of secret that contains Azure Storage Account Name and Key + |
+ true | +
shareName | +string | +
+ shareName is the azure share Name + |
+ true | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
monitors | +[]string | +
+ monitors is Required: Monitors is a collection of Ceph monitors
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ true | +
path | +string | +
+ path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretFile | +string | +
+ secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is optional: User is the rados user name, default is admin
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID used to identify the volume in cinder.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
secretRef | +object | +
+ secretRef is optional: points to a secret object containing parameters used to connect
+to OpenStack. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the CSI driver that handles this volume.
+Consult with your admin for the correct name as registered in the cluster. + |
+ true | +
fsType | +string | +
+ fsType to mount. Ex. "ext4", "xfs", "ntfs".
+If not provided, the empty value is passed to the associated CSI driver
+which will determine the default filesystem to apply. + |
+ false | +
nodePublishSecretRef | +object | +
+ nodePublishSecretRef is a reference to the secret object containing
+sensitive information to pass to the CSI driver to complete the CSI
+NodePublishVolume and NodeUnpublishVolume calls.
+This field is optional, and may be empty if no secret is required. If the
+secret object contains more than one secret, all secret references are passed. + |
+ false | +
readOnly | +boolean | +
+ readOnly specifies a read-only configuration for the volume.
+Defaults to false (read/write). + |
+ false | +
volumeAttributes | +map[string]string | +
+ volumeAttributes stores driver-specific properties that are passed to the CSI
+driver. Consult your driver's documentation for supported values. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ Optional: mode bits to use on created files by default. Must be a
+Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ Items is a list of downward API volume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
medium | +string | +
+ medium represents what type of storage medium should back this directory.
+The default is "" which means to use the node's default medium.
+Must be an empty string (default) or Memory.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
sizeLimit | +int or string | +
+ sizeLimit is the total amount of local storage required for this EmptyDir volume.
+The size limit is also applicable for memory medium.
+The maximum usage on memory medium EmptyDir would be the minimum value between
+the SizeLimit specified here and the sum of memory limits of all containers in a pod.
+The default is nil which means that the limit is undefined.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeClaimTemplate | +object | +
+ Will be used to create a stand-alone PVC to provision the volume.
+The pod in which this EphemeralVolumeSource is embedded will be the
+owner of the PVC, i.e. the PVC will be deleted together with the
+pod. The name of the PVC will be ` + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
spec | +object | +
+ The specification for the PersistentVolumeClaim. The entire content is
+copied unchanged into the PVC that gets created from this
+template. The same fields as in a PersistentVolumeClaim
+are also valid here. + |
+ true | +
metadata | +object | +
+ May contain labels and annotations that will be copied into the PVC
+when creating it. No other fields are allowed and will be rejected during
+validation. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
accessModes | +[]string | +
+ accessModes contains the desired access modes the volume should have.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + |
+ false | +
dataSource | +object | +
+ dataSource field can be used to specify either:
+* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
+* An existing PVC (PersistentVolumeClaim)
+If the provisioner or an external controller can support the specified data source,
+it will create a new volume based on the contents of the specified data source.
+When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
+and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+If the namespace is specified, then dataSourceRef will not be copied to dataSource. + |
+ false | +
dataSourceRef | +object | +
+ dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
+volume is desired. This may be any object from a non-empty API group (non
+core object) or a PersistentVolumeClaim object.
+When this field is specified, volume binding will only succeed if the type of
+the specified object matches some installed volume populator or dynamic
+provisioner.
+This field will replace the functionality of the dataSource field and as such
+if both fields are non-empty, they must have the same value. For backwards
+compatibility, when namespace isn't specified in dataSourceRef,
+both fields (dataSource and dataSourceRef) will be set to the same
+value automatically if one of them is empty and the other is non-empty.
+When namespace is specified in dataSourceRef,
+dataSource isn't set to the same value and must be empty.
+There are three important differences between dataSource and dataSourceRef:
+* While dataSource only allows two specific types of objects, dataSourceRef
+ allows any non-core object, as well as PersistentVolumeClaim objects.
+* While dataSource ignores disallowed values (dropping them), dataSourceRef
+ preserves all values, and generates an error if a disallowed value is
+ specified.
+* While dataSource only allows local objects, dataSourceRef allows objects
+ in any namespaces.
+(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
+(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
resources | +object | +
+ resources represents the minimum resources the volume should have.
+If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
+that are lower than previous value but must still be higher than capacity recorded in the
+status field of the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + |
+ false | +
selector | +object | +
+ selector is a label query over volumes to consider for binding. + |
+ false | +
storageClassName | +string | +
+ storageClassName is the name of the StorageClass required by the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + |
+ false | +
volumeAttributesClassName | +string | +
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
+If specified, the CSI driver will create or update the volume with the attributes defined
+in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
+it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
+will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
+If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+will be set by the persistentvolume controller if it exists.
+If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
+exists.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
+(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + |
+ false | +
volumeMode | +string | +
+ volumeMode defines what type of volume is required by the claim.
+Value of Filesystem is implied when not included in claim spec. + |
+ false | +
volumeName | +string | +
+ volumeName is the binding reference to the PersistentVolume backing this claim. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
namespace | +string | +
+ Namespace is the namespace of resource being referenced
+Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
+(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
lun | +integer | +
+ lun is Optional: FC target lun number + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
targetWWNs | +[]string | +
+ targetWWNs is Optional: FC target worldwide names (WWNs) + |
+ false | +
wwids | +[]string | +
+ wwids Optional: FC volume world wide identifiers (wwids)
+Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the driver to use for this volume. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + |
+ false | +
options | +map[string]string | +
+ options is Optional: this field holds extra command options if any. + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: secretRef is reference to the secret object containing
+sensitive information to pass to the plugin scripts. This may be
+empty if no secret object is specified. If the secret object
+contains more than one secret, all secrets are passed to the plugin
+scripts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
datasetName | +string | +
+ datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
+should be considered as deprecated + |
+ false | +
datasetUUID | +string | +
+ datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdName | +string | +
+ pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
repository | +string | +
+ repository is the URL + |
+ true | +
directory | +string | +
+ directory is the target directory name.
+Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
+git repository. Otherwise, if specified, the volume will contain the git repository in
+the subdirectory with the given name. + |
+ false | +
revision | +string | +
+ revision is the commit hash for the specified revision. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
endpoints | +string | +
+ endpoints is the endpoint name that details Glusterfs topology.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
path | +string | +
+ path is the Glusterfs volume path.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path of the directory on the host.
+If the path is a symlink, it will follow the link to the real path.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ true | +
type | +string | +
+ type for HostPath Volume
+Defaults to ""
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
iqn | +string | +
+ iqn is the target iSCSI Qualified Name. + |
+ true | +
lun | +integer | +
+ lun represents iSCSI Target Lun number. + + Format: int32 + |
+ true | +
targetPortal | +string | +
+ targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ true | +
chapAuthDiscovery | +boolean | +
+ chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + |
+ false | +
chapAuthSession | +boolean | +
+ chapAuthSession defines whether support iSCSI Session CHAP authentication + |
+ false | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
initiatorName | +string | +
+ initiatorName is the custom iSCSI Initiator Name.
+If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
+ + |
+ false | +
iscsiInterface | +string | +
+ iscsiInterface is the interface Name that uses an iSCSI transport.
+Defaults to 'default' (tcp). + |
+ false | +
portals | +[]string | +
+ portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false. + |
+ false | +
secretRef | +object | +
+ secretRef is the CHAP Secret for iSCSI target and initiator authentication + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path that is exported by the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
server | +string | +
+ server is the hostname or IP address of the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the NFS export to be mounted with read-only permissions.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claimName | +string | +
+ claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ true | +
readOnly | +boolean | +
+ readOnly Will force the ReadOnly setting in VolumeMounts.
+Default false. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdID | +string | +
+ pdID is the ID that identifies Photon Controller persistent disk + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID uniquely identifies a Portworx volume + |
+ true | +
fsType | +string | +
+ fSType represents the filesystem type to mount
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode are the mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
sources | +[]object | +
+ sources is the list of volume projections + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
clusterTrustBundle | +object | +
+ ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
+of ClusterTrustBundle objects in an auto-updating file.
+
+
+Alpha, gated by the ClusterTrustBundleProjection feature gate.
+
+
+ClusterTrustBundle objects can either be selected by name, or by the
+combination of signer name and a label selector.
+
+
+Kubelet performs aggressive normalization of the PEM contents written
+into the pod filesystem. Esoteric PEM features such as inter-block
+comments and block headers are stripped. Certificates are deduplicated.
+The ordering of certificates within the file is arbitrary, and Kubelet
+may change the order over time. + |
+ false | +
configMap | +object | +
+ configMap information about the configMap data to project + |
+ false | +
downwardAPI | +object | +
+ downwardAPI information about the downwardAPI data to project + |
+ false | +
secret | +object | +
+ secret information about the secret data to project + |
+ false | +
serviceAccountToken | +object | +
+ serviceAccountToken is information about the serviceAccountToken data to project + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Relative path from the volume root to write the bundle. + |
+ true | +
labelSelector | +object | +
+ Select all ClusterTrustBundles that match this label selector. Only has
+effect if signerName is set. Mutually-exclusive with name. If unset,
+interpreted as "match nothing". If set but empty, interpreted as "match
+everything". + |
+ false | +
name | +string | +
+ Select a single ClusterTrustBundle by object name. Mutually-exclusive
+with signerName and labelSelector. + |
+ false | +
optional | +boolean | +
+ If true, don't block pod startup if the referenced ClusterTrustBundle(s)
+aren't available. If using name, then the named ClusterTrustBundle is
+allowed not to exist. If using signerName, then the combination of
+signerName and labelSelector is allowed to match zero
+ClusterTrustBundles. + |
+ false | +
signerName | +string | +
+ Select all ClusterTrustBundles that match this signer name.
+Mutually-exclusive with name. The contents of all selected
+ClusterTrustBundles will be unified and deduplicated. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ Items is a list of DownwardAPIVolume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path is the path relative to the mount point of the file to project the
+token into. + |
+ true | +
audience | +string | +
+ audience is the intended audience of the token. A recipient of a token
+must identify itself with an identifier specified in the audience of the
+token, and otherwise should reject the token. The audience defaults to the
+identifier of the apiserver. + |
+ false | +
expirationSeconds | +integer | +
+ expirationSeconds is the requested duration of validity of the service
+account token. As the token approaches expiration, the kubelet volume
+plugin will proactively rotate the service account token. The kubelet will
+start trying to rotate the token if the token is older than 80 percent of
+its time to live or if the token is older than 24 hours.Defaults to 1 hour
+and must be at least 10 minutes. + + Format: int64 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
registry | +string | +
+ registry represents a single or multiple Quobyte Registry services
+specified as a string as host:port pair (multiple entries are separated with commas)
+which acts as the central registry for volumes + |
+ true | +
volume | +string | +
+ volume is a string that references an already created Quobyte volume by name. + |
+ true | +
group | +string | +
+ group to map volume access to
+Default is no group + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the Quobyte volume to be mounted with read-only permissions.
+Defaults to false. + |
+ false | +
tenant | +string | +
+ tenant owning the given Quobyte volume in the Backend
+Used with dynamically provisioned Quobyte volumes, value is set by the plugin + |
+ false | +
user | +string | +
+ user to map volume access to
+Defaults to serivceaccount user + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
image | +string | +
+ image is the rados image name.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
monitors | +[]string | +
+ monitors is a collection of Ceph monitors.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
keyring | +string | +
+ keyring is the path to key ring for RBDUser.
+Default is /etc/ceph/keyring.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
pool | +string | +
+ pool is the rados pool name.
+Default is rbd.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is name of the authentication secret for RBDUser. If provided
+overrides keyring.
+Default is nil.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is the rados user name.
+Default is admin.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gateway | +string | +
+ gateway is the host address of the ScaleIO API Gateway. + |
+ true | +
secretRef | +object | +
+ secretRef references to the secret for ScaleIO user and other
+sensitive information. If this is not provided, Login operation will fail. + |
+ true | +
system | +string | +
+ system is the name of the storage system as configured in ScaleIO. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs".
+Default is "xfs". + |
+ false | +
protectionDomain | +string | +
+ protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
sslEnabled | +boolean | +
+ sslEnabled Flag enable/disable SSL communication with Gateway, default false + |
+ false | +
storageMode | +string | +
+ storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
+Default is ThinProvisioned. + |
+ false | +
storagePool | +string | +
+ storagePool is the ScaleIO Storage Pool associated with the protection domain. + |
+ false | +
volumeName | +string | +
+ volumeName is the name of a volume already created in the ScaleIO system
+that is associated with this volume source. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values
+for mode bits. Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items If unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its keys must be defined + |
+ false | +
secretName | +string | +
+ secretName is the name of the secret in the pod's namespace to use.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef specifies the secret to use for obtaining the StorageOS API
+credentials. If not specified, default values will be attempted. + |
+ false | +
volumeName | +string | +
+ volumeName is the human-readable name of the StorageOS volume. Volume
+names are only unique within a namespace. + |
+ false | +
volumeNamespace | +string | +
+ volumeNamespace specifies the scope of the volume within StorageOS. If no
+namespace is specified then the Pod's namespace will be used. This allows the
+Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
+Set VolumeName to any name to override the default behaviour.
+Set to "default" if you are not using namespaces within StorageOS.
+Namespaces that do not pre-exist within StorageOS will be created. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumePath | +string | +
+ volumePath is the path that identifies vSphere volume vmdk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
storagePolicyID | +string | +
+ storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + |
+ false | +
storagePolicyName | +string | +
+ storagePolicyName is the storage Policy Based Management (SPBM) profile name. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the environment variable. Must be a C_IDENTIFIER. + |
+ true | +
value | +string | +
+ Variable references $(VAR_NAME) are expanded
+using the previously defined environment variables in the container and
+any service environment variables. If a variable cannot be resolved,
+the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
+"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
+Escaped references will never be expanded, regardless of whether the variable
+exists or not.
+Defaults to "". + |
+ false | +
valueFrom | +object | +
+ Source for the environment variable's value. Cannot be used if value is not empty. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapKeyRef | +object | +
+ Selects a key of a ConfigMap. + |
+ false | +
fieldRef | +object | +
+ Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels[' + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + |
+ false | +
secretKeyRef | +object | +
+ Selects a key of a secret in the pod's namespace + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key to select. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapRef | +object | +
+ The ConfigMap to select from + |
+ false | +
prefix | +string | +
+ An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + |
+ false | +
secretRef | +object | +
+ The Secret to select from + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef contains the secret key reference when an es hostname is pulled from a secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
mountPath | +string | +
+ Path within the container at which the volume should be mounted. Must
+not contain ':'. + |
+ true | +
name | +string | +
+ This must match the Name of a Volume. + |
+ true | +
mountPropagation | +string | +
+ mountPropagation determines how mounts are propagated from the host
+to container and the other way around.
+When not set, MountPropagationNone is used.
+This field is beta in 1.10. + |
+ false | +
readOnly | +boolean | +
+ Mounted read-only if true, read-write otherwise (false or unspecified).
+Defaults to false. + |
+ false | +
subPath | +string | +
+ Path within the volume from which the container's volume should be mounted.
+Defaults to "" (volume's root). + |
+ false | +
subPathExpr | +string | +
+ Expanded path within the volume from which the container's volume should be mounted.
+Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
+Defaults to "" (volume's root).
+SubPathExpr and SubPath are mutually exclusive. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ name of the volume.
+Must be a DNS_LABEL and unique within the pod.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + |
+ true | +
awsElasticBlockStore | +object | +
+ awsElasticBlockStore represents an AWS Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
azureDisk | +object | +
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + |
+ false | +
azureFile | +object | +
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod. + |
+ false | +
cephfs | +object | +
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + |
+ false | +
cinder | +object | +
+ cinder represents a cinder volume attached and mounted on kubelets host machine.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
configMap | +object | +
+ configMap represents a configMap that should populate this volume + |
+ false | +
csi | +object | +
+ csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + |
+ false | +
downwardAPI | +object | +
+ downwardAPI represents downward API about the pod that should populate this volume + |
+ false | +
emptyDir | +object | +
+ emptyDir represents a temporary directory that shares a pod's lifetime.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
ephemeral | +object | +
+ ephemeral represents a volume that is handled by a cluster storage driver.
+The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
+and deleted when the pod is removed.
+
+
+Use this if:
+a) the volume is only needed while the pod runs,
+b) features of normal volumes like restoring from snapshot or capacity
+ tracking are needed,
+c) the storage driver is specified through a storage class, and
+d) the storage driver supports dynamic volume provisioning through
+ a PersistentVolumeClaim (see EphemeralVolumeSource for more
+ information on the connection between this volume type
+ and PersistentVolumeClaim).
+
+
+Use PersistentVolumeClaim or one of the vendor-specific
+APIs for volumes that persist for longer than the lifecycle
+of an individual pod.
+
+
+Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
+be used that way - see the documentation of the driver for
+more information.
+
+
+A pod can use both types of ephemeral volumes and
+persistent volumes at the same time. + |
+ false | +
fc | +object | +
+ fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + |
+ false | +
flexVolume | +object | +
+ flexVolume represents a generic volume resource that is
+provisioned/attached using an exec based plugin. + |
+ false | +
flocker | +object | +
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + |
+ false | +
gcePersistentDisk | +object | +
+ gcePersistentDisk represents a GCE Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
gitRepo | +object | +
+ gitRepo represents a git repository at a particular revision.
+DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
+into the Pod's container. + |
+ false | +
glusterfs | +object | +
+ glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md + |
+ false | +
hostPath | +object | +
+ hostPath represents a pre-existing file or directory on the host
+machine that is directly exposed to the container. This is generally
+used for system agents or other privileged things that are allowed
+to see the host machine. Most containers will NOT need this.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+---
+TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+mount host directories as read/write. + |
+ false | +
iscsi | +object | +
+ iscsi represents an ISCSI Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://examples.k8s.io/volumes/iscsi/README.md + |
+ false | +
nfs | +object | +
+ nfs represents an NFS mount on the host that shares a pod's lifetime
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
persistentVolumeClaim | +object | +
+ persistentVolumeClaimVolumeSource represents a reference to a
+PersistentVolumeClaim in the same namespace.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ false | +
photonPersistentDisk | +object | +
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + |
+ false | +
portworxVolume | +object | +
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine + |
+ false | +
projected | +object | +
+ projected items for all in one resources secrets, configmaps, and downward API + |
+ false | +
quobyte | +object | +
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime + |
+ false | +
rbd | +object | +
+ rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/rbd/README.md + |
+ false | +
scaleIO | +object | +
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + |
+ false | +
secret | +object | +
+ secret represents a secret that should populate this volume.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
storageos | +object | +
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + |
+ false | +
vsphereVolume | +object | +
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly value true will force the readOnly setting in VolumeMounts.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
diskName | +string | +
+ diskName is the Name of the data disk in the blob storage + |
+ true | +
diskURI | +string | +
+ diskURI is the URI of data disk in the blob storage + |
+ true | +
cachingMode | +string | +
+ cachingMode is the Host Caching mode: None, Read Only, Read Write. + |
+ false | +
fsType | +string | +
+ fsType is Filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
kind | +string | +
+ kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretName | +string | +
+ secretName is the name of secret that contains Azure Storage Account Name and Key + |
+ true | +
shareName | +string | +
+ shareName is the azure share Name + |
+ true | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
monitors | +[]string | +
+ monitors is Required: Monitors is a collection of Ceph monitors
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ true | +
path | +string | +
+ path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretFile | +string | +
+ secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is optional: User is the rados user name, default is admin
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID used to identify the volume in cinder.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
secretRef | +object | +
+ secretRef is optional: points to a secret object containing parameters used to connect
+to OpenStack. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the CSI driver that handles this volume.
+Consult with your admin for the correct name as registered in the cluster. + |
+ true | +
fsType | +string | +
+ fsType to mount. Ex. "ext4", "xfs", "ntfs".
+If not provided, the empty value is passed to the associated CSI driver
+which will determine the default filesystem to apply. + |
+ false | +
nodePublishSecretRef | +object | +
+ nodePublishSecretRef is a reference to the secret object containing
+sensitive information to pass to the CSI driver to complete the CSI
+NodePublishVolume and NodeUnpublishVolume calls.
+This field is optional, and may be empty if no secret is required. If the
+secret object contains more than one secret, all secret references are passed. + |
+ false | +
readOnly | +boolean | +
+ readOnly specifies a read-only configuration for the volume.
+Defaults to false (read/write). + |
+ false | +
volumeAttributes | +map[string]string | +
+ volumeAttributes stores driver-specific properties that are passed to the CSI
+driver. Consult your driver's documentation for supported values. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ Optional: mode bits to use on created files by default. Must be a
+Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ Items is a list of downward API volume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
medium | +string | +
+ medium represents what type of storage medium should back this directory.
+The default is "" which means to use the node's default medium.
+Must be an empty string (default) or Memory.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
sizeLimit | +int or string | +
+ sizeLimit is the total amount of local storage required for this EmptyDir volume.
+The size limit is also applicable for memory medium.
+The maximum usage on memory medium EmptyDir would be the minimum value between
+the SizeLimit specified here and the sum of memory limits of all containers in a pod.
+The default is nil which means that the limit is undefined.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeClaimTemplate | +object | +
+ Will be used to create a stand-alone PVC to provision the volume.
+The pod in which this EphemeralVolumeSource is embedded will be the
+owner of the PVC, i.e. the PVC will be deleted together with the
+pod. The name of the PVC will be ` + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
spec | +object | +
+ The specification for the PersistentVolumeClaim. The entire content is
+copied unchanged into the PVC that gets created from this
+template. The same fields as in a PersistentVolumeClaim
+are also valid here. + |
+ true | +
metadata | +object | +
+ May contain labels and annotations that will be copied into the PVC
+when creating it. No other fields are allowed and will be rejected during
+validation. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
accessModes | +[]string | +
+ accessModes contains the desired access modes the volume should have.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + |
+ false | +
dataSource | +object | +
+ dataSource field can be used to specify either:
+* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
+* An existing PVC (PersistentVolumeClaim)
+If the provisioner or an external controller can support the specified data source,
+it will create a new volume based on the contents of the specified data source.
+When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
+and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+If the namespace is specified, then dataSourceRef will not be copied to dataSource. + |
+ false | +
dataSourceRef | +object | +
+ dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
+volume is desired. This may be any object from a non-empty API group (non
+core object) or a PersistentVolumeClaim object.
+When this field is specified, volume binding will only succeed if the type of
+the specified object matches some installed volume populator or dynamic
+provisioner.
+This field will replace the functionality of the dataSource field and as such
+if both fields are non-empty, they must have the same value. For backwards
+compatibility, when namespace isn't specified in dataSourceRef,
+both fields (dataSource and dataSourceRef) will be set to the same
+value automatically if one of them is empty and the other is non-empty.
+When namespace is specified in dataSourceRef,
+dataSource isn't set to the same value and must be empty.
+There are three important differences between dataSource and dataSourceRef:
+* While dataSource only allows two specific types of objects, dataSourceRef
+ allows any non-core object, as well as PersistentVolumeClaim objects.
+* While dataSource ignores disallowed values (dropping them), dataSourceRef
+ preserves all values, and generates an error if a disallowed value is
+ specified.
+* While dataSource only allows local objects, dataSourceRef allows objects
+ in any namespaces.
+(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
+(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
resources | +object | +
+ resources represents the minimum resources the volume should have.
+If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
+that are lower than previous value but must still be higher than capacity recorded in the
+status field of the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + |
+ false | +
selector | +object | +
+ selector is a label query over volumes to consider for binding. + |
+ false | +
storageClassName | +string | +
+ storageClassName is the name of the StorageClass required by the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + |
+ false | +
volumeAttributesClassName | +string | +
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
+If specified, the CSI driver will create or update the volume with the attributes defined
+in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
+it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
+will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
+If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+will be set by the persistentvolume controller if it exists.
+If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
+exists.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
+(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + |
+ false | +
volumeMode | +string | +
+ volumeMode defines what type of volume is required by the claim.
+Value of Filesystem is implied when not included in claim spec. + |
+ false | +
volumeName | +string | +
+ volumeName is the binding reference to the PersistentVolume backing this claim. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
namespace | +string | +
+ Namespace is the namespace of resource being referenced
+Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
+(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
lun | +integer | +
+ lun is Optional: FC target lun number + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
targetWWNs | +[]string | +
+ targetWWNs is Optional: FC target worldwide names (WWNs) + |
+ false | +
wwids | +[]string | +
+ wwids Optional: FC volume world wide identifiers (wwids)
+Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the driver to use for this volume. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + |
+ false | +
options | +map[string]string | +
+ options is Optional: this field holds extra command options if any. + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: secretRef is reference to the secret object containing
+sensitive information to pass to the plugin scripts. This may be
+empty if no secret object is specified. If the secret object
+contains more than one secret, all secrets are passed to the plugin
+scripts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
datasetName | +string | +
+ datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
+should be considered as deprecated + |
+ false | +
datasetUUID | +string | +
+ datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdName | +string | +
+ pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
repository | +string | +
+ repository is the URL + |
+ true | +
directory | +string | +
+ directory is the target directory name.
+Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
+git repository. Otherwise, if specified, the volume will contain the git repository in
+the subdirectory with the given name. + |
+ false | +
revision | +string | +
+ revision is the commit hash for the specified revision. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
endpoints | +string | +
+ endpoints is the endpoint name that details Glusterfs topology.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
path | +string | +
+ path is the Glusterfs volume path.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path of the directory on the host.
+If the path is a symlink, it will follow the link to the real path.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ true | +
type | +string | +
+ type for HostPath Volume
+Defaults to ""
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
iqn | +string | +
+ iqn is the target iSCSI Qualified Name. + |
+ true | +
lun | +integer | +
+ lun represents iSCSI Target Lun number. + + Format: int32 + |
+ true | +
targetPortal | +string | +
+ targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ true | +
chapAuthDiscovery | +boolean | +
+ chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + |
+ false | +
chapAuthSession | +boolean | +
+ chapAuthSession defines whether support iSCSI Session CHAP authentication + |
+ false | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
initiatorName | +string | +
+ initiatorName is the custom iSCSI Initiator Name.
+If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
+ + |
+ false | +
iscsiInterface | +string | +
+ iscsiInterface is the interface Name that uses an iSCSI transport.
+Defaults to 'default' (tcp). + |
+ false | +
portals | +[]string | +
+ portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false. + |
+ false | +
secretRef | +object | +
+ secretRef is the CHAP Secret for iSCSI target and initiator authentication + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path that is exported by the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
server | +string | +
+ server is the hostname or IP address of the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the NFS export to be mounted with read-only permissions.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claimName | +string | +
+ claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ true | +
readOnly | +boolean | +
+ readOnly Will force the ReadOnly setting in VolumeMounts.
+Default false. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdID | +string | +
+ pdID is the ID that identifies Photon Controller persistent disk + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID uniquely identifies a Portworx volume + |
+ true | +
fsType | +string | +
+ fSType represents the filesystem type to mount
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode are the mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
sources | +[]object | +
+ sources is the list of volume projections + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
clusterTrustBundle | +object | +
+ ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
+of ClusterTrustBundle objects in an auto-updating file.
+
+
+Alpha, gated by the ClusterTrustBundleProjection feature gate.
+
+
+ClusterTrustBundle objects can either be selected by name, or by the
+combination of signer name and a label selector.
+
+
+Kubelet performs aggressive normalization of the PEM contents written
+into the pod filesystem. Esoteric PEM features such as inter-block
+comments and block headers are stripped. Certificates are deduplicated.
+The ordering of certificates within the file is arbitrary, and Kubelet
+may change the order over time. + |
+ false | +
configMap | +object | +
+ configMap information about the configMap data to project + |
+ false | +
downwardAPI | +object | +
+ downwardAPI information about the downwardAPI data to project + |
+ false | +
secret | +object | +
+ secret information about the secret data to project + |
+ false | +
serviceAccountToken | +object | +
+ serviceAccountToken is information about the serviceAccountToken data to project + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Relative path from the volume root to write the bundle. + |
+ true | +
labelSelector | +object | +
+ Select all ClusterTrustBundles that match this label selector. Only has
+effect if signerName is set. Mutually-exclusive with name. If unset,
+interpreted as "match nothing". If set but empty, interpreted as "match
+everything". + |
+ false | +
name | +string | +
+ Select a single ClusterTrustBundle by object name. Mutually-exclusive
+with signerName and labelSelector. + |
+ false | +
optional | +boolean | +
+ If true, don't block pod startup if the referenced ClusterTrustBundle(s)
+aren't available. If using name, then the named ClusterTrustBundle is
+allowed not to exist. If using signerName, then the combination of
+signerName and labelSelector is allowed to match zero
+ClusterTrustBundles. + |
+ false | +
signerName | +string | +
+ Select all ClusterTrustBundles that match this signer name.
+Mutually-exclusive with name. The contents of all selected
+ClusterTrustBundles will be unified and deduplicated. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ Items is a list of DownwardAPIVolume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path is the path relative to the mount point of the file to project the
+token into. + |
+ true | +
audience | +string | +
+ audience is the intended audience of the token. A recipient of a token
+must identify itself with an identifier specified in the audience of the
+token, and otherwise should reject the token. The audience defaults to the
+identifier of the apiserver. + |
+ false | +
expirationSeconds | +integer | +
+ expirationSeconds is the requested duration of validity of the service
+account token. As the token approaches expiration, the kubelet volume
+plugin will proactively rotate the service account token. The kubelet will
+start trying to rotate the token if the token is older than 80 percent of
+its time to live or if the token is older than 24 hours.Defaults to 1 hour
+and must be at least 10 minutes. + + Format: int64 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
registry | +string | +
+ registry represents a single or multiple Quobyte Registry services
+specified as a string as host:port pair (multiple entries are separated with commas)
+which acts as the central registry for volumes + |
+ true | +
volume | +string | +
+ volume is a string that references an already created Quobyte volume by name. + |
+ true | +
group | +string | +
+ group to map volume access to
+Default is no group + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the Quobyte volume to be mounted with read-only permissions.
+Defaults to false. + |
+ false | +
tenant | +string | +
+ tenant owning the given Quobyte volume in the Backend
+Used with dynamically provisioned Quobyte volumes, value is set by the plugin + |
+ false | +
user | +string | +
+ user to map volume access to
+Defaults to serivceaccount user + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
image | +string | +
+ image is the rados image name.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
monitors | +[]string | +
+ monitors is a collection of Ceph monitors.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
keyring | +string | +
+ keyring is the path to key ring for RBDUser.
+Default is /etc/ceph/keyring.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
pool | +string | +
+ pool is the rados pool name.
+Default is rbd.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is name of the authentication secret for RBDUser. If provided
+overrides keyring.
+Default is nil.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is the rados user name.
+Default is admin.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gateway | +string | +
+ gateway is the host address of the ScaleIO API Gateway. + |
+ true | +
secretRef | +object | +
+ secretRef references to the secret for ScaleIO user and other
+sensitive information. If this is not provided, Login operation will fail. + |
+ true | +
system | +string | +
+ system is the name of the storage system as configured in ScaleIO. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs".
+Default is "xfs". + |
+ false | +
protectionDomain | +string | +
+ protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
sslEnabled | +boolean | +
+ sslEnabled Flag enable/disable SSL communication with Gateway, default false + |
+ false | +
storageMode | +string | +
+ storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
+Default is ThinProvisioned. + |
+ false | +
storagePool | +string | +
+ storagePool is the ScaleIO Storage Pool associated with the protection domain. + |
+ false | +
volumeName | +string | +
+ volumeName is the name of a volume already created in the ScaleIO system
+that is associated with this volume source. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values
+for mode bits. Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items If unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its keys must be defined + |
+ false | +
secretName | +string | +
+ secretName is the name of the secret in the pod's namespace to use.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef specifies the secret to use for obtaining the StorageOS API
+credentials. If not specified, default values will be attempted. + |
+ false | +
volumeName | +string | +
+ volumeName is the human-readable name of the StorageOS volume. Volume
+names are only unique within a namespace. + |
+ false | +
volumeNamespace | +string | +
+ volumeNamespace specifies the scope of the volume within StorageOS. If no
+namespace is specified then the Pod's namespace will be used. This allows the
+Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
+Set VolumeName to any name to override the default behaviour.
+Set to "default" if you are not using namespaces within StorageOS.
+Namespaces that do not pre-exist within StorageOS will be created. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumePath | +string | +
+ volumePath is the path that identifies vSphere volume vmdk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
storagePolicyID | +string | +
+ storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + |
+ false | +
storagePolicyName | +string | +
+ storagePolicyName is the storage Policy Based Management (SPBM) profile name. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeyRef contains the secret key reference when a hostname is pulled from a secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapRef | +object | +
+ ConfigMapRef contains the reference to the configmap name and key containing the image value + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key to select. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
annotations | +map[string]string | +
+ Annotations can be used to specify annotations appended to the annotations set by the operator when creating ingress-related objects + |
+ false | +
controller | +string | +
+ Controller is used to specify the controller used for ingress in the Kubernetes cluster. For now, only nginx is supported. + |
+ false | +
enabled | +boolean | +
+ Enabled enables the logic for the Humio operator to create ingress-related objects. Requires one of the following
+to be set: spec.hostname, spec.hostnameSource, spec.esHostname or spec.esHostnameSource + |
+ false | +
esSecretName | +string | +
+ ESSecretName is used to specify the Kubernetes secret that contains the TLS certificate that should be used, specifically for the ESHostname + |
+ false | +
secretName | +string | +
+ SecretName is used to specify the Kubernetes secret that contains the TLS certificate that should be used + |
+ false | +
tls | +boolean | +
+ TLS is used to specify whether the ingress controller will be using TLS for requests from external clients + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretKeyRef | +object | +
+ SecretKeySelector selects a key of a Secret. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
allowedAPIRequestTypes | +[]string | +
+ AllowedAPIRequestTypes is a list of API request types that are allowed by the node pool. Current options are:
+OperatorInternal. Defaults to [OperatorInternal]. To disallow all API request types, set this to []. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ + |
+ true | +
spec | +object | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
affinity | +object | +
+ Affinity defines the affinity policies that will be attached to the humio pods + |
+ false | +
authServiceAccountName | +string | +
+ *Deprecated: AuthServiceAccountName is no longer used as the auth sidecar container has been removed.* + |
+ false | +
containerLivenessProbe | +object | +
+ ContainerLivenessProbe is the liveness probe applied to the Humio container
+If specified and non-empty, the user-specified liveness probe will be used.
+If specified and empty, the pod will be created without a liveness probe set.
+Otherwise, use the built in default liveness probe configuration. + |
+ false | +
containerReadinessProbe | +object | +
+ ContainerReadinessProbe is the readiness probe applied to the Humio container.
+If specified and non-empty, the user-specified readiness probe will be used.
+If specified and empty, the pod will be created without a readiness probe set.
+Otherwise, use the built in default readiness probe configuration. + |
+ false | +
containerSecurityContext | +object | +
+ ContainerSecurityContext is the security context applied to the Humio container + |
+ false | +
containerStartupProbe | +object | +
+ ContainerStartupProbe is the startup probe applied to the Humio container
+If specified and non-empty, the user-specified startup probe will be used.
+If specified and empty, the pod will be created without a startup probe set.
+Otherwise, use the built in default startup probe configuration. + |
+ false | +
dataVolumePersistentVolumeClaimPolicy | +object | +
+ DataVolumePersistentVolumeClaimPolicy is a policy which allows persistent volumes to be reclaimed + |
+ false | +
dataVolumePersistentVolumeClaimSpecTemplate | +object | +
+ DataVolumePersistentVolumeClaimSpecTemplate is the PersistentVolumeClaimSpec that will be used with for the humio data volume. This conflicts with DataVolumeSource. + |
+ false | +
dataVolumeSource | +object | +
+ DataVolumeSource is the volume that is mounted on the humio pods. This conflicts with DataVolumePersistentVolumeClaimSpecTemplate. + |
+ false | +
disableInitContainer | +boolean | +
+ DisableInitContainer is used to disable the init container completely which collects the availability zone from the Kubernetes worker node.
+This is not recommended, unless you are using auto rebalancing partitions and are running in a single availability zone. + |
+ false | +
environmentVariables | +[]object | +
+ EnvironmentVariables is the set of variables that will be supplied to all Pods in the given node pool.
+This set is merged with fallback environment variables (for defaults in case they are not supplied in the Custom Resource),
+and spec.commonEnvironmentVariables (for variables that should be applied to Pods of all node types).
+Precedence is given to more environment-specific variables, i.e. spec.environmentVariables
+(or spec.nodePools[].environmentVariables) has higher precedence than spec.commonEnvironmentVariables. + |
+ false | +
environmentVariablesSource | +[]object | +
+ EnvironmentVariablesSource is the reference to an external source of environment variables that will be merged with environmentVariables + |
+ false | +
extraHumioVolumeMounts | +[]object | +
+ ExtraHumioVolumeMounts is the list of additional volume mounts that will be added to the Humio container + |
+ false | +
extraKafkaConfigs | +string | +
+ ExtraKafkaConfigs is a multi-line string containing kafka properties + |
+ false | +
extraVolumes | +[]object | +
+ ExtraVolumes is the list of additional volumes that will be added to the Humio pod + |
+ false | +
helperImage | +string | +
+ HelperImage is the desired helper container image, including image tag + |
+ false | +
humioESServicePort | +integer | +
+ HumioESServicePort is the port number of the Humio Service that is used to direct traffic to the ES interface of
+the Humio pods. + + Format: int32 + |
+ false | +
humioServiceAccountAnnotations | +map[string]string | +
+ HumioServiceAccountAnnotations is the set of annotations added to the Kubernetes Service Account that will be attached to the Humio pods + |
+ false | +
humioServiceAccountName | +string | +
+ HumioServiceAccountName is the name of the Kubernetes Service Account that will be attached to the Humio pods + |
+ false | +
humioServiceAnnotations | +map[string]string | +
+ HumioServiceAnnotations is the set of annotations added to the Kubernetes Service that is used to direct traffic
+to the Humio pods + |
+ false | +
humioServiceLabels | +map[string]string | +
+ HumioServiceLabels is the set of labels added to the Kubernetes Service that is used to direct traffic
+to the Humio pods + |
+ false | +
humioServicePort | +integer | +
+ HumioServicePort is the port number of the Humio Service that is used to direct traffic to the http interface of
+the Humio pods. + + Format: int32 + |
+ false | +
humioServiceType | +string | +
+ HumioServiceType is the ServiceType of the Humio Service that is used to direct traffic to the Humio pods + |
+ false | +
image | +string | +
+ Image is the desired humio container image, including the image tag + |
+ false | +
imagePullPolicy | +string | +
+ ImagePullPolicy sets the imagePullPolicy for all the containers in the humio pod + |
+ false | +
imagePullSecrets | +[]object | +
+ ImagePullSecrets defines the imagepullsecrets for the humio pods. These secrets are not created by the operator + |
+ false | +
imageSource | +object | +
+ ImageSource is the reference to an external source identifying the image + |
+ false | +
initServiceAccountName | +string | +
+ InitServiceAccountName is the name of the Kubernetes Service Account that will be attached to the init container in the humio pod. + |
+ false | +
nodeCount | +integer | +
+ NodeCount is the desired number of humio cluster nodes + |
+ false | +
nodePoolFeatures | +object | +
+ HumioNodePoolFeatures defines the features that are allowed by the node pool + |
+ false | +
nodeUUIDPrefix | +string | +
+ NodeUUIDPrefix is the prefix for the Humio Node's UUID. By default this does not include the zone. If it's
+necessary to include zone, there is a special `Zone` variable that can be used. To use this, set `{{.Zone}}`. For
+compatibility with pre-0.0.14 spec defaults, this should be set to `humio_{{.Zone}}`
+Deprecated: LogScale 1.70.0 deprecated this option, and was later removed in LogScale 1.80.0 + |
+ false | +
podAnnotations | +map[string]string | +
+ PodAnnotations can be used to specify annotations that will be added to the Humio pods + |
+ false | +
podLabels | +map[string]string | +
+ PodLabels can be used to specify labels that will be added to the Humio pods + |
+ false | +
podSecurityContext | +object | +
+ PodSecurityContext is the security context applied to the Humio pod + |
+ false | +
priorityClassName | +string | +
+ PriorityClassName is the name of the priority class that will be used by the Humio pods + |
+ false | +
resources | +object | +
+ Resources is the kubernetes resource limits for the humio pod + |
+ false | +
shareProcessNamespace | +boolean | +
+ ShareProcessNamespace can be useful in combination with SidecarContainers to be able to inspect the main Humio
+process. This should not be enabled, unless you need this for debugging purposes.
+https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ + |
+ false | +
sidecarContainer | +[]object | +
+ SidecarContainers can be used in advanced use-cases where you want one or more sidecar container added to the
+Humio pod to help out in debugging purposes. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ TerminationGracePeriodSeconds defines the amount of time to allow cluster pods to gracefully terminate
+before being forcefully restarted. If using bucket storage, this should allow enough time for Humio to finish
+uploading data to bucket storage. + + Format: int64 + |
+ false | +
tolerations | +[]object | +
+ Tolerations defines the tolerations that will be attached to the humio pods + |
+ false | +
topologySpreadConstraints | +[]object | +
+ TopologySpreadConstraints defines the topologySpreadConstraints that will be attached to the humio pods + |
+ false | +
updateStrategy | +object | +
+ UpdateStrategy controls how Humio pods are updated when changes are made to the HumioCluster resource that results
+in a change to the Humio pods + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
nodeAffinity | +object | +
+ Describes node affinity scheduling rules for the pod. + |
+ false | +
podAffinity | +object | +
+ Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + |
+ false | +
podAntiAffinity | +object | +
+ Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node matches the corresponding matchExpressions; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +object | +
+ If the affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to an update), the system
+may or may not try to eventually evict the pod from its node. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preference | +object | +
+ A node selector term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ A list of node selector requirements by node's labels. + |
+ false | +
matchFields | +[]object | +
+ A list of node selector requirements by node's fields. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
nodeSelectorTerms | +[]object | +
+ Required. A list of node selector terms. The terms are ORed. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ A list of node selector requirements by node's labels. + |
+ false | +
matchFields | +[]object | +
+ A list of node selector requirements by node's fields. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The label key that the selector applies to. + |
+ true | +
operator | +string | +
+ Represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + |
+ true | +
values | +[]string | +
+ An array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. If the operator is Gt or Lt, the values
+array must have a single element, which will be interpreted as an integer.
+This array is replaced during a strategic merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ If the affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to a pod label update), the
+system may or may not try to eventually evict the pod from its node.
+When there are multiple elements, the lists of nodes corresponding to each
+podAffinityTerm are intersected, i.e. all terms must be satisfied. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
podAffinityTerm | +object | +
+ Required. A pod affinity term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ weight associated with matching the corresponding podAffinityTerm,
+in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
preferredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ The scheduler will prefer to schedule pods to nodes that satisfy
+the anti-affinity expressions specified by this field, but it may choose
+a node that violates one or more of the expressions. The node that is
+most preferred is the one with the greatest sum of weights, i.e.
+for each node that meets all of the scheduling requirements (resource
+request, requiredDuringScheduling anti-affinity expressions, etc.),
+compute a sum by iterating through the elements of this field and adding
+"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
+node(s) with the highest sum are the most preferred. + |
+ false | +
requiredDuringSchedulingIgnoredDuringExecution | +[]object | +
+ If the anti-affinity requirements specified by this field are not met at
+scheduling time, the pod will not be scheduled onto the node.
+If the anti-affinity requirements specified by this field cease to be met
+at some point during pod execution (e.g. due to a pod label update), the
+system may or may not try to eventually evict the pod from its node.
+When there are multiple elements, the lists of nodes corresponding to each
+podAffinityTerm are intersected, i.e. all terms must be satisfied. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
podAffinityTerm | +object | +
+ Required. A pod affinity term, associated with the corresponding weight. + |
+ true | +
weight | +integer | +
+ weight associated with matching the corresponding podAffinityTerm,
+in the range 1-100. + + Format: int32 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
topologyKey | +string | +
+ This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
+the labelSelector in the specified namespaces, where co-located is defined as running on a node
+whose value of the label with key topologyKey matches that of any node on which any of the
+selected pods is running.
+Empty topologyKey is not allowed. + |
+ true | +
labelSelector | +object | +
+ A label query over a set of resources, in this case pods.
+If it's null, this PodAffinityTerm matches with no Pods. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+Also, MatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
mismatchLabelKeys | +[]string | +
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+be taken into consideration. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`
+to select the group of existing pods which pods will be taken into consideration
+for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+pod labels will be ignored. The default value is empty.
+The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.
+Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.
+This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + |
+ false | +
namespaceSelector | +object | +
+ A label query over the set of namespaces that the term applies to.
+The term is applied to the union of the namespaces selected by this field
+and the ones listed in the namespaces field.
+null selector and null or empty namespaces list means "this pod's namespace".
+An empty selector ({}) matches all namespaces. + |
+ false | +
namespaces | +[]string | +
+ namespaces specifies a static list of namespace names that the term applies to.
+The term is applied to the union of the namespaces listed in this field
+and the ones selected by namespaceSelector.
+null or empty namespaces list and null namespaceSelector means "this pod's namespace". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
allowPrivilegeEscalation | +boolean | +
+ AllowPrivilegeEscalation controls whether a process can gain more
+privileges than its parent process. This bool directly controls if
+the no_new_privs flag will be set on the container process.
+AllowPrivilegeEscalation is true always when the container is:
+1) run as Privileged
+2) has CAP_SYS_ADMIN
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
capabilities | +object | +
+ The capabilities to add/drop when running containers.
+Defaults to the default set of capabilities granted by the container runtime.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
privileged | +boolean | +
+ Run container in privileged mode.
+Processes in privileged containers are essentially equivalent to root on the host.
+Defaults to false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
procMount | +string | +
+ procMount denotes the type of proc mount to use for the containers.
+The default is DefaultProcMount which uses the container runtime defaults for
+readonly paths and masked paths.
+This requires the ProcMountType feature flag to be enabled.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
readOnlyRootFilesystem | +boolean | +
+ Whether this container has a read-only root filesystem.
+Default is false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
runAsGroup | +integer | +
+ The GID to run the entrypoint of the container process.
+Uses runtime default if unset.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
runAsNonRoot | +boolean | +
+ Indicates that the container must run as a non-root user.
+If true, the Kubelet will validate the image at runtime to ensure that it
+does not run as UID 0 (root) and fail to start the container if it does.
+If unset or false, no such validation will be performed.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
runAsUser | +integer | +
+ The UID to run the entrypoint of the container process.
+Defaults to user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
seLinuxOptions | +object | +
+ The SELinux context to be applied to the container.
+If unspecified, the container runtime will allocate a random SELinux context for each
+container. May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
seccompProfile | +object | +
+ The seccomp options to use by this container. If seccomp options are
+provided at both the pod & container level, the container options
+override the pod options.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
windowsOptions | +object | +
+ The Windows specific settings applied to all containers.
+If unspecified, the options from the PodSecurityContext will be used.
+If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is linux. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
add | +[]string | +
+ Added capabilities + |
+ false | +
drop | +[]string | +
+ Removed capabilities + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
level | +string | +
+ Level is SELinux level label that applies to the container. + |
+ false | +
role | +string | +
+ Role is a SELinux role label that applies to the container. + |
+ false | +
type | +string | +
+ Type is a SELinux type label that applies to the container. + |
+ false | +
user | +string | +
+ User is a SELinux user label that applies to the container. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
type | +string | +
+ type indicates which kind of seccomp profile will be applied.
+Valid options are:
+
+
+Localhost - a profile defined in a file on the node should be used.
+RuntimeDefault - the container runtime default profile should be used.
+Unconfined - no profile should be applied. + |
+ true | +
localhostProfile | +string | +
+ localhostProfile indicates a profile defined in a file on the node should be used.
+The profile must be preconfigured on the node to work.
+Must be a descending path, relative to the kubelet's configured seccomp profile location.
+Must be set if type is "Localhost". Must NOT be set for any other type. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gmsaCredentialSpec | +string | +
+ GMSACredentialSpec is where the GMSA admission webhook
+(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
+GMSA credential spec named by the GMSACredentialSpecName field. + |
+ false | +
gmsaCredentialSpecName | +string | +
+ GMSACredentialSpecName is the name of the GMSA credential spec to use. + |
+ false | +
hostProcess | +boolean | +
+ HostProcess determines if a container should be run as a 'Host Process' container.
+All of a Pod's containers must have the same effective HostProcess value
+(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
+In addition, if HostProcess is true then HostNetwork must also be set to true. + |
+ false | +
runAsUserName | +string | +
+ The UserName in Windows to run the entrypoint of the container process.
+Defaults to the user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
reclaimType | +enum | +
+ HumioPersistentVolumeReclaimType is the type of reclaim which will occur on a persistent volume + + Enum: None, OnNodeDelete + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
accessModes | +[]string | +
+ accessModes contains the desired access modes the volume should have.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + |
+ false | +
dataSource | +object | +
+ dataSource field can be used to specify either:
+* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
+* An existing PVC (PersistentVolumeClaim)
+If the provisioner or an external controller can support the specified data source,
+it will create a new volume based on the contents of the specified data source.
+When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
+and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+If the namespace is specified, then dataSourceRef will not be copied to dataSource. + |
+ false | +
dataSourceRef | +object | +
+ dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
+volume is desired. This may be any object from a non-empty API group (non
+core object) or a PersistentVolumeClaim object.
+When this field is specified, volume binding will only succeed if the type of
+the specified object matches some installed volume populator or dynamic
+provisioner.
+This field will replace the functionality of the dataSource field and as such
+if both fields are non-empty, they must have the same value. For backwards
+compatibility, when namespace isn't specified in dataSourceRef,
+both fields (dataSource and dataSourceRef) will be set to the same
+value automatically if one of them is empty and the other is non-empty.
+When namespace is specified in dataSourceRef,
+dataSource isn't set to the same value and must be empty.
+There are three important differences between dataSource and dataSourceRef:
+* While dataSource only allows two specific types of objects, dataSourceRef
+ allows any non-core object, as well as PersistentVolumeClaim objects.
+* While dataSource ignores disallowed values (dropping them), dataSourceRef
+ preserves all values, and generates an error if a disallowed value is
+ specified.
+* While dataSource only allows local objects, dataSourceRef allows objects
+ in any namespaces.
+(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
+(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
resources | +object | +
+ resources represents the minimum resources the volume should have.
+If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
+that are lower than previous value but must still be higher than capacity recorded in the
+status field of the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + |
+ false | +
selector | +object | +
+ selector is a label query over volumes to consider for binding. + |
+ false | +
storageClassName | +string | +
+ storageClassName is the name of the StorageClass required by the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + |
+ false | +
volumeAttributesClassName | +string | +
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
+If specified, the CSI driver will create or update the volume with the attributes defined
+in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
+it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
+will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
+If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+will be set by the persistentvolume controller if it exists.
+If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
+exists.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
+(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + |
+ false | +
volumeMode | +string | +
+ volumeMode defines what type of volume is required by the claim.
+Value of Filesystem is implied when not included in claim spec. + |
+ false | +
volumeName | +string | +
+ volumeName is the binding reference to the PersistentVolume backing this claim. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
namespace | +string | +
+ Namespace is the namespace of resource being referenced
+Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
+(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
awsElasticBlockStore | +object | +
+ awsElasticBlockStore represents an AWS Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
azureDisk | +object | +
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + |
+ false | +
azureFile | +object | +
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod. + |
+ false | +
cephfs | +object | +
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + |
+ false | +
cinder | +object | +
+ cinder represents a cinder volume attached and mounted on kubelets host machine.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
configMap | +object | +
+ configMap represents a configMap that should populate this volume + |
+ false | +
csi | +object | +
+ csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + |
+ false | +
downwardAPI | +object | +
+ downwardAPI represents downward API about the pod that should populate this volume + |
+ false | +
emptyDir | +object | +
+ emptyDir represents a temporary directory that shares a pod's lifetime.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
ephemeral | +object | +
+ ephemeral represents a volume that is handled by a cluster storage driver.
+The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
+and deleted when the pod is removed.
+
+
+Use this if:
+a) the volume is only needed while the pod runs,
+b) features of normal volumes like restoring from snapshot or capacity
+ tracking are needed,
+c) the storage driver is specified through a storage class, and
+d) the storage driver supports dynamic volume provisioning through
+ a PersistentVolumeClaim (see EphemeralVolumeSource for more
+ information on the connection between this volume type
+ and PersistentVolumeClaim).
+
+
+Use PersistentVolumeClaim or one of the vendor-specific
+APIs for volumes that persist for longer than the lifecycle
+of an individual pod.
+
+
+Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
+be used that way - see the documentation of the driver for
+more information.
+
+
+A pod can use both types of ephemeral volumes and
+persistent volumes at the same time. + |
+ false | +
fc | +object | +
+ fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + |
+ false | +
flexVolume | +object | +
+ flexVolume represents a generic volume resource that is
+provisioned/attached using an exec based plugin. + |
+ false | +
flocker | +object | +
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + |
+ false | +
gcePersistentDisk | +object | +
+ gcePersistentDisk represents a GCE Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
gitRepo | +object | +
+ gitRepo represents a git repository at a particular revision.
+DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
+into the Pod's container. + |
+ false | +
glusterfs | +object | +
+ glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md + |
+ false | +
hostPath | +object | +
+ hostPath represents a pre-existing file or directory on the host
+machine that is directly exposed to the container. This is generally
+used for system agents or other privileged things that are allowed
+to see the host machine. Most containers will NOT need this.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+---
+TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+mount host directories as read/write. + |
+ false | +
iscsi | +object | +
+ iscsi represents an ISCSI Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://examples.k8s.io/volumes/iscsi/README.md + |
+ false | +
nfs | +object | +
+ nfs represents an NFS mount on the host that shares a pod's lifetime
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
persistentVolumeClaim | +object | +
+ persistentVolumeClaimVolumeSource represents a reference to a
+PersistentVolumeClaim in the same namespace.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ false | +
photonPersistentDisk | +object | +
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + |
+ false | +
portworxVolume | +object | +
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine + |
+ false | +
projected | +object | +
+ projected items for all in one resources secrets, configmaps, and downward API + |
+ false | +
quobyte | +object | +
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime + |
+ false | +
rbd | +object | +
+ rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/rbd/README.md + |
+ false | +
scaleIO | +object | +
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + |
+ false | +
secret | +object | +
+ secret represents a secret that should populate this volume.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
storageos | +object | +
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + |
+ false | +
vsphereVolume | +object | +
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly value true will force the readOnly setting in VolumeMounts.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
diskName | +string | +
+ diskName is the Name of the data disk in the blob storage + |
+ true | +
diskURI | +string | +
+ diskURI is the URI of data disk in the blob storage + |
+ true | +
cachingMode | +string | +
+ cachingMode is the Host Caching mode: None, Read Only, Read Write. + |
+ false | +
fsType | +string | +
+ fsType is Filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
kind | +string | +
+ kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretName | +string | +
+ secretName is the name of secret that contains Azure Storage Account Name and Key + |
+ true | +
shareName | +string | +
+ shareName is the azure share Name + |
+ true | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
monitors | +[]string | +
+ monitors is Required: Monitors is a collection of Ceph monitors
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ true | +
path | +string | +
+ path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretFile | +string | +
+ secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is optional: User is the rados user name, default is admin
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID used to identify the volume in cinder.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
secretRef | +object | +
+ secretRef is optional: points to a secret object containing parameters used to connect
+to OpenStack. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the CSI driver that handles this volume.
+Consult with your admin for the correct name as registered in the cluster. + |
+ true | +
fsType | +string | +
+ fsType to mount. Ex. "ext4", "xfs", "ntfs".
+If not provided, the empty value is passed to the associated CSI driver
+which will determine the default filesystem to apply. + |
+ false | +
nodePublishSecretRef | +object | +
+ nodePublishSecretRef is a reference to the secret object containing
+sensitive information to pass to the CSI driver to complete the CSI
+NodePublishVolume and NodeUnpublishVolume calls.
+This field is optional, and may be empty if no secret is required. If the
+secret object contains more than one secret, all secret references are passed. + |
+ false | +
readOnly | +boolean | +
+ readOnly specifies a read-only configuration for the volume.
+Defaults to false (read/write). + |
+ false | +
volumeAttributes | +map[string]string | +
+ volumeAttributes stores driver-specific properties that are passed to the CSI
+driver. Consult your driver's documentation for supported values. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ Optional: mode bits to use on created files by default. Must be a
+Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ Items is a list of downward API volume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
medium | +string | +
+ medium represents what type of storage medium should back this directory.
+The default is "" which means to use the node's default medium.
+Must be an empty string (default) or Memory.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
sizeLimit | +int or string | +
+ sizeLimit is the total amount of local storage required for this EmptyDir volume.
+The size limit is also applicable for memory medium.
+The maximum usage on memory medium EmptyDir would be the minimum value between
+the SizeLimit specified here and the sum of memory limits of all containers in a pod.
+The default is nil which means that the limit is undefined.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeClaimTemplate | +object | +
+ Will be used to create a stand-alone PVC to provision the volume.
+The pod in which this EphemeralVolumeSource is embedded will be the
+owner of the PVC, i.e. the PVC will be deleted together with the
+pod. The name of the PVC will be ` + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
spec | +object | +
+ The specification for the PersistentVolumeClaim. The entire content is
+copied unchanged into the PVC that gets created from this
+template. The same fields as in a PersistentVolumeClaim
+are also valid here. + |
+ true | +
metadata | +object | +
+ May contain labels and annotations that will be copied into the PVC
+when creating it. No other fields are allowed and will be rejected during
+validation. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
accessModes | +[]string | +
+ accessModes contains the desired access modes the volume should have.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + |
+ false | +
dataSource | +object | +
+ dataSource field can be used to specify either:
+* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
+* An existing PVC (PersistentVolumeClaim)
+If the provisioner or an external controller can support the specified data source,
+it will create a new volume based on the contents of the specified data source.
+When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
+and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+If the namespace is specified, then dataSourceRef will not be copied to dataSource. + |
+ false | +
dataSourceRef | +object | +
+ dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
+volume is desired. This may be any object from a non-empty API group (non
+core object) or a PersistentVolumeClaim object.
+When this field is specified, volume binding will only succeed if the type of
+the specified object matches some installed volume populator or dynamic
+provisioner.
+This field will replace the functionality of the dataSource field and as such
+if both fields are non-empty, they must have the same value. For backwards
+compatibility, when namespace isn't specified in dataSourceRef,
+both fields (dataSource and dataSourceRef) will be set to the same
+value automatically if one of them is empty and the other is non-empty.
+When namespace is specified in dataSourceRef,
+dataSource isn't set to the same value and must be empty.
+There are three important differences between dataSource and dataSourceRef:
+* While dataSource only allows two specific types of objects, dataSourceRef
+ allows any non-core object, as well as PersistentVolumeClaim objects.
+* While dataSource ignores disallowed values (dropping them), dataSourceRef
+ preserves all values, and generates an error if a disallowed value is
+ specified.
+* While dataSource only allows local objects, dataSourceRef allows objects
+ in any namespaces.
+(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
+(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
resources | +object | +
+ resources represents the minimum resources the volume should have.
+If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
+that are lower than previous value but must still be higher than capacity recorded in the
+status field of the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + |
+ false | +
selector | +object | +
+ selector is a label query over volumes to consider for binding. + |
+ false | +
storageClassName | +string | +
+ storageClassName is the name of the StorageClass required by the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + |
+ false | +
volumeAttributesClassName | +string | +
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
+If specified, the CSI driver will create or update the volume with the attributes defined
+in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
+it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
+will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
+If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+will be set by the persistentvolume controller if it exists.
+If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
+exists.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
+(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + |
+ false | +
volumeMode | +string | +
+ volumeMode defines what type of volume is required by the claim.
+Value of Filesystem is implied when not included in claim spec. + |
+ false | +
volumeName | +string | +
+ volumeName is the binding reference to the PersistentVolume backing this claim. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
namespace | +string | +
+ Namespace is the namespace of resource being referenced
+Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
+(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
lun | +integer | +
+ lun is Optional: FC target lun number + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
targetWWNs | +[]string | +
+ targetWWNs is Optional: FC target worldwide names (WWNs) + |
+ false | +
wwids | +[]string | +
+ wwids Optional: FC volume world wide identifiers (wwids)
+Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the driver to use for this volume. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + |
+ false | +
options | +map[string]string | +
+ options is Optional: this field holds extra command options if any. + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: secretRef is reference to the secret object containing
+sensitive information to pass to the plugin scripts. This may be
+empty if no secret object is specified. If the secret object
+contains more than one secret, all secrets are passed to the plugin
+scripts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
datasetName | +string | +
+ datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
+should be considered as deprecated + |
+ false | +
datasetUUID | +string | +
+ datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdName | +string | +
+ pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
repository | +string | +
+ repository is the URL + |
+ true | +
directory | +string | +
+ directory is the target directory name.
+Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
+git repository. Otherwise, if specified, the volume will contain the git repository in
+the subdirectory with the given name. + |
+ false | +
revision | +string | +
+ revision is the commit hash for the specified revision. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
endpoints | +string | +
+ endpoints is the endpoint name that details Glusterfs topology.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
path | +string | +
+ path is the Glusterfs volume path.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path of the directory on the host.
+If the path is a symlink, it will follow the link to the real path.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ true | +
type | +string | +
+ type for HostPath Volume
+Defaults to ""
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
iqn | +string | +
+ iqn is the target iSCSI Qualified Name. + |
+ true | +
lun | +integer | +
+ lun represents iSCSI Target Lun number. + + Format: int32 + |
+ true | +
targetPortal | +string | +
+ targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ true | +
chapAuthDiscovery | +boolean | +
+ chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + |
+ false | +
chapAuthSession | +boolean | +
+ chapAuthSession defines whether support iSCSI Session CHAP authentication + |
+ false | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
initiatorName | +string | +
+ initiatorName is the custom iSCSI Initiator Name.
+If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
+ + |
+ false | +
iscsiInterface | +string | +
+ iscsiInterface is the interface Name that uses an iSCSI transport.
+Defaults to 'default' (tcp). + |
+ false | +
portals | +[]string | +
+ portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false. + |
+ false | +
secretRef | +object | +
+ secretRef is the CHAP Secret for iSCSI target and initiator authentication + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path that is exported by the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
server | +string | +
+ server is the hostname or IP address of the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the NFS export to be mounted with read-only permissions.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claimName | +string | +
+ claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ true | +
readOnly | +boolean | +
+ readOnly Will force the ReadOnly setting in VolumeMounts.
+Default false. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdID | +string | +
+ pdID is the ID that identifies Photon Controller persistent disk + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID uniquely identifies a Portworx volume + |
+ true | +
fsType | +string | +
+ fSType represents the filesystem type to mount
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode are the mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
sources | +[]object | +
+ sources is the list of volume projections + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
clusterTrustBundle | +object | +
+ ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
+of ClusterTrustBundle objects in an auto-updating file.
+
+
+Alpha, gated by the ClusterTrustBundleProjection feature gate.
+
+
+ClusterTrustBundle objects can either be selected by name, or by the
+combination of signer name and a label selector.
+
+
+Kubelet performs aggressive normalization of the PEM contents written
+into the pod filesystem. Esoteric PEM features such as inter-block
+comments and block headers are stripped. Certificates are deduplicated.
+The ordering of certificates within the file is arbitrary, and Kubelet
+may change the order over time. + |
+ false | +
configMap | +object | +
+ configMap information about the configMap data to project + |
+ false | +
downwardAPI | +object | +
+ downwardAPI information about the downwardAPI data to project + |
+ false | +
secret | +object | +
+ secret information about the secret data to project + |
+ false | +
serviceAccountToken | +object | +
+ serviceAccountToken is information about the serviceAccountToken data to project + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Relative path from the volume root to write the bundle. + |
+ true | +
labelSelector | +object | +
+ Select all ClusterTrustBundles that match this label selector. Only has
+effect if signerName is set. Mutually-exclusive with name. If unset,
+interpreted as "match nothing". If set but empty, interpreted as "match
+everything". + |
+ false | +
name | +string | +
+ Select a single ClusterTrustBundle by object name. Mutually-exclusive
+with signerName and labelSelector. + |
+ false | +
optional | +boolean | +
+ If true, don't block pod startup if the referenced ClusterTrustBundle(s)
+aren't available. If using name, then the named ClusterTrustBundle is
+allowed not to exist. If using signerName, then the combination of
+signerName and labelSelector is allowed to match zero
+ClusterTrustBundles. + |
+ false | +
signerName | +string | +
+ Select all ClusterTrustBundles that match this signer name.
+Mutually-exclusive with name. The contents of all selected
+ClusterTrustBundles will be unified and deduplicated. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ Items is a list of DownwardAPIVolume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path is the path relative to the mount point of the file to project the
+token into. + |
+ true | +
audience | +string | +
+ audience is the intended audience of the token. A recipient of a token
+must identify itself with an identifier specified in the audience of the
+token, and otherwise should reject the token. The audience defaults to the
+identifier of the apiserver. + |
+ false | +
expirationSeconds | +integer | +
+ expirationSeconds is the requested duration of validity of the service
+account token. As the token approaches expiration, the kubelet volume
+plugin will proactively rotate the service account token. The kubelet will
+start trying to rotate the token if the token is older than 80 percent of
+its time to live or if the token is older than 24 hours.Defaults to 1 hour
+and must be at least 10 minutes. + + Format: int64 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
registry | +string | +
+ registry represents a single or multiple Quobyte Registry services
+specified as a string as host:port pair (multiple entries are separated with commas)
+which acts as the central registry for volumes + |
+ true | +
volume | +string | +
+ volume is a string that references an already created Quobyte volume by name. + |
+ true | +
group | +string | +
+ group to map volume access to
+Default is no group + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the Quobyte volume to be mounted with read-only permissions.
+Defaults to false. + |
+ false | +
tenant | +string | +
+ tenant owning the given Quobyte volume in the Backend
+Used with dynamically provisioned Quobyte volumes, value is set by the plugin + |
+ false | +
user | +string | +
+ user to map volume access to
+Defaults to serivceaccount user + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
image | +string | +
+ image is the rados image name.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
monitors | +[]string | +
+ monitors is a collection of Ceph monitors.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
keyring | +string | +
+ keyring is the path to key ring for RBDUser.
+Default is /etc/ceph/keyring.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
pool | +string | +
+ pool is the rados pool name.
+Default is rbd.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is name of the authentication secret for RBDUser. If provided
+overrides keyring.
+Default is nil.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is the rados user name.
+Default is admin.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gateway | +string | +
+ gateway is the host address of the ScaleIO API Gateway. + |
+ true | +
secretRef | +object | +
+ secretRef references to the secret for ScaleIO user and other
+sensitive information. If this is not provided, Login operation will fail. + |
+ true | +
system | +string | +
+ system is the name of the storage system as configured in ScaleIO. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs".
+Default is "xfs". + |
+ false | +
protectionDomain | +string | +
+ protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
sslEnabled | +boolean | +
+ sslEnabled Flag enable/disable SSL communication with Gateway, default false + |
+ false | +
storageMode | +string | +
+ storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
+Default is ThinProvisioned. + |
+ false | +
storagePool | +string | +
+ storagePool is the ScaleIO Storage Pool associated with the protection domain. + |
+ false | +
volumeName | +string | +
+ volumeName is the name of a volume already created in the ScaleIO system
+that is associated with this volume source. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values
+for mode bits. Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items If unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its keys must be defined + |
+ false | +
secretName | +string | +
+ secretName is the name of the secret in the pod's namespace to use.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef specifies the secret to use for obtaining the StorageOS API
+credentials. If not specified, default values will be attempted. + |
+ false | +
volumeName | +string | +
+ volumeName is the human-readable name of the StorageOS volume. Volume
+names are only unique within a namespace. + |
+ false | +
volumeNamespace | +string | +
+ volumeNamespace specifies the scope of the volume within StorageOS. If no
+namespace is specified then the Pod's namespace will be used. This allows the
+Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
+Set VolumeName to any name to override the default behaviour.
+Set to "default" if you are not using namespaces within StorageOS.
+Namespaces that do not pre-exist within StorageOS will be created. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumePath | +string | +
+ volumePath is the path that identifies vSphere volume vmdk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
storagePolicyID | +string | +
+ storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + |
+ false | +
storagePolicyName | +string | +
+ storagePolicyName is the storage Policy Based Management (SPBM) profile name. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the environment variable. Must be a C_IDENTIFIER. + |
+ true | +
value | +string | +
+ Variable references $(VAR_NAME) are expanded
+using the previously defined environment variables in the container and
+any service environment variables. If a variable cannot be resolved,
+the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
+"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
+Escaped references will never be expanded, regardless of whether the variable
+exists or not.
+Defaults to "". + |
+ false | +
valueFrom | +object | +
+ Source for the environment variable's value. Cannot be used if value is not empty. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapKeyRef | +object | +
+ Selects a key of a ConfigMap. + |
+ false | +
fieldRef | +object | +
+ Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels[' + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + |
+ false | +
secretKeyRef | +object | +
+ Selects a key of a secret in the pod's namespace + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key to select. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapRef | +object | +
+ The ConfigMap to select from + |
+ false | +
prefix | +string | +
+ An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + |
+ false | +
secretRef | +object | +
+ The Secret to select from + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
mountPath | +string | +
+ Path within the container at which the volume should be mounted. Must
+not contain ':'. + |
+ true | +
name | +string | +
+ This must match the Name of a Volume. + |
+ true | +
mountPropagation | +string | +
+ mountPropagation determines how mounts are propagated from the host
+to container and the other way around.
+When not set, MountPropagationNone is used.
+This field is beta in 1.10. + |
+ false | +
readOnly | +boolean | +
+ Mounted read-only if true, read-write otherwise (false or unspecified).
+Defaults to false. + |
+ false | +
subPath | +string | +
+ Path within the volume from which the container's volume should be mounted.
+Defaults to "" (volume's root). + |
+ false | +
subPathExpr | +string | +
+ Expanded path within the volume from which the container's volume should be mounted.
+Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
+Defaults to "" (volume's root).
+SubPathExpr and SubPath are mutually exclusive. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ name of the volume.
+Must be a DNS_LABEL and unique within the pod.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + |
+ true | +
awsElasticBlockStore | +object | +
+ awsElasticBlockStore represents an AWS Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
azureDisk | +object | +
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + |
+ false | +
azureFile | +object | +
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod. + |
+ false | +
cephfs | +object | +
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + |
+ false | +
cinder | +object | +
+ cinder represents a cinder volume attached and mounted on kubelets host machine.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
configMap | +object | +
+ configMap represents a configMap that should populate this volume + |
+ false | +
csi | +object | +
+ csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + |
+ false | +
downwardAPI | +object | +
+ downwardAPI represents downward API about the pod that should populate this volume + |
+ false | +
emptyDir | +object | +
+ emptyDir represents a temporary directory that shares a pod's lifetime.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
ephemeral | +object | +
+ ephemeral represents a volume that is handled by a cluster storage driver.
+The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
+and deleted when the pod is removed.
+
+
+Use this if:
+a) the volume is only needed while the pod runs,
+b) features of normal volumes like restoring from snapshot or capacity
+ tracking are needed,
+c) the storage driver is specified through a storage class, and
+d) the storage driver supports dynamic volume provisioning through
+ a PersistentVolumeClaim (see EphemeralVolumeSource for more
+ information on the connection between this volume type
+ and PersistentVolumeClaim).
+
+
+Use PersistentVolumeClaim or one of the vendor-specific
+APIs for volumes that persist for longer than the lifecycle
+of an individual pod.
+
+
+Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
+be used that way - see the documentation of the driver for
+more information.
+
+
+A pod can use both types of ephemeral volumes and
+persistent volumes at the same time. + |
+ false | +
fc | +object | +
+ fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + |
+ false | +
flexVolume | +object | +
+ flexVolume represents a generic volume resource that is
+provisioned/attached using an exec based plugin. + |
+ false | +
flocker | +object | +
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + |
+ false | +
gcePersistentDisk | +object | +
+ gcePersistentDisk represents a GCE Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
gitRepo | +object | +
+ gitRepo represents a git repository at a particular revision.
+DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
+into the Pod's container. + |
+ false | +
glusterfs | +object | +
+ glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md + |
+ false | +
hostPath | +object | +
+ hostPath represents a pre-existing file or directory on the host
+machine that is directly exposed to the container. This is generally
+used for system agents or other privileged things that are allowed
+to see the host machine. Most containers will NOT need this.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+---
+TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
+mount host directories as read/write. + |
+ false | +
iscsi | +object | +
+ iscsi represents an ISCSI Disk resource that is attached to a
+kubelet's host machine and then exposed to the pod.
+More info: https://examples.k8s.io/volumes/iscsi/README.md + |
+ false | +
nfs | +object | +
+ nfs represents an NFS mount on the host that shares a pod's lifetime
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
persistentVolumeClaim | +object | +
+ persistentVolumeClaimVolumeSource represents a reference to a
+PersistentVolumeClaim in the same namespace.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ false | +
photonPersistentDisk | +object | +
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + |
+ false | +
portworxVolume | +object | +
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine + |
+ false | +
projected | +object | +
+ projected items for all in one resources secrets, configmaps, and downward API + |
+ false | +
quobyte | +object | +
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime + |
+ false | +
rbd | +object | +
+ rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+More info: https://examples.k8s.io/volumes/rbd/README.md + |
+ false | +
scaleIO | +object | +
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + |
+ false | +
secret | +object | +
+ secret represents a secret that should populate this volume.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
storageos | +object | +
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + |
+ false | +
vsphereVolume | +object | +
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly value true will force the readOnly setting in VolumeMounts.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
diskName | +string | +
+ diskName is the Name of the data disk in the blob storage + |
+ true | +
diskURI | +string | +
+ diskURI is the URI of data disk in the blob storage + |
+ true | +
cachingMode | +string | +
+ cachingMode is the Host Caching mode: None, Read Only, Read Write. + |
+ false | +
fsType | +string | +
+ fsType is Filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
kind | +string | +
+ kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
secretName | +string | +
+ secretName is the name of secret that contains Azure Storage Account Name and Key + |
+ true | +
shareName | +string | +
+ shareName is the azure share Name + |
+ true | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
monitors | +[]string | +
+ monitors is Required: Monitors is a collection of Ceph monitors
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ true | +
path | +string | +
+ path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretFile | +string | +
+ secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is optional: User is the rados user name, default is admin
+More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID used to identify the volume in cinder.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts.
+More info: https://examples.k8s.io/mysql-cinder-pd/README.md + |
+ false | +
secretRef | +object | +
+ secretRef is optional: points to a secret object containing parameters used to connect
+to OpenStack. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the CSI driver that handles this volume.
+Consult with your admin for the correct name as registered in the cluster. + |
+ true | +
fsType | +string | +
+ fsType to mount. Ex. "ext4", "xfs", "ntfs".
+If not provided, the empty value is passed to the associated CSI driver
+which will determine the default filesystem to apply. + |
+ false | +
nodePublishSecretRef | +object | +
+ nodePublishSecretRef is a reference to the secret object containing
+sensitive information to pass to the CSI driver to complete the CSI
+NodePublishVolume and NodeUnpublishVolume calls.
+This field is optional, and may be empty if no secret is required. If the
+secret object contains more than one secret, all secret references are passed. + |
+ false | +
readOnly | +boolean | +
+ readOnly specifies a read-only configuration for the volume.
+Defaults to false (read/write). + |
+ false | +
volumeAttributes | +map[string]string | +
+ volumeAttributes stores driver-specific properties that are passed to the CSI
+driver. Consult your driver's documentation for supported values. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ Optional: mode bits to use on created files by default. Must be a
+Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ Items is a list of downward API volume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
medium | +string | +
+ medium represents what type of storage medium should back this directory.
+The default is "" which means to use the node's default medium.
+Must be an empty string (default) or Memory.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
sizeLimit | +int or string | +
+ sizeLimit is the total amount of local storage required for this EmptyDir volume.
+The size limit is also applicable for memory medium.
+The maximum usage on memory medium EmptyDir would be the minimum value between
+the SizeLimit specified here and the sum of memory limits of all containers in a pod.
+The default is nil which means that the limit is undefined.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeClaimTemplate | +object | +
+ Will be used to create a stand-alone PVC to provision the volume.
+The pod in which this EphemeralVolumeSource is embedded will be the
+owner of the PVC, i.e. the PVC will be deleted together with the
+pod. The name of the PVC will be ` + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
spec | +object | +
+ The specification for the PersistentVolumeClaim. The entire content is
+copied unchanged into the PVC that gets created from this
+template. The same fields as in a PersistentVolumeClaim
+are also valid here. + |
+ true | +
metadata | +object | +
+ May contain labels and annotations that will be copied into the PVC
+when creating it. No other fields are allowed and will be rejected during
+validation. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
accessModes | +[]string | +
+ accessModes contains the desired access modes the volume should have.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + |
+ false | +
dataSource | +object | +
+ dataSource field can be used to specify either:
+* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
+* An existing PVC (PersistentVolumeClaim)
+If the provisioner or an external controller can support the specified data source,
+it will create a new volume based on the contents of the specified data source.
+When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
+and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
+If the namespace is specified, then dataSourceRef will not be copied to dataSource. + |
+ false | +
dataSourceRef | +object | +
+ dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
+volume is desired. This may be any object from a non-empty API group (non
+core object) or a PersistentVolumeClaim object.
+When this field is specified, volume binding will only succeed if the type of
+the specified object matches some installed volume populator or dynamic
+provisioner.
+This field will replace the functionality of the dataSource field and as such
+if both fields are non-empty, they must have the same value. For backwards
+compatibility, when namespace isn't specified in dataSourceRef,
+both fields (dataSource and dataSourceRef) will be set to the same
+value automatically if one of them is empty and the other is non-empty.
+When namespace is specified in dataSourceRef,
+dataSource isn't set to the same value and must be empty.
+There are three important differences between dataSource and dataSourceRef:
+* While dataSource only allows two specific types of objects, dataSourceRef
+ allows any non-core object, as well as PersistentVolumeClaim objects.
+* While dataSource ignores disallowed values (dropping them), dataSourceRef
+ preserves all values, and generates an error if a disallowed value is
+ specified.
+* While dataSource only allows local objects, dataSourceRef allows objects
+ in any namespaces.
+(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
+(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
resources | +object | +
+ resources represents the minimum resources the volume should have.
+If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
+that are lower than previous value but must still be higher than capacity recorded in the
+status field of the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + |
+ false | +
selector | +object | +
+ selector is a label query over volumes to consider for binding. + |
+ false | +
storageClassName | +string | +
+ storageClassName is the name of the StorageClass required by the claim.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + |
+ false | +
volumeAttributesClassName | +string | +
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
+If specified, the CSI driver will create or update the volume with the attributes defined
+in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
+it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
+will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
+If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+will be set by the persistentvolume controller if it exists.
+If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
+exists.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
+(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + |
+ false | +
volumeMode | +string | +
+ volumeMode defines what type of volume is required by the claim.
+Value of Filesystem is implied when not included in claim spec. + |
+ false | +
volumeName | +string | +
+ volumeName is the binding reference to the PersistentVolume backing this claim. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
kind | +string | +
+ Kind is the type of resource being referenced + |
+ true | +
name | +string | +
+ Name is the name of resource being referenced + |
+ true | +
apiGroup | +string | +
+ APIGroup is the group for the resource being referenced.
+If APIGroup is not specified, the specified Kind must be in the core API group.
+For any other third-party types, APIGroup is required. + |
+ false | +
namespace | +string | +
+ Namespace is the namespace of resource being referenced
+Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
+(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
lun | +integer | +
+ lun is Optional: FC target lun number + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
targetWWNs | +[]string | +
+ targetWWNs is Optional: FC target worldwide names (WWNs) + |
+ false | +
wwids | +[]string | +
+ wwids Optional: FC volume world wide identifiers (wwids)
+Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
driver | +string | +
+ driver is the name of the driver to use for this volume. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + |
+ false | +
options | +map[string]string | +
+ options is Optional: this field holds extra command options if any. + |
+ false | +
readOnly | +boolean | +
+ readOnly is Optional: defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef is Optional: secretRef is reference to the secret object containing
+sensitive information to pass to the plugin scripts. This may be
+empty if no secret object is specified. If the secret object
+contains more than one secret, all secrets are passed to the plugin
+scripts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
datasetName | +string | +
+ datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
+should be considered as deprecated + |
+ false | +
datasetUUID | +string | +
+ datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdName | +string | +
+ pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
partition | +integer | +
+ partition is the partition in the volume that you want to mount.
+If omitted, the default is to mount by volume name.
+Examples: For volume /dev/sda1, you specify the partition as "1".
+Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + + Format: int32 + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
repository | +string | +
+ repository is the URL + |
+ true | +
directory | +string | +
+ directory is the target directory name.
+Must not contain or start with '..'. If '.' is supplied, the volume directory will be the
+git repository. Otherwise, if specified, the volume will contain the git repository in
+the subdirectory with the given name. + |
+ false | +
revision | +string | +
+ revision is the commit hash for the specified revision. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
endpoints | +string | +
+ endpoints is the endpoint name that details Glusterfs topology.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
path | +string | +
+ path is the Glusterfs volume path.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path of the directory on the host.
+If the path is a symlink, it will follow the link to the real path.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ true | +
type | +string | +
+ type for HostPath Volume
+Defaults to ""
+More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
iqn | +string | +
+ iqn is the target iSCSI Qualified Name. + |
+ true | +
lun | +integer | +
+ lun represents iSCSI Target Lun number. + + Format: int32 + |
+ true | +
targetPortal | +string | +
+ targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ true | +
chapAuthDiscovery | +boolean | +
+ chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + |
+ false | +
chapAuthSession | +boolean | +
+ chapAuthSession defines whether support iSCSI Session CHAP authentication + |
+ false | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
initiatorName | +string | +
+ initiatorName is the custom iSCSI Initiator Name.
+If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
+ + |
+ false | +
iscsiInterface | +string | +
+ iscsiInterface is the interface Name that uses an iSCSI transport.
+Defaults to 'default' (tcp). + |
+ false | +
portals | +[]string | +
+ portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
+is other than default (typically TCP ports 860 and 3260). + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false. + |
+ false | +
secretRef | +object | +
+ secretRef is the CHAP Secret for iSCSI target and initiator authentication + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path that is exported by the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
server | +string | +
+ server is the hostname or IP address of the NFS server.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ true | +
readOnly | +boolean | +
+ readOnly here will force the NFS export to be mounted with read-only permissions.
+Defaults to false.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claimName | +string | +
+ claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
+More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + |
+ true | +
readOnly | +boolean | +
+ readOnly Will force the ReadOnly setting in VolumeMounts.
+Default false. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
pdID | +string | +
+ pdID is the ID that identifies Photon Controller persistent disk + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumeID | +string | +
+ volumeID uniquely identifies a Portworx volume + |
+ true | +
fsType | +string | +
+ fSType represents the filesystem type to mount
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode are the mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
sources | +[]object | +
+ sources is the list of volume projections + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
clusterTrustBundle | +object | +
+ ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field
+of ClusterTrustBundle objects in an auto-updating file.
+
+
+Alpha, gated by the ClusterTrustBundleProjection feature gate.
+
+
+ClusterTrustBundle objects can either be selected by name, or by the
+combination of signer name and a label selector.
+
+
+Kubelet performs aggressive normalization of the PEM contents written
+into the pod filesystem. Esoteric PEM features such as inter-block
+comments and block headers are stripped. Certificates are deduplicated.
+The ordering of certificates within the file is arbitrary, and Kubelet
+may change the order over time. + |
+ false | +
configMap | +object | +
+ configMap information about the configMap data to project + |
+ false | +
downwardAPI | +object | +
+ downwardAPI information about the downwardAPI data to project + |
+ false | +
secret | +object | +
+ secret information about the secret data to project + |
+ false | +
serviceAccountToken | +object | +
+ serviceAccountToken is information about the serviceAccountToken data to project + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Relative path from the volume root to write the bundle. + |
+ true | +
labelSelector | +object | +
+ Select all ClusterTrustBundles that match this label selector. Only has
+effect if signerName is set. Mutually-exclusive with name. If unset,
+interpreted as "match nothing". If set but empty, interpreted as "match
+everything". + |
+ false | +
name | +string | +
+ Select a single ClusterTrustBundle by object name. Mutually-exclusive
+with signerName and labelSelector. + |
+ false | +
optional | +boolean | +
+ If true, don't block pod startup if the referenced ClusterTrustBundle(s)
+aren't available. If using name, then the named ClusterTrustBundle is
+allowed not to exist. If using signerName, then the combination of
+signerName and labelSelector is allowed to match zero
+ClusterTrustBundles. + |
+ false | +
signerName | +string | +
+ Select all ClusterTrustBundles that match this signer name.
+Mutually-exclusive with name. The contents of all selected
+ClusterTrustBundles will be unified and deduplicated. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+ConfigMap will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the ConfigMap,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional specify whether the ConfigMap or its keys must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ Items is a list of DownwardAPIVolume file + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + |
+ true | +
fieldRef | +object | +
+ Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + |
+ false | +
mode | +integer | +
+ Optional: mode bits used to set permissions on this file, must be an octal value
+between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
items | +[]object | +
+ items if unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
path | +string | +
+ path is the path relative to the mount point of the file to project the
+token into. + |
+ true | +
audience | +string | +
+ audience is the intended audience of the token. A recipient of a token
+must identify itself with an identifier specified in the audience of the
+token, and otherwise should reject the token. The audience defaults to the
+identifier of the apiserver. + |
+ false | +
expirationSeconds | +integer | +
+ expirationSeconds is the requested duration of validity of the service
+account token. As the token approaches expiration, the kubelet volume
+plugin will proactively rotate the service account token. The kubelet will
+start trying to rotate the token if the token is older than 80 percent of
+its time to live or if the token is older than 24 hours.Defaults to 1 hour
+and must be at least 10 minutes. + + Format: int64 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
registry | +string | +
+ registry represents a single or multiple Quobyte Registry services
+specified as a string as host:port pair (multiple entries are separated with commas)
+which acts as the central registry for volumes + |
+ true | +
volume | +string | +
+ volume is a string that references an already created Quobyte volume by name. + |
+ true | +
group | +string | +
+ group to map volume access to
+Default is no group + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the Quobyte volume to be mounted with read-only permissions.
+Defaults to false. + |
+ false | +
tenant | +string | +
+ tenant owning the given Quobyte volume in the Backend
+Used with dynamically provisioned Quobyte volumes, value is set by the plugin + |
+ false | +
user | +string | +
+ user to map volume access to
+Defaults to serivceaccount user + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
image | +string | +
+ image is the rados image name.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
monitors | +[]string | +
+ monitors is a collection of Ceph monitors.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type of the volume that you want to mount.
+Tip: Ensure that the filesystem type is supported by the host operating system.
+Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
+TODO: how do we prevent errors in the filesystem from compromising the machine + |
+ false | +
keyring | +string | +
+ keyring is the path to key ring for RBDUser.
+Default is /etc/ceph/keyring.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
pool | +string | +
+ pool is the rados pool name.
+Default is rbd.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
readOnly | +boolean | +
+ readOnly here will force the ReadOnly setting in VolumeMounts.
+Defaults to false.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
secretRef | +object | +
+ secretRef is name of the authentication secret for RBDUser. If provided
+overrides keyring.
+Default is nil.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
user | +string | +
+ user is the rados user name.
+Default is admin.
+More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gateway | +string | +
+ gateway is the host address of the ScaleIO API Gateway. + |
+ true | +
secretRef | +object | +
+ secretRef references to the secret for ScaleIO user and other
+sensitive information. If this is not provided, Login operation will fail. + |
+ true | +
system | +string | +
+ system is the name of the storage system as configured in ScaleIO. + |
+ true | +
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs".
+Default is "xfs". + |
+ false | +
protectionDomain | +string | +
+ protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + |
+ false | +
readOnly | +boolean | +
+ readOnly Defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
sslEnabled | +boolean | +
+ sslEnabled Flag enable/disable SSL communication with Gateway, default false + |
+ false | +
storageMode | +string | +
+ storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
+Default is ThinProvisioned. + |
+ false | +
storagePool | +string | +
+ storagePool is the ScaleIO Storage Pool associated with the protection domain. + |
+ false | +
volumeName | +string | +
+ volumeName is the name of a volume already created in the ScaleIO system
+that is associated with this volume source. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
defaultMode | +integer | +
+ defaultMode is Optional: mode bits used to set permissions on created files by default.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values
+for mode bits. Defaults to 0644.
+Directories within the path are not affected by this setting.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
items | +[]object | +
+ items If unspecified, each key-value pair in the Data field of the referenced
+Secret will be projected into the volume as a file whose name is the
+key and content is the value. If specified, the listed keys will be
+projected into the specified paths, and unlisted keys will not be
+present. If a key is specified which is not present in the Secret,
+the volume setup will error unless it is marked optional. Paths must be
+relative and may not contain the '..' path or start with '..'. + |
+ false | +
optional | +boolean | +
+ optional field specify whether the Secret or its keys must be defined + |
+ false | +
secretName | +string | +
+ secretName is the name of the secret in the pod's namespace to use.
+More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the key to project. + |
+ true | +
path | +string | +
+ path is the relative path of the file to map the key to.
+May not be an absolute path.
+May not contain the path element '..'.
+May not start with the string '..'. + |
+ true | +
mode | +integer | +
+ mode is Optional: mode bits used to set permissions on this file.
+Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
+YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
+If not specified, the volume defaultMode will be used.
+This might be in conflict with other options that affect the file
+mode, like fsGroup, and the result can be other mode bits set. + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsType | +string | +
+ fsType is the filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
readOnly | +boolean | +
+ readOnly defaults to false (read/write). ReadOnly here will force
+the ReadOnly setting in VolumeMounts. + |
+ false | +
secretRef | +object | +
+ secretRef specifies the secret to use for obtaining the StorageOS API
+credentials. If not specified, default values will be attempted. + |
+ false | +
volumeName | +string | +
+ volumeName is the human-readable name of the StorageOS volume. Volume
+names are only unique within a namespace. + |
+ false | +
volumeNamespace | +string | +
+ volumeNamespace specifies the scope of the volume within StorageOS. If no
+namespace is specified then the Pod's namespace will be used. This allows the
+Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
+Set VolumeName to any name to override the default behaviour.
+Set to "default" if you are not using namespaces within StorageOS.
+Namespaces that do not pre-exist within StorageOS will be created. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
volumePath | +string | +
+ volumePath is the path that identifies vSphere volume vmdk + |
+ true | +
fsType | +string | +
+ fsType is filesystem type to mount.
+Must be a filesystem type supported by the host operating system.
+Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + |
+ false | +
storagePolicyID | +string | +
+ storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + |
+ false | +
storagePolicyName | +string | +
+ storagePolicyName is the storage Policy Based Management (SPBM) profile name. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapRef | +object | +
+ ConfigMapRef contains the reference to the configmap name and key containing the image value + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key to select. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
allowedAPIRequestTypes | +[]string | +
+ AllowedAPIRequestTypes is a list of API request types that are allowed by the node pool. Current options are:
+OperatorInternal. Defaults to [OperatorInternal]. To disallow all API request types, set this to []. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsGroup | +integer | +
+ A special supplemental group that applies to all containers in a pod.
+Some volume types allow the Kubelet to change the ownership of that volume
+to be owned by the pod:
+
+
+1. The owning GID will be the FSGroup
+2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
+3. The permission bits are OR'd with rw-rw----
+
+
+If unset, the Kubelet will not modify the ownership and permissions of any volume.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
fsGroupChangePolicy | +string | +
+ fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
+before being exposed inside Pod. This field will only apply to
+volume types which support fsGroup based ownership(and permissions).
+It will have no effect on ephemeral volume types such as: secret, configmaps
+and emptydir.
+Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
runAsGroup | +integer | +
+ The GID to run the entrypoint of the container process.
+Uses runtime default if unset.
+May also be set in SecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence
+for that container.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
runAsNonRoot | +boolean | +
+ Indicates that the container must run as a non-root user.
+If true, the Kubelet will validate the image at runtime to ensure that it
+does not run as UID 0 (root) and fail to start the container if it does.
+If unset or false, no such validation will be performed.
+May also be set in SecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
runAsUser | +integer | +
+ The UID to run the entrypoint of the container process.
+Defaults to user specified in image metadata if unspecified.
+May also be set in SecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence
+for that container.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
seLinuxOptions | +object | +
+ The SELinux context to be applied to all containers.
+If unspecified, the container runtime will allocate a random SELinux context for each
+container. May also be set in SecurityContext. If set in
+both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+takes precedence for that container.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
seccompProfile | +object | +
+ The seccomp options to use by the containers in this pod.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
supplementalGroups | +[]integer | +
+ A list of groups applied to the first process run in each container, in addition
+to the container's primary GID, the fsGroup (if specified), and group memberships
+defined in the container image for the uid of the container process. If unspecified,
+no additional groups are added to any container. Note that group memberships
+defined in the container image for the uid of the container process are still effective,
+even if they are not included in this list.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
sysctls | +[]object | +
+ Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
+sysctls (by the container runtime) might fail to launch.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
windowsOptions | +object | +
+ The Windows specific settings applied to all containers.
+If unspecified, the options within a container's SecurityContext will be used.
+If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is linux. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
level | +string | +
+ Level is SELinux level label that applies to the container. + |
+ false | +
role | +string | +
+ Role is a SELinux role label that applies to the container. + |
+ false | +
type | +string | +
+ Type is a SELinux type label that applies to the container. + |
+ false | +
user | +string | +
+ User is a SELinux user label that applies to the container. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
type | +string | +
+ type indicates which kind of seccomp profile will be applied.
+Valid options are:
+
+
+Localhost - a profile defined in a file on the node should be used.
+RuntimeDefault - the container runtime default profile should be used.
+Unconfined - no profile should be applied. + |
+ true | +
localhostProfile | +string | +
+ localhostProfile indicates a profile defined in a file on the node should be used.
+The profile must be preconfigured on the node to work.
+Must be a descending path, relative to the kubelet's configured seccomp profile location.
+Must be set if type is "Localhost". Must NOT be set for any other type. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of a property to set + |
+ true | +
value | +string | +
+ Value of a property to set + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gmsaCredentialSpec | +string | +
+ GMSACredentialSpec is where the GMSA admission webhook
+(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
+GMSA credential spec named by the GMSACredentialSpecName field. + |
+ false | +
gmsaCredentialSpecName | +string | +
+ GMSACredentialSpecName is the name of the GMSA credential spec to use. + |
+ false | +
hostProcess | +boolean | +
+ HostProcess determines if a container should be run as a 'Host Process' container.
+All of a Pod's containers must have the same effective HostProcess value
+(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
+In addition, if HostProcess is true then HostNetwork must also be set to true. + |
+ false | +
runAsUserName | +string | +
+ The UserName in Windows to run the entrypoint of the container process.
+Defaults to the user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claims | +[]object | +
+ Claims lists the names of resources, defined in spec.resourceClaims,
+that are used by this container.
+
+
+This is an alpha field and requires enabling the
+DynamicResourceAllocation feature gate.
+
+
+This field is immutable. It can only be set for containers. + |
+ false | +
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name must match the name of one entry in pod.spec.resourceClaims of
+the Pod where this field is used. It makes that resource available
+inside a container. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the container specified as a DNS_LABEL.
+Each container in a pod must have a unique name (DNS_LABEL).
+Cannot be updated. + |
+ true | +
args | +[]string | +
+ Arguments to the entrypoint.
+The container image's CMD is used if this is not provided.
+Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
+cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
+produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
+of whether the variable exists or not. Cannot be updated.
+More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + |
+ false | +
command | +[]string | +
+ Entrypoint array. Not executed within a shell.
+The container image's ENTRYPOINT is used if this is not provided.
+Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
+cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
+produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
+of whether the variable exists or not. Cannot be updated.
+More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + |
+ false | +
env | +[]object | +
+ List of environment variables to set in the container.
+Cannot be updated. + |
+ false | +
envFrom | +[]object | +
+ List of sources to populate environment variables in the container.
+The keys defined within a source must be a C_IDENTIFIER. All invalid keys
+will be reported as an event when the container is starting. When a key exists in multiple
+sources, the value associated with the last source will take precedence.
+Values defined by an Env with a duplicate key will take precedence.
+Cannot be updated. + |
+ false | +
image | +string | +
+ Container image name.
+More info: https://kubernetes.io/docs/concepts/containers/images
+This field is optional to allow higher level config management to default or override
+container images in workload controllers like Deployments and StatefulSets. + |
+ false | +
imagePullPolicy | +string | +
+ Image pull policy.
+One of Always, Never, IfNotPresent.
+Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + |
+ false | +
lifecycle | +object | +
+ Actions that the management system should take in response to container lifecycle events.
+Cannot be updated. + |
+ false | +
livenessProbe | +object | +
+ Periodic probe of container liveness.
+Container will be restarted if the probe fails.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + |
+ false | +
ports | +[]object | +
+ List of ports to expose from the container. Not specifying a port here
+DOES NOT prevent that port from being exposed. Any port which is
+listening on the default "0.0.0.0" address inside a container will be
+accessible from the network.
+Modifying this array with strategic merge patch may corrupt the data.
+For more information See https://github.com/kubernetes/kubernetes/issues/108255.
+Cannot be updated. + |
+ false | +
readinessProbe | +object | +
+ Periodic probe of container service readiness.
+Container will be removed from service endpoints if the probe fails.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + |
+ false | +
resizePolicy | +[]object | +
+ Resources resize policy for the container. + |
+ false | +
resources | +object | +
+ Compute Resources required by this container.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
restartPolicy | +string | +
+ RestartPolicy defines the restart behavior of individual containers in a pod.
+This field may only be set for init containers, and the only allowed value is "Always".
+For non-init containers or when this field is not specified,
+the restart behavior is defined by the Pod's restart policy and the container type.
+Setting the RestartPolicy as "Always" for the init container will have the following effect:
+this init container will be continually restarted on
+exit until all regular containers have terminated. Once all regular
+containers have completed, all init containers with restartPolicy "Always"
+will be shut down. This lifecycle differs from normal init containers and
+is often referred to as a "sidecar" container. Although this init
+container still starts in the init container sequence, it does not wait
+for the container to complete before proceeding to the next init
+container. Instead, the next init container starts immediately after this
+init container is started, or after any startupProbe has successfully
+completed. + |
+ false | +
securityContext | +object | +
+ SecurityContext defines the security options the container should be run with.
+If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
+More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + |
+ false | +
startupProbe | +object | +
+ StartupProbe indicates that the Pod has successfully initialized.
+If specified, no other probes are executed until this completes successfully.
+If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
+This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
+when it might take a long time to load data or warm a cache, than during steady-state operation.
+This cannot be updated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + |
+ false | +
stdin | +boolean | +
+ Whether this container should allocate a buffer for stdin in the container runtime. If this
+is not set, reads from stdin in the container will always result in EOF.
+Default is false. + |
+ false | +
stdinOnce | +boolean | +
+ Whether the container runtime should close the stdin channel after it has been opened by
+a single attach. When stdin is true the stdin stream will remain open across multiple attach
+sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the
+first client attaches to stdin, and then remains open and accepts data until the client disconnects,
+at which time stdin is closed and remains closed until the container is restarted. If this
+flag is false, a container processes that reads from stdin will never receive an EOF.
+Default is false + |
+ false | +
terminationMessagePath | +string | +
+ Optional: Path at which the file to which the container's termination message
+will be written is mounted into the container's filesystem.
+Message written is intended to be brief final status, such as an assertion failure message.
+Will be truncated by the node if greater than 4096 bytes. The total message length across
+all containers will be limited to 12kb.
+Defaults to /dev/termination-log.
+Cannot be updated. + |
+ false | +
terminationMessagePolicy | +string | +
+ Indicate how the termination message should be populated. File will use the contents of
+terminationMessagePath to populate the container status message on both success and failure.
+FallbackToLogsOnError will use the last chunk of container log output if the termination
+message file is empty and the container exited with an error.
+The log output is limited to 2048 bytes or 80 lines, whichever is smaller.
+Defaults to File.
+Cannot be updated. + |
+ false | +
tty | +boolean | +
+ Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.
+Default is false. + |
+ false | +
volumeDevices | +[]object | +
+ volumeDevices is the list of block devices to be used by the container. + |
+ false | +
volumeMounts | +[]object | +
+ Pod volumes to mount into the container's filesystem.
+Cannot be updated. + |
+ false | +
workingDir | +string | +
+ Container's working directory.
+If not specified, the container runtime's default will be used, which
+might be configured in the container image.
+Cannot be updated. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the environment variable. Must be a C_IDENTIFIER. + |
+ true | +
value | +string | +
+ Variable references $(VAR_NAME) are expanded
+using the previously defined environment variables in the container and
+any service environment variables. If a variable cannot be resolved,
+the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
+"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
+Escaped references will never be expanded, regardless of whether the variable
+exists or not.
+Defaults to "". + |
+ false | +
valueFrom | +object | +
+ Source for the environment variable's value. Cannot be used if value is not empty. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapKeyRef | +object | +
+ Selects a key of a ConfigMap. + |
+ false | +
fieldRef | +object | +
+ Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels[' + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + |
+ false | +
secretKeyRef | +object | +
+ Selects a key of a secret in the pod's namespace + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key to select. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapRef | +object | +
+ The ConfigMap to select from + |
+ false | +
prefix | +string | +
+ An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + |
+ false | +
secretRef | +object | +
+ The Secret to select from + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
postStart | +object | +
+ PostStart is called immediately after a container is created. If the handler fails,
+the container is terminated and restarted according to its restart policy.
+Other management of the container blocks until the hook completes.
+More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + |
+ false | +
preStop | +object | +
+ PreStop is called immediately before a container is terminated due to an
+API request or management event such as liveness/startup probe failure,
+preemption, resource contention, etc. The handler is not called if the
+container crashes or exits. The Pod's termination grace period countdown begins before the
+PreStop hook is executed. Regardless of the outcome of the handler, the
+container will eventually terminate within the Pod's termination grace
+period (unless delayed by finalizers). Other management of the container blocks until the hook completes
+or until the termination grace period is reached.
+More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
sleep | +object | +
+ Sleep represents the duration that the container should sleep before being terminated. + |
+ false | +
tcpSocket | +object | +
+ Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
+for the backward compatibility. There are no validation of this field and
+lifecycle hooks will fail in runtime when tcp handler is specified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
seconds | +integer | +
+ Seconds is the number of seconds to sleep. + + Format: int64 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
sleep | +object | +
+ Sleep represents the duration that the container should sleep before being terminated. + |
+ false | +
tcpSocket | +object | +
+ Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
+for the backward compatibility. There are no validation of this field and
+lifecycle hooks will fail in runtime when tcp handler is specified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
seconds | +integer | +
+ Seconds is the number of seconds to sleep. + + Format: int64 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
containerPort | +integer | +
+ Number of port to expose on the pod's IP address.
+This must be a valid port number, 0 < x < 65536. + + Format: int32 + |
+ true | +
hostIP | +string | +
+ What host IP to bind the external port to. + |
+ false | +
hostPort | +integer | +
+ Number of port to expose on the host.
+If specified, this must be a valid port number, 0 < x < 65536.
+If HostNetwork is specified, this must match ContainerPort.
+Most containers do not need this. + + Format: int32 + |
+ false | +
name | +string | +
+ If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
+named port in a pod must have a unique name. Name for the port that can be
+referred to by services. + |
+ false | +
protocol | +string | +
+ Protocol for port. Must be UDP, TCP, or SCTP.
+Defaults to "TCP". + + Default: TCP + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resourceName | +string | +
+ Name of the resource to which this resource resize policy applies.
+Supported values: cpu, memory. + |
+ true | +
restartPolicy | +string | +
+ Restart policy to apply when specified resource is resized.
+If not specified, it defaults to NotRequired. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claims | +[]object | +
+ Claims lists the names of resources, defined in spec.resourceClaims,
+that are used by this container.
+
+
+This is an alpha field and requires enabling the
+DynamicResourceAllocation feature gate.
+
+
+This field is immutable. It can only be set for containers. + |
+ false | +
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name must match the name of one entry in pod.spec.resourceClaims of
+the Pod where this field is used. It makes that resource available
+inside a container. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
allowPrivilegeEscalation | +boolean | +
+ AllowPrivilegeEscalation controls whether a process can gain more
+privileges than its parent process. This bool directly controls if
+the no_new_privs flag will be set on the container process.
+AllowPrivilegeEscalation is true always when the container is:
+1) run as Privileged
+2) has CAP_SYS_ADMIN
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
capabilities | +object | +
+ The capabilities to add/drop when running containers.
+Defaults to the default set of capabilities granted by the container runtime.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
privileged | +boolean | +
+ Run container in privileged mode.
+Processes in privileged containers are essentially equivalent to root on the host.
+Defaults to false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
procMount | +string | +
+ procMount denotes the type of proc mount to use for the containers.
+The default is DefaultProcMount which uses the container runtime defaults for
+readonly paths and masked paths.
+This requires the ProcMountType feature flag to be enabled.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
readOnlyRootFilesystem | +boolean | +
+ Whether this container has a read-only root filesystem.
+Default is false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
runAsGroup | +integer | +
+ The GID to run the entrypoint of the container process.
+Uses runtime default if unset.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
runAsNonRoot | +boolean | +
+ Indicates that the container must run as a non-root user.
+If true, the Kubelet will validate the image at runtime to ensure that it
+does not run as UID 0 (root) and fail to start the container if it does.
+If unset or false, no such validation will be performed.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
runAsUser | +integer | +
+ The UID to run the entrypoint of the container process.
+Defaults to user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
seLinuxOptions | +object | +
+ The SELinux context to be applied to the container.
+If unspecified, the container runtime will allocate a random SELinux context for each
+container. May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
seccompProfile | +object | +
+ The seccomp options to use by this container. If seccomp options are
+provided at both the pod & container level, the container options
+override the pod options.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
windowsOptions | +object | +
+ The Windows specific settings applied to all containers.
+If unspecified, the options from the PodSecurityContext will be used.
+If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is linux. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
add | +[]string | +
+ Added capabilities + |
+ false | +
drop | +[]string | +
+ Removed capabilities + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
level | +string | +
+ Level is SELinux level label that applies to the container. + |
+ false | +
role | +string | +
+ Role is a SELinux role label that applies to the container. + |
+ false | +
type | +string | +
+ Type is a SELinux type label that applies to the container. + |
+ false | +
user | +string | +
+ User is a SELinux user label that applies to the container. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
type | +string | +
+ type indicates which kind of seccomp profile will be applied.
+Valid options are:
+
+
+Localhost - a profile defined in a file on the node should be used.
+RuntimeDefault - the container runtime default profile should be used.
+Unconfined - no profile should be applied. + |
+ true | +
localhostProfile | +string | +
+ localhostProfile indicates a profile defined in a file on the node should be used.
+The profile must be preconfigured on the node to work.
+Must be a descending path, relative to the kubelet's configured seccomp profile location.
+Must be set if type is "Localhost". Must NOT be set for any other type. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gmsaCredentialSpec | +string | +
+ GMSACredentialSpec is where the GMSA admission webhook
+(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
+GMSA credential spec named by the GMSACredentialSpecName field. + |
+ false | +
gmsaCredentialSpecName | +string | +
+ GMSACredentialSpecName is the name of the GMSA credential spec to use. + |
+ false | +
hostProcess | +boolean | +
+ HostProcess determines if a container should be run as a 'Host Process' container.
+All of a Pod's containers must have the same effective HostProcess value
+(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
+In addition, if HostProcess is true then HostNetwork must also be set to true. + |
+ false | +
runAsUserName | +string | +
+ The UserName in Windows to run the entrypoint of the container process.
+Defaults to the user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
devicePath | +string | +
+ devicePath is the path inside of the container that the device will be mapped to. + |
+ true | +
name | +string | +
+ name must match the name of a persistentVolumeClaim in the pod + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
mountPath | +string | +
+ Path within the container at which the volume should be mounted. Must
+not contain ':'. + |
+ true | +
name | +string | +
+ This must match the Name of a Volume. + |
+ true | +
mountPropagation | +string | +
+ mountPropagation determines how mounts are propagated from the host
+to container and the other way around.
+When not set, MountPropagationNone is used.
+This field is beta in 1.10. + |
+ false | +
readOnly | +boolean | +
+ Mounted read-only if true, read-write otherwise (false or unspecified).
+Defaults to false. + |
+ false | +
subPath | +string | +
+ Path within the volume from which the container's volume should be mounted.
+Defaults to "" (volume's root). + |
+ false | +
subPathExpr | +string | +
+ Expanded path within the volume from which the container's volume should be mounted.
+Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
+Defaults to "" (volume's root).
+SubPathExpr and SubPath are mutually exclusive. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
effect | +string | +
+ Effect indicates the taint effect to match. Empty means match all taint effects.
+When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + |
+ false | +
key | +string | +
+ Key is the taint key that the toleration applies to. Empty means match all taint keys.
+If the key is empty, operator must be Exists; this combination means to match all values and all keys. + |
+ false | +
operator | +string | +
+ Operator represents a key's relationship to the value.
+Valid operators are Exists and Equal. Defaults to Equal.
+Exists is equivalent to wildcard for value, so that a pod can
+tolerate all taints of a particular category. + |
+ false | +
tolerationSeconds | +integer | +
+ TolerationSeconds represents the period of time the toleration (which must be
+of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
+it is not set, which means tolerate the taint forever (do not evict). Zero and
+negative values will be treated as 0 (evict immediately) by the system. + + Format: int64 + |
+ false | +
value | +string | +
+ Value is the taint value the toleration matches to.
+If the operator is Exists, the value should be empty, otherwise just a regular string. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
maxSkew | +integer | +
+ MaxSkew describes the degree to which pods may be unevenly distributed.
+When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
+between the number of matching pods in the target topology and the global minimum.
+The global minimum is the minimum number of matching pods in an eligible domain
+or zero if the number of eligible domains is less than MinDomains.
+For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
+labelSelector spread as 2/2/1:
+In this case, the global minimum is 1.
+| zone1 | zone2 | zone3 |
+| P P | P P | P |
+- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
+scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
+violate MaxSkew(1).
+- if MaxSkew is 2, incoming pod can be scheduled onto any zone.
+When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
+to topologies that satisfy it.
+It's a required field. Default value is 1 and 0 is not allowed. + + Format: int32 + |
+ true | +
topologyKey | +string | +
+ TopologyKey is the key of node labels. Nodes that have a label with this key
+and identical values are considered to be in the same topology.
+We consider each + |
+ true | +
whenUnsatisfiable | +string | +
+ WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
+the spread constraint.
+- DoNotSchedule (default) tells the scheduler not to schedule it.
+- ScheduleAnyway tells the scheduler to schedule the pod in any location,
+ but giving higher precedence to topologies that would help reduce the
+ skew.
+A constraint is considered "Unsatisfiable" for an incoming pod
+if and only if every possible node assignment for that pod would violate
+"MaxSkew" on some topology.
+For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
+labelSelector spread as 3/1/1:
+| zone1 | zone2 | zone3 |
+| P P P | P | P |
+If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
+to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
+MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
+won't make it *more* imbalanced.
+It's a required field. + |
+ true | +
labelSelector | +object | +
+ LabelSelector is used to find matching pods.
+Pods that match this label selector are counted to determine the number of pods
+in their corresponding topology domain. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select the pods over which
+spreading will be calculated. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are ANDed with labelSelector
+to select the group of existing pods over which spreading will be calculated
+for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+MatchLabelKeys cannot be set when LabelSelector isn't set.
+Keys that don't exist in the incoming pod labels will
+be ignored. A null or empty list means only match against labelSelector.
+
+
+This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). + |
+ false | +
minDomains | +integer | +
+ MinDomains indicates a minimum number of eligible domains.
+When the number of eligible domains with matching topology keys is less than minDomains,
+Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
+And when the number of eligible domains with matching topology keys equals or greater than minDomains,
+this value has no effect on scheduling.
+As a result, when the number of eligible domains is less than minDomains,
+scheduler won't schedule more than maxSkew Pods to those domains.
+If value is nil, the constraint behaves as if MinDomains is equal to 1.
+Valid values are integers greater than 0.
+When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
+
+
+For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
+labelSelector spread as 2/2/2:
+| zone1 | zone2 | zone3 |
+| P P | P P | P P |
+The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
+In this situation, new pod with the same labelSelector cannot be scheduled,
+because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
+it will violate MaxSkew.
+
+
+This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). + + Format: int32 + |
+ false | +
nodeAffinityPolicy | +string | +
+ NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
+when calculating pod topology spread skew. Options are:
+- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
+- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
+
+
+If this value is nil, the behavior is equivalent to the Honor policy.
+This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + |
+ false | +
nodeTaintsPolicy | +string | +
+ NodeTaintsPolicy indicates how we will treat node taints when calculating
+pod topology spread skew. Options are:
+- Honor: nodes without taints, along with tainted nodes for which the incoming pod
+has a toleration, are included.
+- Ignore: node taints are ignored. All nodes are included.
+
+
+If this value is nil, the behavior is equivalent to the Ignore policy.
+This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
enableZoneAwareness | +boolean | +
+ EnableZoneAwareness toggles zone awareness on or off during updates. When enabled, the pod replacement logic
+will go through all pods in a specific zone before it starts replacing pods in the next zone.
+If pods are failing, they bypass the zone limitation and are restarted immediately - ignoring the zone.
+Zone awareness is enabled by default. + |
+ false | +
maxUnavailable | +int or string | +
+ MaxUnavailable is the maximum number of pods that can be unavailable during a rolling update.
+This can be configured to an absolute number or a percentage, e.g. "maxUnavailable: 5" or "maxUnavailable: 25%".
+By default, the max unavailable pods is 1. + |
+ false | +
minReadySeconds | +integer | +
+ MinReadySeconds is the minimum time in seconds that a pod must be ready before the next pod can be deleted when doing rolling update. + + Format: int32 + |
+ false | +
type | +enum | +
+ Type controls how Humio pods are updated when changes are made to the HumioCluster resource that results
+in a change to the Humio pods. The available values are: OnDelete, RollingUpdate, ReplaceAllOnUpdate, and
+RollingUpdateBestEffort.
+/
+When set to OnDelete, no Humio pods will be terminated but new pods will be created with the new spec. Replacing
+existing pods will require each pod to be deleted by the user.
+
+
+When set to RollingUpdate, pods will always be replaced one pod at a time. There may be some Humio updates where
+rolling updates are not supported, so it is not recommended to have this set all the time.
+
+
+When set to ReplaceAllOnUpdate, all Humio pods will be replaced at the same time during an update.
+This is the default behavior.
+
+
+When set to RollingUpdateBestEffort, the operator will evaluate the Humio version change and determine if the
+Humio pods can be updated in a rolling fashion or if they must be replaced at the same time. + + Enum: OnDelete, RollingUpdate, ReplaceAllOnUpdate, RollingUpdateBestEffort + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fsGroup | +integer | +
+ A special supplemental group that applies to all containers in a pod.
+Some volume types allow the Kubelet to change the ownership of that volume
+to be owned by the pod:
+
+
+1. The owning GID will be the FSGroup
+2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
+3. The permission bits are OR'd with rw-rw----
+
+
+If unset, the Kubelet will not modify the ownership and permissions of any volume.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
fsGroupChangePolicy | +string | +
+ fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
+before being exposed inside Pod. This field will only apply to
+volume types which support fsGroup based ownership(and permissions).
+It will have no effect on ephemeral volume types such as: secret, configmaps
+and emptydir.
+Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
runAsGroup | +integer | +
+ The GID to run the entrypoint of the container process.
+Uses runtime default if unset.
+May also be set in SecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence
+for that container.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
runAsNonRoot | +boolean | +
+ Indicates that the container must run as a non-root user.
+If true, the Kubelet will validate the image at runtime to ensure that it
+does not run as UID 0 (root) and fail to start the container if it does.
+If unset or false, no such validation will be performed.
+May also be set in SecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
runAsUser | +integer | +
+ The UID to run the entrypoint of the container process.
+Defaults to user specified in image metadata if unspecified.
+May also be set in SecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence
+for that container.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
seLinuxOptions | +object | +
+ The SELinux context to be applied to all containers.
+If unspecified, the container runtime will allocate a random SELinux context for each
+container. May also be set in SecurityContext. If set in
+both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+takes precedence for that container.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
seccompProfile | +object | +
+ The seccomp options to use by the containers in this pod.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
supplementalGroups | +[]integer | +
+ A list of groups applied to the first process run in each container, in addition
+to the container's primary GID, the fsGroup (if specified), and group memberships
+defined in the container image for the uid of the container process. If unspecified,
+no additional groups are added to any container. Note that group memberships
+defined in the container image for the uid of the container process are still effective,
+even if they are not included in this list.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
sysctls | +[]object | +
+ Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
+sysctls (by the container runtime) might fail to launch.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
windowsOptions | +object | +
+ The Windows specific settings applied to all containers.
+If unspecified, the options within a container's SecurityContext will be used.
+If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is linux. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
level | +string | +
+ Level is SELinux level label that applies to the container. + |
+ false | +
role | +string | +
+ Role is a SELinux role label that applies to the container. + |
+ false | +
type | +string | +
+ Type is a SELinux type label that applies to the container. + |
+ false | +
user | +string | +
+ User is a SELinux user label that applies to the container. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
type | +string | +
+ type indicates which kind of seccomp profile will be applied.
+Valid options are:
+
+
+Localhost - a profile defined in a file on the node should be used.
+RuntimeDefault - the container runtime default profile should be used.
+Unconfined - no profile should be applied. + |
+ true | +
localhostProfile | +string | +
+ localhostProfile indicates a profile defined in a file on the node should be used.
+The profile must be preconfigured on the node to work.
+Must be a descending path, relative to the kubelet's configured seccomp profile location.
+Must be set if type is "Localhost". Must NOT be set for any other type. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of a property to set + |
+ true | +
value | +string | +
+ Value of a property to set + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gmsaCredentialSpec | +string | +
+ GMSACredentialSpec is where the GMSA admission webhook
+(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
+GMSA credential spec named by the GMSACredentialSpecName field. + |
+ false | +
gmsaCredentialSpecName | +string | +
+ GMSACredentialSpecName is the name of the GMSA credential spec to use. + |
+ false | +
hostProcess | +boolean | +
+ HostProcess determines if a container should be run as a 'Host Process' container.
+All of a Pod's containers must have the same effective HostProcess value
+(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
+In addition, if HostProcess is true then HostNetwork must also be set to true. + |
+ false | +
runAsUserName | +string | +
+ The UserName in Windows to run the entrypoint of the container process.
+Defaults to the user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claims | +[]object | +
+ Claims lists the names of resources, defined in spec.resourceClaims,
+that are used by this container.
+
+
+This is an alpha field and requires enabling the
+DynamicResourceAllocation feature gate.
+
+
+This field is immutable. It can only be set for containers. + |
+ false | +
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name must match the name of one entry in pod.spec.resourceClaims of
+the Pod where this field is used. It makes that resource available
+inside a container. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the container specified as a DNS_LABEL.
+Each container in a pod must have a unique name (DNS_LABEL).
+Cannot be updated. + |
+ true | +
args | +[]string | +
+ Arguments to the entrypoint.
+The container image's CMD is used if this is not provided.
+Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
+cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
+produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
+of whether the variable exists or not. Cannot be updated.
+More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + |
+ false | +
command | +[]string | +
+ Entrypoint array. Not executed within a shell.
+The container image's ENTRYPOINT is used if this is not provided.
+Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
+cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
+produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
+of whether the variable exists or not. Cannot be updated.
+More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + |
+ false | +
env | +[]object | +
+ List of environment variables to set in the container.
+Cannot be updated. + |
+ false | +
envFrom | +[]object | +
+ List of sources to populate environment variables in the container.
+The keys defined within a source must be a C_IDENTIFIER. All invalid keys
+will be reported as an event when the container is starting. When a key exists in multiple
+sources, the value associated with the last source will take precedence.
+Values defined by an Env with a duplicate key will take precedence.
+Cannot be updated. + |
+ false | +
image | +string | +
+ Container image name.
+More info: https://kubernetes.io/docs/concepts/containers/images
+This field is optional to allow higher level config management to default or override
+container images in workload controllers like Deployments and StatefulSets. + |
+ false | +
imagePullPolicy | +string | +
+ Image pull policy.
+One of Always, Never, IfNotPresent.
+Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + |
+ false | +
lifecycle | +object | +
+ Actions that the management system should take in response to container lifecycle events.
+Cannot be updated. + |
+ false | +
livenessProbe | +object | +
+ Periodic probe of container liveness.
+Container will be restarted if the probe fails.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + |
+ false | +
ports | +[]object | +
+ List of ports to expose from the container. Not specifying a port here
+DOES NOT prevent that port from being exposed. Any port which is
+listening on the default "0.0.0.0" address inside a container will be
+accessible from the network.
+Modifying this array with strategic merge patch may corrupt the data.
+For more information See https://github.com/kubernetes/kubernetes/issues/108255.
+Cannot be updated. + |
+ false | +
readinessProbe | +object | +
+ Periodic probe of container service readiness.
+Container will be removed from service endpoints if the probe fails.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + |
+ false | +
resizePolicy | +[]object | +
+ Resources resize policy for the container. + |
+ false | +
resources | +object | +
+ Compute Resources required by this container.
+Cannot be updated.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
restartPolicy | +string | +
+ RestartPolicy defines the restart behavior of individual containers in a pod.
+This field may only be set for init containers, and the only allowed value is "Always".
+For non-init containers or when this field is not specified,
+the restart behavior is defined by the Pod's restart policy and the container type.
+Setting the RestartPolicy as "Always" for the init container will have the following effect:
+this init container will be continually restarted on
+exit until all regular containers have terminated. Once all regular
+containers have completed, all init containers with restartPolicy "Always"
+will be shut down. This lifecycle differs from normal init containers and
+is often referred to as a "sidecar" container. Although this init
+container still starts in the init container sequence, it does not wait
+for the container to complete before proceeding to the next init
+container. Instead, the next init container starts immediately after this
+init container is started, or after any startupProbe has successfully
+completed. + |
+ false | +
securityContext | +object | +
+ SecurityContext defines the security options the container should be run with.
+If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
+More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + |
+ false | +
startupProbe | +object | +
+ StartupProbe indicates that the Pod has successfully initialized.
+If specified, no other probes are executed until this completes successfully.
+If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
+This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
+when it might take a long time to load data or warm a cache, than during steady-state operation.
+This cannot be updated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + |
+ false | +
stdin | +boolean | +
+ Whether this container should allocate a buffer for stdin in the container runtime. If this
+is not set, reads from stdin in the container will always result in EOF.
+Default is false. + |
+ false | +
stdinOnce | +boolean | +
+ Whether the container runtime should close the stdin channel after it has been opened by
+a single attach. When stdin is true the stdin stream will remain open across multiple attach
+sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the
+first client attaches to stdin, and then remains open and accepts data until the client disconnects,
+at which time stdin is closed and remains closed until the container is restarted. If this
+flag is false, a container processes that reads from stdin will never receive an EOF.
+Default is false + |
+ false | +
terminationMessagePath | +string | +
+ Optional: Path at which the file to which the container's termination message
+will be written is mounted into the container's filesystem.
+Message written is intended to be brief final status, such as an assertion failure message.
+Will be truncated by the node if greater than 4096 bytes. The total message length across
+all containers will be limited to 12kb.
+Defaults to /dev/termination-log.
+Cannot be updated. + |
+ false | +
terminationMessagePolicy | +string | +
+ Indicate how the termination message should be populated. File will use the contents of
+terminationMessagePath to populate the container status message on both success and failure.
+FallbackToLogsOnError will use the last chunk of container log output if the termination
+message file is empty and the container exited with an error.
+The log output is limited to 2048 bytes or 80 lines, whichever is smaller.
+Defaults to File.
+Cannot be updated. + |
+ false | +
tty | +boolean | +
+ Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.
+Default is false. + |
+ false | +
volumeDevices | +[]object | +
+ volumeDevices is the list of block devices to be used by the container. + |
+ false | +
volumeMounts | +[]object | +
+ Pod volumes to mount into the container's filesystem.
+Cannot be updated. + |
+ false | +
workingDir | +string | +
+ Container's working directory.
+If not specified, the container runtime's default will be used, which
+might be configured in the container image.
+Cannot be updated. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the environment variable. Must be a C_IDENTIFIER. + |
+ true | +
value | +string | +
+ Variable references $(VAR_NAME) are expanded
+using the previously defined environment variables in the container and
+any service environment variables. If a variable cannot be resolved,
+the reference in the input string will be unchanged. Double $$ are reduced
+to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
+"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
+Escaped references will never be expanded, regardless of whether the variable
+exists or not.
+Defaults to "". + |
+ false | +
valueFrom | +object | +
+ Source for the environment variable's value. Cannot be used if value is not empty. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapKeyRef | +object | +
+ Selects a key of a ConfigMap. + |
+ false | +
fieldRef | +object | +
+ Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels[' + |
+ false | +
resourceFieldRef | +object | +
+ Selects a resource of the container: only resources limits and requests
+(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + |
+ false | +
secretKeyRef | +object | +
+ Selects a key of a secret in the pod's namespace + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key to select. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
fieldPath | +string | +
+ Path of the field to select in the specified API version. + |
+ true | +
apiVersion | +string | +
+ Version of the schema the FieldPath is written in terms of, defaults to "v1". + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resource | +string | +
+ Required: resource to select + |
+ true | +
containerName | +string | +
+ Container name: required for volumes, optional for env vars + |
+ false | +
divisor | +int or string | +
+ Specifies the output format of the exposed resources, defaults to "1" + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ The key of the secret to select from. Must be a valid secret key. + |
+ true | +
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret or its key must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
configMapRef | +object | +
+ The ConfigMap to select from + |
+ false | +
prefix | +string | +
+ An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + |
+ false | +
secretRef | +object | +
+ The Secret to select from + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the ConfigMap must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name of the referent.
+More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+TODO: Add other useful fields. apiVersion, kind, uid? + |
+ false | +
optional | +boolean | +
+ Specify whether the Secret must be defined + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
postStart | +object | +
+ PostStart is called immediately after a container is created. If the handler fails,
+the container is terminated and restarted according to its restart policy.
+Other management of the container blocks until the hook completes.
+More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + |
+ false | +
preStop | +object | +
+ PreStop is called immediately before a container is terminated due to an
+API request or management event such as liveness/startup probe failure,
+preemption, resource contention, etc. The handler is not called if the
+container crashes or exits. The Pod's termination grace period countdown begins before the
+PreStop hook is executed. Regardless of the outcome of the handler, the
+container will eventually terminate within the Pod's termination grace
+period (unless delayed by finalizers). Other management of the container blocks until the hook completes
+or until the termination grace period is reached.
+More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
sleep | +object | +
+ Sleep represents the duration that the container should sleep before being terminated. + |
+ false | +
tcpSocket | +object | +
+ Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
+for the backward compatibility. There are no validation of this field and
+lifecycle hooks will fail in runtime when tcp handler is specified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
seconds | +integer | +
+ Seconds is the number of seconds to sleep. + + Format: int64 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
sleep | +object | +
+ Sleep represents the duration that the container should sleep before being terminated. + |
+ false | +
tcpSocket | +object | +
+ Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
+for the backward compatibility. There are no validation of this field and
+lifecycle hooks will fail in runtime when tcp handler is specified. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
seconds | +integer | +
+ Seconds is the number of seconds to sleep. + + Format: int64 + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
containerPort | +integer | +
+ Number of port to expose on the pod's IP address.
+This must be a valid port number, 0 < x < 65536. + + Format: int32 + |
+ true | +
hostIP | +string | +
+ What host IP to bind the external port to. + |
+ false | +
hostPort | +integer | +
+ Number of port to expose on the host.
+If specified, this must be a valid port number, 0 < x < 65536.
+If HostNetwork is specified, this must match ContainerPort.
+Most containers do not need this. + + Format: int32 + |
+ false | +
name | +string | +
+ If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
+named port in a pod must have a unique name. Name for the port that can be
+referred to by services. + |
+ false | +
protocol | +string | +
+ Protocol for port. Must be UDP, TCP, or SCTP.
+Defaults to "TCP". + + Default: TCP + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
resourceName | +string | +
+ Name of the resource to which this resource resize policy applies.
+Supported values: cpu, memory. + |
+ true | +
restartPolicy | +string | +
+ Restart policy to apply when specified resource is resized.
+If not specified, it defaults to NotRequired. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
claims | +[]object | +
+ Claims lists the names of resources, defined in spec.resourceClaims,
+that are used by this container.
+
+
+This is an alpha field and requires enabling the
+DynamicResourceAllocation feature gate.
+
+
+This field is immutable. It can only be set for containers. + |
+ false | +
limits | +map[string]int or string | +
+ Limits describes the maximum amount of compute resources allowed.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
requests | +map[string]int or string | +
+ Requests describes the minimum amount of compute resources required.
+If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+otherwise to an implementation-defined value. Requests cannot exceed Limits.
+More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name must match the name of one entry in pod.spec.resourceClaims of
+the Pod where this field is used. It makes that resource available
+inside a container. + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
allowPrivilegeEscalation | +boolean | +
+ AllowPrivilegeEscalation controls whether a process can gain more
+privileges than its parent process. This bool directly controls if
+the no_new_privs flag will be set on the container process.
+AllowPrivilegeEscalation is true always when the container is:
+1) run as Privileged
+2) has CAP_SYS_ADMIN
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
capabilities | +object | +
+ The capabilities to add/drop when running containers.
+Defaults to the default set of capabilities granted by the container runtime.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
privileged | +boolean | +
+ Run container in privileged mode.
+Processes in privileged containers are essentially equivalent to root on the host.
+Defaults to false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
procMount | +string | +
+ procMount denotes the type of proc mount to use for the containers.
+The default is DefaultProcMount which uses the container runtime defaults for
+readonly paths and masked paths.
+This requires the ProcMountType feature flag to be enabled.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
readOnlyRootFilesystem | +boolean | +
+ Whether this container has a read-only root filesystem.
+Default is false.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
runAsGroup | +integer | +
+ The GID to run the entrypoint of the container process.
+Uses runtime default if unset.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
runAsNonRoot | +boolean | +
+ Indicates that the container must run as a non-root user.
+If true, the Kubelet will validate the image at runtime to ensure that it
+does not run as UID 0 (root) and fail to start the container if it does.
+If unset or false, no such validation will be performed.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
runAsUser | +integer | +
+ The UID to run the entrypoint of the container process.
+Defaults to user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + + Format: int64 + |
+ false | +
seLinuxOptions | +object | +
+ The SELinux context to be applied to the container.
+If unspecified, the container runtime will allocate a random SELinux context for each
+container. May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
seccompProfile | +object | +
+ The seccomp options to use by this container. If seccomp options are
+provided at both the pod & container level, the container options
+override the pod options.
+Note that this field cannot be set when spec.os.name is windows. + |
+ false | +
windowsOptions | +object | +
+ The Windows specific settings applied to all containers.
+If unspecified, the options from the PodSecurityContext will be used.
+If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
+Note that this field cannot be set when spec.os.name is linux. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
add | +[]string | +
+ Added capabilities + |
+ false | +
drop | +[]string | +
+ Removed capabilities + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
level | +string | +
+ Level is SELinux level label that applies to the container. + |
+ false | +
role | +string | +
+ Role is a SELinux role label that applies to the container. + |
+ false | +
type | +string | +
+ Type is a SELinux type label that applies to the container. + |
+ false | +
user | +string | +
+ User is a SELinux user label that applies to the container. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
type | +string | +
+ type indicates which kind of seccomp profile will be applied.
+Valid options are:
+
+
+Localhost - a profile defined in a file on the node should be used.
+RuntimeDefault - the container runtime default profile should be used.
+Unconfined - no profile should be applied. + |
+ true | +
localhostProfile | +string | +
+ localhostProfile indicates a profile defined in a file on the node should be used.
+The profile must be preconfigured on the node to work.
+Must be a descending path, relative to the kubelet's configured seccomp profile location.
+Must be set if type is "Localhost". Must NOT be set for any other type. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
gmsaCredentialSpec | +string | +
+ GMSACredentialSpec is where the GMSA admission webhook
+(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
+GMSA credential spec named by the GMSACredentialSpecName field. + |
+ false | +
gmsaCredentialSpecName | +string | +
+ GMSACredentialSpecName is the name of the GMSA credential spec to use. + |
+ false | +
hostProcess | +boolean | +
+ HostProcess determines if a container should be run as a 'Host Process' container.
+All of a Pod's containers must have the same effective HostProcess value
+(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
+In addition, if HostProcess is true then HostNetwork must also be set to true. + |
+ false | +
runAsUserName | +string | +
+ The UserName in Windows to run the entrypoint of the container process.
+Defaults to the user specified in image metadata if unspecified.
+May also be set in PodSecurityContext. If set in both SecurityContext and
+PodSecurityContext, the value specified in SecurityContext takes precedence. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
exec | +object | +
+ Exec specifies the action to take. + |
+ false | +
failureThreshold | +integer | +
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+Defaults to 3. Minimum value is 1. + + Format: int32 + |
+ false | +
grpc | +object | +
+ GRPC specifies an action involving a GRPC port. + |
+ false | +
httpGet | +object | +
+ HTTPGet specifies the http request to perform. + |
+ false | +
initialDelaySeconds | +integer | +
+ Number of seconds after the container has started before liveness probes are initiated.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
periodSeconds | +integer | +
+ How often (in seconds) to perform the probe.
+Default to 10 seconds. Minimum value is 1. + + Format: int32 + |
+ false | +
successThreshold | +integer | +
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + + Format: int32 + |
+ false | +
tcpSocket | +object | +
+ TCPSocket specifies an action involving a TCP port. + |
+ false | +
terminationGracePeriodSeconds | +integer | +
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+The grace period is the duration in seconds after the processes running in the pod are sent
+a termination signal and the time when the processes are forcibly halted with a kill signal.
+Set this value longer than the expected cleanup time for your process.
+If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+value overrides the value provided by the pod spec.
+Value must be non-negative integer. The value zero indicates stop immediately via
+the kill signal (no opportunity to shut down).
+This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + + Format: int64 + |
+ false | +
timeoutSeconds | +integer | +
+ Number of seconds after which the probe times out.
+Defaults to 1 second. Minimum value is 1.
+More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
command | +[]string | +
+ Command is the command line to execute inside the container, the working directory for the
+command is root ('/') in the container's filesystem. The command is simply exec'd, it is
+not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
+a shell, you need to explicitly call out to that shell.
+Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +integer | +
+ Port number of the gRPC service. Number must be in the range 1 to 65535. + + Format: int32 + |
+ true | +
service | +string | +
+ Service is the name of the service to place in the gRPC HealthCheckRequest
+(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
+
+
+If this is not specified, the default behavior is defined by gRPC. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Name or number of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Host name to connect to, defaults to the pod IP. You probably want to set
+"Host" in httpHeaders instead. + |
+ false | +
httpHeaders | +[]object | +
+ Custom headers to set in the request. HTTP allows repeated headers. + |
+ false | +
path | +string | +
+ Path to access on the HTTP server. + |
+ false | +
scheme | +string | +
+ Scheme to use for connecting to the host.
+Defaults to HTTP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ The header field name.
+This will be canonicalized upon output, so case-variant names will be understood as the same header. + |
+ true | +
value | +string | +
+ The header field value + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
port | +int or string | +
+ Number or name of the port to access on the container.
+Number must be in the range 1 to 65535.
+Name must be an IANA_SVC_NAME. + |
+ true | +
host | +string | +
+ Optional: Host name to connect to, defaults to the pod IP. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
devicePath | +string | +
+ devicePath is the path inside of the container that the device will be mapped to. + |
+ true | +
name | +string | +
+ name must match the name of a persistentVolumeClaim in the pod + |
+ true | +
Name | +Type | +Description | +Required | +
---|---|---|---|
mountPath | +string | +
+ Path within the container at which the volume should be mounted. Must
+not contain ':'. + |
+ true | +
name | +string | +
+ This must match the Name of a Volume. + |
+ true | +
mountPropagation | +string | +
+ mountPropagation determines how mounts are propagated from the host
+to container and the other way around.
+When not set, MountPropagationNone is used.
+This field is beta in 1.10. + |
+ false | +
readOnly | +boolean | +
+ Mounted read-only if true, read-write otherwise (false or unspecified).
+Defaults to false. + |
+ false | +
subPath | +string | +
+ Path within the volume from which the container's volume should be mounted.
+Defaults to "" (volume's root). + |
+ false | +
subPathExpr | +string | +
+ Expanded path within the volume from which the container's volume should be mounted.
+Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
+Defaults to "" (volume's root).
+SubPathExpr and SubPath are mutually exclusive. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
caSecretName | +string | +
+ CASecretName is used to point to a Kubernetes secret that holds the CA that will be used to issue intra-cluster TLS certificates + |
+ false | +
enabled | +boolean | +
+ Enabled can be used to toggle TLS on/off. Default behaviour is to configure TLS if cert-manager is present, otherwise we skip TLS. + |
+ false | +
extraHostnames | +[]string | +
+ ExtraHostnames holds a list of additional hostnames that will be appended to TLS certificates. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
effect | +string | +
+ Effect indicates the taint effect to match. Empty means match all taint effects.
+When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + |
+ false | +
key | +string | +
+ Key is the taint key that the toleration applies to. Empty means match all taint keys.
+If the key is empty, operator must be Exists; this combination means to match all values and all keys. + |
+ false | +
operator | +string | +
+ Operator represents a key's relationship to the value.
+Valid operators are Exists and Equal. Defaults to Equal.
+Exists is equivalent to wildcard for value, so that a pod can
+tolerate all taints of a particular category. + |
+ false | +
tolerationSeconds | +integer | +
+ TolerationSeconds represents the period of time the toleration (which must be
+of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
+it is not set, which means tolerate the taint forever (do not evict). Zero and
+negative values will be treated as 0 (evict immediately) by the system. + + Format: int64 + |
+ false | +
value | +string | +
+ Value is the taint value the toleration matches to.
+If the operator is Exists, the value should be empty, otherwise just a regular string. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
maxSkew | +integer | +
+ MaxSkew describes the degree to which pods may be unevenly distributed.
+When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
+between the number of matching pods in the target topology and the global minimum.
+The global minimum is the minimum number of matching pods in an eligible domain
+or zero if the number of eligible domains is less than MinDomains.
+For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
+labelSelector spread as 2/2/1:
+In this case, the global minimum is 1.
+| zone1 | zone2 | zone3 |
+| P P | P P | P |
+- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
+scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
+violate MaxSkew(1).
+- if MaxSkew is 2, incoming pod can be scheduled onto any zone.
+When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
+to topologies that satisfy it.
+It's a required field. Default value is 1 and 0 is not allowed. + + Format: int32 + |
+ true | +
topologyKey | +string | +
+ TopologyKey is the key of node labels. Nodes that have a label with this key
+and identical values are considered to be in the same topology.
+We consider each + |
+ true | +
whenUnsatisfiable | +string | +
+ WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
+the spread constraint.
+- DoNotSchedule (default) tells the scheduler not to schedule it.
+- ScheduleAnyway tells the scheduler to schedule the pod in any location,
+ but giving higher precedence to topologies that would help reduce the
+ skew.
+A constraint is considered "Unsatisfiable" for an incoming pod
+if and only if every possible node assignment for that pod would violate
+"MaxSkew" on some topology.
+For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
+labelSelector spread as 3/1/1:
+| zone1 | zone2 | zone3 |
+| P P P | P | P |
+If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
+to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
+MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
+won't make it *more* imbalanced.
+It's a required field. + |
+ true | +
labelSelector | +object | +
+ LabelSelector is used to find matching pods.
+Pods that match this label selector are counted to determine the number of pods
+in their corresponding topology domain. + |
+ false | +
matchLabelKeys | +[]string | +
+ MatchLabelKeys is a set of pod label keys to select the pods over which
+spreading will be calculated. The keys are used to lookup values from the
+incoming pod labels, those key-value labels are ANDed with labelSelector
+to select the group of existing pods over which spreading will be calculated
+for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
+MatchLabelKeys cannot be set when LabelSelector isn't set.
+Keys that don't exist in the incoming pod labels will
+be ignored. A null or empty list means only match against labelSelector.
+
+
+This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). + |
+ false | +
minDomains | +integer | +
+ MinDomains indicates a minimum number of eligible domains.
+When the number of eligible domains with matching topology keys is less than minDomains,
+Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
+And when the number of eligible domains with matching topology keys equals or greater than minDomains,
+this value has no effect on scheduling.
+As a result, when the number of eligible domains is less than minDomains,
+scheduler won't schedule more than maxSkew Pods to those domains.
+If value is nil, the constraint behaves as if MinDomains is equal to 1.
+Valid values are integers greater than 0.
+When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
+
+
+For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
+labelSelector spread as 2/2/2:
+| zone1 | zone2 | zone3 |
+| P P | P P | P P |
+The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
+In this situation, new pod with the same labelSelector cannot be scheduled,
+because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
+it will violate MaxSkew.
+
+
+This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). + + Format: int32 + |
+ false | +
nodeAffinityPolicy | +string | +
+ NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
+when calculating pod topology spread skew. Options are:
+- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
+- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
+
+
+If this value is nil, the behavior is equivalent to the Honor policy.
+This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + |
+ false | +
nodeTaintsPolicy | +string | +
+ NodeTaintsPolicy indicates how we will treat node taints when calculating
+pod topology spread skew. Options are:
+- Honor: nodes without taints, along with tainted nodes for which the incoming pod
+has a toleration, are included.
+- Ignore: node taints are ignored. All nodes are included.
+
+
+If this value is nil, the behavior is equivalent to the Ignore policy.
+This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
matchExpressions | +[]object | +
+ matchExpressions is a list of label selector requirements. The requirements are ANDed. + |
+ false | +
matchLabels | +map[string]string | +
+ matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
+map is equivalent to an element of matchExpressions, whose key field is "key", the
+operator is "In", and the values array contains only "value". The requirements are ANDed. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
key | +string | +
+ key is the label key that the selector applies to. + |
+ true | +
operator | +string | +
+ operator represents a key's relationship to a set of values.
+Valid operators are In, NotIn, Exists and DoesNotExist. + |
+ true | +
values | +[]string | +
+ values is an array of string values. If the operator is In or NotIn,
+the values array must be non-empty. If the operator is Exists or DoesNotExist,
+the values array must be empty. This array is replaced during a strategic
+merge patch. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
enableZoneAwareness | +boolean | +
+ EnableZoneAwareness toggles zone awareness on or off during updates. When enabled, the pod replacement logic
+will go through all pods in a specific zone before it starts replacing pods in the next zone.
+If pods are failing, they bypass the zone limitation and are restarted immediately - ignoring the zone.
+Zone awareness is enabled by default. + |
+ false | +
maxUnavailable | +int or string | +
+ MaxUnavailable is the maximum number of pods that can be unavailable during a rolling update.
+This can be configured to an absolute number or a percentage, e.g. "maxUnavailable: 5" or "maxUnavailable: 25%".
+By default, the max unavailable pods is 1. + |
+ false | +
minReadySeconds | +integer | +
+ MinReadySeconds is the minimum time in seconds that a pod must be ready before the next pod can be deleted when doing rolling update. + + Format: int32 + |
+ false | +
type | +enum | +
+ Type controls how Humio pods are updated when changes are made to the HumioCluster resource that results
+in a change to the Humio pods. The available values are: OnDelete, RollingUpdate, ReplaceAllOnUpdate, and
+RollingUpdateBestEffort.
+/
+When set to OnDelete, no Humio pods will be terminated but new pods will be created with the new spec. Replacing
+existing pods will require each pod to be deleted by the user.
+
+
+When set to RollingUpdate, pods will always be replaced one pod at a time. There may be some Humio updates where
+rolling updates are not supported, so it is not recommended to have this set all the time.
+
+
+When set to ReplaceAllOnUpdate, all Humio pods will be replaced at the same time during an update.
+This is the default behavior.
+
+
+When set to RollingUpdateBestEffort, the operator will evaluate the Humio version change and determine if the
+Humio pods can be updated in a rolling fashion or if they must be replaced at the same time. + + Enum: OnDelete, RollingUpdate, ReplaceAllOnUpdate, RollingUpdateBestEffort + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
licenseStatus | +object | +
+ LicenseStatus shows the status of the Humio license attached to the cluster + |
+ false | +
message | +string | +
+ Message contains additional information about the state of the cluster + |
+ false | +
nodeCount | +integer | +
+ NodeCount is the number of nodes of humio running + |
+ false | +
nodePoolStatus | +[]object | +
+ NodePoolStatus shows the status of each node pool + |
+ false | +
observedGeneration | +string | +
+ ObservedGeneration shows the generation of the HumioCluster which was last observed + |
+ false | +
podStatus | +[]object | +
+ PodStatus shows the status of individual humio pods + |
+ false | +
state | +string | +
+ State will be empty before the cluster is bootstrapped. From there it can be "Running", "Upgrading", "Restarting" or "Pending" + |
+ false | +
version | +string | +
+ Version is the version of humio running + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
expiration | +string | +
+ + |
+ false | +
type | +string | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name is the name of the node pool + |
+ true | +
desiredBootstrapTokenHash | +string | +
+ DesiredBootstrapTokenHash holds a SHA256 of the value set in environment variable BOOTSTRAP_ROOT_TOKEN_HASHED + |
+ false | +
desiredPodHash | +string | +
+ DesiredPodHash holds a hashed representation of the pod spec + |
+ false | +
desiredPodRevision | +integer | +
+ DesiredPodRevision holds the desired pod revision for pods of the given node pool. + |
+ false | +
state | +string | +
+ State will be empty before the cluster is bootstrapped. From there it can be "Running", "Upgrading", "Restarting" or "Pending" + |
+ false | +
zoneUnderMaintenance | +string | +
+ ZoneUnderMaintenance holds the name of the availability zone currently under maintenance + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
nodeId | +integer | +
+ NodeId used to refer to the value of the BOOTSTRAP_HOST_ID environment variable for a Humio instance.
+Deprecated: No longer being used. + |
+ false | +
nodeName | +string | +
+ + |
+ false | +
podName | +string | +
+ + |
+ false | +
pvcName | +string | +
+ + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioExternalCluster | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioExternalClusterSpec defines the desired state of HumioExternalCluster + |
+ false | +
status | +object | +
+ HumioExternalClusterStatus defines the observed state of HumioExternalCluster + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
url | +string | +
+ Url is used to connect to the Humio cluster we want to use. + |
+ true | +
apiTokenSecretName | +string | +
+ APITokenSecretName is used to obtain the API token we need to use when communicating with the external Humio cluster.
+The secret must contain a key "token" which holds the Humio API token. + |
+ false | +
caSecretName | +string | +
+ CASecretName is used to point to a Kubernetes secret that holds the CA that will be used to issue intra-cluster TLS certificates.
+The secret must contain a key "ca.crt" which holds the CA certificate in PEM format. + |
+ false | +
insecure | +boolean | +
+ Insecure is used to disable TLS certificate verification when communicating with Humio clusters over TLS. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioExternalCluster + |
+ false | +
version | +string | +
+ Version shows the Humio cluster version of the HumioExternalCluster + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioFilterAlert | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioFilterAlertSpec defines the desired state of HumioFilterAlert + |
+ false | +
status | +object | +
+ HumioFilterAlertStatus defines the observed state of HumioFilterAlert + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
actions | +[]string | +
+ Actions is the list of Humio Actions by name that will be triggered by this filter alert + |
+ true | +
name | +string | +
+ Name is the name of the filter alert inside Humio + |
+ true | +
queryString | +string | +
+ QueryString defines the desired Humio query string + |
+ true | +
viewName | +string | +
+ ViewName is the name of the Humio View under which the filter alert will be managed. This can also be a Repository + |
+ true | +
description | +string | +
+ Description is the description of the filter alert + |
+ false | +
enabled | +boolean | +
+ Enabled will set the FilterAlert to enabled when set to true + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
labels | +[]string | +
+ Labels are a set of labels on the filter alert + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
throttleField | +string | +
+ ThrottleField is the field on which to throttle + |
+ false | +
throttleTimeSeconds | +integer | +
+ ThrottleTimeSeconds is the throttle time in seconds. A filter alert is triggered at most once per the throttle time + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioFilterAlert + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioIngestToken | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioIngestTokenSpec defines the desired state of HumioIngestToken + |
+ false | +
status | +object | +
+ HumioIngestTokenStatus defines the observed state of HumioIngestToken + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name is the name of the ingest token inside Humio + |
+ true | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
parserName | +string | +
+ ParserName is the name of the parser which will be assigned to the ingest token. + |
+ false | +
repositoryName | +string | +
+ RepositoryName is the name of the Humio repository under which the ingest token will be created + |
+ false | +
tokenSecretLabels | +map[string]string | +
+ TokenSecretLabels specifies additional key,value pairs to add as labels on the Kubernetes Secret containing
+the ingest token.
+This field is optional. + |
+ false | +
tokenSecretName | +string | +
+ TokenSecretName specifies the name of the Kubernetes secret that will be created
+and contain the ingest token. The key in the secret storing the ingest token is "token".
+This field is optional. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioIngestToken + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioParser | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioParserSpec defines the desired state of HumioParser + |
+ false | +
status | +object | +
+ HumioParserStatus defines the observed state of HumioParser + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name is the name of the parser inside Humio + |
+ true | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
parserScript | +string | +
+ ParserScript contains the code for the Humio parser + |
+ false | +
repositoryName | +string | +
+ RepositoryName defines what repository this parser should be managed in + |
+ false | +
tagFields | +[]string | +
+ TagFields is used to define what fields will be used to define how data will be tagged when being parsed by
+this parser + |
+ false | +
testData | +[]string | +
+ TestData contains example test data to verify the parser behavior + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioParser + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioRepository | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioRepositorySpec defines the desired state of HumioRepository + |
+ false | +
status | +object | +
+ HumioRepositoryStatus defines the observed state of HumioRepository + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name is the name of the repository inside Humio + |
+ true | +
allowDataDeletion | +boolean | +
+ AllowDataDeletion is used as a blocker in case an operation of the operator would delete data within the
+repository. This must be set to true before the operator will apply retention settings that will (or might)
+cause data to be deleted within the repository. + |
+ false | +
automaticSearch | +boolean | +
+ AutomaticSearch is used to specify the start search automatically on loading the search page option. + |
+ false | +
description | +string | +
+ Description contains the description that will be set on the repository + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
retention | +object | +
+ Retention defines the retention settings for the repository + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
ingestSizeInGB | +integer | +
+ perhaps we should migrate to resource.Quantity? the Humio API needs float64, but that is not supported here, see more here:
+https://github.com/kubernetes-sigs/controller-tools/issues/245 + + Format: int32 + |
+ false | +
storageSizeInGB | +integer | +
+ + + Format: int32 + |
+ false | +
timeInDays | +integer | +
+ + + Format: int32 + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioRepository + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioScheduledSearch | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioScheduledSearchSpec defines the desired state of HumioScheduledSearch + |
+ false | +
status | +object | +
+ HumioScheduledSearchStatus defines the observed state of HumioScheduledSearch + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
actions | +[]string | +
+ Actions is the list of Humio Actions by name that will be triggered by this scheduled search + |
+ true | +
backfillLimit | +integer | +
+ BackfillLimit is the user-defined limit, which caps the number of missed searches to backfill, e.g. in the event of a shutdown. + |
+ true | +
name | +string | +
+ Name is the name of the scheduled search inside Humio + |
+ true | +
queryEnd | +string | +
+ QueryEnd is the end of the relative time interval for the query. + |
+ true | +
queryStart | +string | +
+ QueryStart is the start of the relative time interval for the query. + |
+ true | +
queryString | +string | +
+ QueryString defines the desired Humio query string + |
+ true | +
schedule | +string | +
+ Schedule is the cron pattern describing the schedule to execute the query on. + |
+ true | +
timeZone | +string | +
+ TimeZone is the time zone of the schedule. Currently, this field only supports UTC offsets like 'UTC', 'UTC-01' or 'UTC+12:45'. + |
+ true | +
viewName | +string | +
+ ViewName is the name of the Humio View under which the scheduled search will be managed. This can also be a Repository + |
+ true | +
description | +string | +
+ Description is the description of the scheduled search + |
+ false | +
enabled | +boolean | +
+ Enabled will set the ScheduledSearch to enabled when set to true + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
labels | +[]string | +
+ Labels are a set of labels on the scheduled search + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioScheduledSearch + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
apiVersion | +string | +core.humio.com/v1alpha1 | +true | +
kind | +string | +HumioView | +true | +
metadata | +object | +Refer to the Kubernetes API documentation for the fields of the `metadata` field. | +true | +
spec | +object | +
+ HumioViewSpec defines the desired state of HumioView + |
+ false | +
status | +object | +
+ HumioViewStatus defines the observed state of HumioView + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
name | +string | +
+ Name is the name of the view inside Humio + |
+ true | +
automaticSearch | +boolean | +
+ AutomaticSearch is used to specify the start search automatically on loading the search page option. + |
+ false | +
connections | +[]object | +
+ Connections contains the connections to the Humio repositories which is accessible in this view + |
+ false | +
description | +string | +
+ Description contains the description that will be set on the view + |
+ false | +
externalClusterName | +string | +
+ ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
+This conflicts with ManagedClusterName. + |
+ false | +
managedClusterName | +string | +
+ ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
+resources should be created.
+This conflicts with ExternalClusterName. + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
filter | +string | +
+ Filter contains the prefix filter that will be applied for the given RepositoryName + |
+ false | +
repositoryName | +string | +
+ RepositoryName contains the name of the target repository + |
+ false | +
Name | +Type | +Description | +Required | +
---|---|---|---|
state | +string | +
+ State reflects the current state of the HumioView + |
+ false | +