mirror of https://github.com/hashicorp/consul
backport of commit 17904bac70
(#16725)
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com> Co-authored-by: David Yu <dyu@hashicorp.com>pull/16707/head^2
parent
16a19762f4
commit
f6ecffb5bd
|
@ -58,7 +58,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
the prefix will be `<helm release name>-consul`.
|
||||
|
||||
- `domain` ((#v-global-domain)) (`string: consul`) - The domain Consul will answer DNS queries for
|
||||
(Refer to [`-domain`](https://developer.hashicorp.com/consul/docs/agent/config/cli-flags#_domain)) and the domain services synced from
|
||||
(Refer to [`-domain`](/consul/docs/agent/config/cli-flags#_domain)) and the domain services synced from
|
||||
Consul into Kubernetes will have, e.g. `service-name.service.consul`.
|
||||
|
||||
- `peering` ((#v-global-peering)) - Configures the Cluster Peering feature. Requires Consul v1.14+ and Consul-K8s v1.0.0+.
|
||||
|
@ -119,7 +119,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
- `secretsBackend` ((#v-global-secretsbackend)) - secretsBackend is used to configure Vault as the secrets backend for the Consul on Kubernetes installation.
|
||||
The Vault cluster needs to have the Kubernetes Auth Method, KV2 and PKI secrets engines enabled
|
||||
and have necessary secrets, policies and roles created prior to installing Consul.
|
||||
Refer to [Vault as the Secrets Backend](https://developer.hashicorp.com/consul/docs/k8s/deployment-configurations/vault)
|
||||
Refer to [Vault as the Secrets Backend](/consul/docs/k8s/deployment-configurations/vault)
|
||||
documentation for full instructions.
|
||||
|
||||
The Vault cluster _must_ not have the Consul cluster installed by this Helm chart as its storage backend
|
||||
|
@ -210,7 +210,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
The provider will be configured to use the Vault Kubernetes auth method
|
||||
and therefore requires the role provided by `global.secretsBackend.vault.consulServerRole`
|
||||
to have permissions to the root and intermediate PKI paths.
|
||||
Please refer to [Vault ACL policies](https://developer.hashicorp.com/consul/docs/connect/ca/vault#vault-acl-policies)
|
||||
Please refer to [Vault ACL policies](/consul/docs/connect/ca/vault#vault-acl-policies)
|
||||
documentation for information on how to configure the Vault policies.
|
||||
|
||||
- `address` ((#v-global-secretsbackend-vault-connectca-address)) (`string: ""`) - The address of the Vault server.
|
||||
|
@ -218,13 +218,13 @@ Use these links to navigate to a particular top-level stanza.
|
|||
- `authMethodPath` ((#v-global-secretsbackend-vault-connectca-authmethodpath)) (`string: kubernetes`) - The mount path of the Kubernetes auth method in Vault.
|
||||
|
||||
- `rootPKIPath` ((#v-global-secretsbackend-vault-connectca-rootpkipath)) (`string: ""`) - The path to a PKI secrets engine for the root certificate.
|
||||
For more details, please refer to [Vault Connect CA configuration](https://developer.hashicorp.com/consul/docs/connect/ca/vault#rootpkipath).
|
||||
For more details, please refer to [Vault Connect CA configuration](/consul/docs/connect/ca/vault#rootpkipath).
|
||||
|
||||
- `intermediatePKIPath` ((#v-global-secretsbackend-vault-connectca-intermediatepkipath)) (`string: ""`) - The path to a PKI secrets engine for the generated intermediate certificate.
|
||||
For more details, please refer to [Vault Connect CA configuration](https://developer.hashicorp.com/consul/docs/connect/ca/vault#intermediatepkipath).
|
||||
For more details, please refer to [Vault Connect CA configuration](/consul/docs/connect/ca/vault#intermediatepkipath).
|
||||
|
||||
- `additionalConfig` ((#v-global-secretsbackend-vault-connectca-additionalconfig)) (`string: {}`) - Additional Connect CA configuration in JSON format.
|
||||
Please refer to [Vault Connect CA configuration](https://developer.hashicorp.com/consul/docs/connect/ca/vault#configuration)
|
||||
Please refer to [Vault Connect CA configuration](/consul/docs/connect/ca/vault#configuration)
|
||||
for all configuration options available for that provider.
|
||||
|
||||
Example:
|
||||
|
@ -258,7 +258,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
inject webhooks.
|
||||
|
||||
- `gossipEncryption` ((#v-global-gossipencryption)) - Configures Consul's gossip encryption key.
|
||||
(Refer to [`-encrypt`](https://developer.hashicorp.com/consul/docs/agent/config/cli-flags#_encrypt)).
|
||||
(Refer to [`-encrypt`](/consul/docs/agent/config/cli-flags#_encrypt)).
|
||||
By default, gossip encryption is not enabled. The gossip encryption key may be set automatically or manually.
|
||||
The recommended method is to automatically generate the key.
|
||||
To automatically generate and set a gossip encryption key, set autoGenerate to true.
|
||||
|
@ -289,17 +289,17 @@ Use these links to navigate to a particular top-level stanza.
|
|||
|
||||
- `recursors` ((#v-global-recursors)) (`array<string>: []`) - A list of addresses of upstream DNS servers that are used to recursively resolve DNS queries.
|
||||
These values are given as `-recursor` flags to Consul servers and clients.
|
||||
Refer to [`-recursor`](https://developer.hashicorp.com/consul/docs/agent/config/cli-flags#_recursor) for more details.
|
||||
Refer to [`-recursor`](/consul/docs/agent/config/cli-flags#_recursor) for more details.
|
||||
If this is an empty array (the default), then Consul DNS will only resolve queries for the Consul top level domain (by default `.consul`).
|
||||
|
||||
- `tls` ((#v-global-tls)) - Enables [TLS](https://developer.hashicorp.com/consul/tutorials/security/tls-encryption-secure)
|
||||
- `tls` ((#v-global-tls)) - Enables [TLS](/consul/tutorials/security/tls-encryption-secure)
|
||||
across the cluster to verify authenticity of the Consul servers and clients.
|
||||
Requires Consul v1.4.1+.
|
||||
|
||||
- `enabled` ((#v-global-tls-enabled)) (`boolean: false`) - If true, the Helm chart will enable TLS for Consul
|
||||
servers and clients and all consul-k8s-control-plane components, as well as generate certificate
|
||||
authority (optional) and server and client certificates.
|
||||
This setting is required for [Cluster Peering](https://developer.hashicorp.com/consul/docs/connect/cluster-peering/k8s).
|
||||
This setting is required for [Cluster Peering](/consul/docs/connect/cluster-peering/k8s).
|
||||
|
||||
- `enableAutoEncrypt` ((#v-global-tls-enableautoencrypt)) (`boolean: false`) - If true, turns on the auto-encrypt feature on clients and servers.
|
||||
It also switches consul-k8s-control-plane components to retrieve the CA from the servers
|
||||
|
@ -316,7 +316,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
- `verify` ((#v-global-tls-verify)) (`boolean: true`) - If true, `verify_outgoing`, `verify_server_hostname`,
|
||||
and `verify_incoming` for internal RPC communication will be set to `true` for Consul servers and clients.
|
||||
Set this to false to incrementally roll out TLS on an existing Consul cluster.
|
||||
Please refer to [TLS on existing clusters](https://developer.hashicorp.com/consul/docs/k8s/operations/tls-on-existing-cluster)
|
||||
Please refer to [TLS on existing clusters](/consul/docs/k8s/operations/tls-on-existing-cluster)
|
||||
for more details.
|
||||
|
||||
- `httpsOnly` ((#v-global-tls-httpsonly)) (`boolean: true`) - If true, the Helm chart will configure Consul to disable the HTTP port on
|
||||
|
@ -463,7 +463,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
This address must be reachable from the Consul servers in the primary datacenter.
|
||||
This auth method will be used to provision ACL tokens for Consul components and is different
|
||||
from the one used by the Consul Service Mesh.
|
||||
Please refer to the [Kubernetes Auth Method documentation](https://developer.hashicorp.com/consul/docs/security/acl/auth-methods/kubernetes).
|
||||
Please refer to the [Kubernetes Auth Method documentation](/consul/docs/security/acl/auth-methods/kubernetes).
|
||||
|
||||
You can retrieve this value from your `kubeconfig` by running:
|
||||
|
||||
|
@ -574,7 +574,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
Consul server agents.
|
||||
|
||||
- `replicas` ((#v-server-replicas)) (`integer: 1`) - The number of server agents to run. This determines the fault tolerance of
|
||||
the cluster. Please refer to the [deployment table](https://developer.hashicorp.com/consul/docs/architecture/consensus#deployment-table)
|
||||
the cluster. Please refer to the [deployment table](/consul/docs/architecture/consensus#deployment-table)
|
||||
for more information.
|
||||
|
||||
- `bootstrapExpect` ((#v-server-bootstrapexpect)) (`int: null`) - The number of servers that are expected to be running.
|
||||
|
@ -613,7 +613,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
Vault Secrets backend:
|
||||
If you are using Vault as a secrets backend, a Vault Policy must be created which allows `["create", "update"]`
|
||||
capabilities on the PKI issuing endpoint, which is usually of the form `pki/issue/consul-server`.
|
||||
Complete [this tutorial](https://developer.hashicorp.com/consul/tutorials/vault-secure/vault-pki-consul-secure-tls)
|
||||
Complete [this tutorial](/consul/tutorials/vault-secure/vault-pki-consul-secure-tls)
|
||||
to learn how to generate a compatible certificate.
|
||||
Note: when using TLS, both the `server.serverCert` and `global.tls.caCert` which points to the CA endpoint of this PKI engine
|
||||
must be provided.
|
||||
|
@ -653,15 +653,15 @@ Use these links to navigate to a particular top-level stanza.
|
|||
storage classes, the PersistentVolumeClaims would need to be manually created.
|
||||
A `null` value will use the Kubernetes cluster's default StorageClass. If a default
|
||||
StorageClass does not exist, you will need to create one.
|
||||
Refer to the [Read/Write Tuning](https://developer.hashicorp.com/consul/docs/install/performance#read-write-tuning)
|
||||
Refer to the [Read/Write Tuning](/consul/docs/install/performance#read-write-tuning)
|
||||
section of the Server Performance Requirements documentation for considerations
|
||||
around choosing a performant storage class.
|
||||
|
||||
~> **Note:** The [Reference Architecture](https://developer.hashicorp.com/consul/tutorials/production-deploy/reference-architecture#hardware-sizing-for-consul-servers)
|
||||
~> **Note:** The [Reference Architecture](/consul/tutorials/production-deploy/reference-architecture#hardware-sizing-for-consul-servers)
|
||||
contains best practices and recommendations for selecting suitable
|
||||
hardware sizes for your Consul servers.
|
||||
|
||||
- `connect` ((#v-server-connect)) (`boolean: true`) - This will enable/disable [Connect](https://developer.hashicorp.com/consul/docs/connect). Setting this to true
|
||||
- `connect` ((#v-server-connect)) (`boolean: true`) - This will enable/disable [Connect](/consul/docs/connect). Setting this to true
|
||||
_will not_ automatically secure pod communication, this
|
||||
setting will only enable usage of the feature. Consul will automatically initialize
|
||||
a new CA and set of certificates. Additional Connect settings can be configured
|
||||
|
@ -713,7 +713,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
control a rolling update of Consul server agents. This value specifies the
|
||||
[partition](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions)
|
||||
for performing a rolling update. Please read the linked Kubernetes
|
||||
and [Upgrade Consul](https://developer.hashicorp.com/consul/docs/k8s/upgrade#upgrading-consul-servers)
|
||||
and [Upgrade Consul](/consul/docs/k8s/upgrade#upgrading-consul-servers)
|
||||
documentation for more information.
|
||||
|
||||
- `disruptionBudget` ((#v-server-disruptionbudget)) - This configures the [`PodDisruptionBudget`](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
||||
|
@ -729,7 +729,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
--set 'server.disruptionBudget.maxUnavailable=0'` flag to the helm chart installation
|
||||
command because of a limitation in the Helm templating language.
|
||||
|
||||
- `extraConfig` ((#v-server-extraconfig)) (`string: {}`) - A raw string of extra [JSON configuration](https://developer.hashicorp.com/consul/docs/agent/config/config-files) for Consul
|
||||
- `extraConfig` ((#v-server-extraconfig)) (`string: {}`) - A raw string of extra [JSON configuration](/consul/docs/agent/config/config-files) for Consul
|
||||
servers. This will be saved as-is into a ConfigMap that is read by the Consul
|
||||
server agents. This can be used to add additional configuration that
|
||||
isn't directly exposed by the chart.
|
||||
|
@ -906,18 +906,18 @@ Use these links to navigate to a particular top-level stanza.
|
|||
it could be used to configure custom consul parameters.
|
||||
|
||||
- `snapshotAgent` ((#v-server-snapshotagent)) - <EnterpriseAlert inline /> Values for setting up and running
|
||||
[snapshot agents](https://developer.hashicorp.com/consul/commands/snapshot/agent)
|
||||
[snapshot agents](/consul/commands/snapshot/agent)
|
||||
within the Consul clusters. They run as a sidecar with Consul servers.
|
||||
|
||||
- `enabled` ((#v-server-snapshotagent-enabled)) (`boolean: false`) - If true, the chart will install resources necessary to run the snapshot agent.
|
||||
|
||||
- `interval` ((#v-server-snapshotagent-interval)) (`string: 1h`) - Interval at which to perform snapshots.
|
||||
Refer to [`interval`](https://developer.hashicorp.com/consul/commands/snapshot/agent#interval)
|
||||
Refer to [`interval`](/consul/commands/snapshot/agent#interval)
|
||||
|
||||
- `configSecret` ((#v-server-snapshotagent-configsecret)) - A Kubernetes or Vault secret that should be manually created to contain the entire
|
||||
config to be used on the snapshot agent.
|
||||
This is the preferred method of configuration since there are usually storage
|
||||
credentials present. Please refer to the [Snapshot agent config](https://developer.hashicorp.com/consul/commands/snapshot/agent#config-file-options)
|
||||
credentials present. Please refer to the [Snapshot agent config](/consul/commands/snapshot/agent#config-file-options)
|
||||
for details.
|
||||
|
||||
- `secretName` ((#v-server-snapshotagent-configsecret-secretname)) (`string: null`) - The name of the Kubernetes secret or Vault secret path that holds the snapshot agent config.
|
||||
|
@ -975,7 +975,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
- `k8sAuthMethodHost` ((#v-externalservers-k8sauthmethodhost)) (`string: null`) - If you are setting `global.acls.manageSystemACLs` and
|
||||
`connectInject.enabled` to true, set `k8sAuthMethodHost` to the address of the Kubernetes API server.
|
||||
This address must be reachable from the Consul servers.
|
||||
Please refer to the [Kubernetes Auth Method documentation](https://developer.hashicorp.com/consul/docs/security/acl/auth-methods/kubernetes).
|
||||
Please refer to the [Kubernetes Auth Method documentation](/consul/docs/security/acl/auth-methods/kubernetes).
|
||||
|
||||
You could retrieve this value from your `kubeconfig` by running:
|
||||
|
||||
|
@ -998,7 +998,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
- `image` ((#v-client-image)) (`string: null`) - The name of the Docker image (including any tag) for the containers
|
||||
running Consul client agents.
|
||||
|
||||
- `join` ((#v-client-join)) (`array<string>: null`) - A list of valid [`-retry-join` values](https://developer.hashicorp.com/consul/docs/agent/config/cli-flags#_retry_join).
|
||||
- `join` ((#v-client-join)) (`array<string>: null`) - A list of valid [`-retry-join` values](/consul/docs/agent/config/cli-flags#_retry_join).
|
||||
If this is `null` (default), then the clients will attempt to automatically
|
||||
join the server cluster running within Kubernetes.
|
||||
This means that with `server.enabled` set to true, clients will automatically
|
||||
|
@ -1019,7 +1019,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
required for Connect.
|
||||
|
||||
- `nodeMeta` ((#v-client-nodemeta)) - nodeMeta specifies an arbitrary metadata key/value pair to associate with the node
|
||||
(refer to [`-node-meta`](https://developer.hashicorp.com/consul/docs/agent/config/cli-flags#_node_meta))
|
||||
(refer to [`-node-meta`](/consul/docs/agent/config/cli-flags#_node_meta))
|
||||
|
||||
- `pod-name` ((#v-client-nodemeta-pod-name)) (`string: ${HOSTNAME}`)
|
||||
|
||||
|
@ -1063,7 +1063,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
|
||||
- `tlsInit` ((#v-client-containersecuritycontext-tlsinit)) (`map`) - The tls-init initContainer
|
||||
|
||||
- `extraConfig` ((#v-client-extraconfig)) (`string: {}`) - A raw string of extra [JSON configuration](https://developer.hashicorp.com/consul/docs/agent/config/config-files) for Consul
|
||||
- `extraConfig` ((#v-client-extraconfig)) (`string: {}`) - A raw string of extra [JSON configuration](/consul/docs/agent/config/config-files) for Consul
|
||||
clients. This will be saved as-is into a ConfigMap that is read by the Consul
|
||||
client agents. This can be used to add additional configuration that
|
||||
isn't directly exposed by the chart.
|
||||
|
@ -1329,16 +1329,16 @@ Use these links to navigate to a particular top-level stanza.
|
|||
will inherit from `global.metrics.enabled` value.
|
||||
|
||||
- `provider` ((#v-ui-metrics-provider)) (`string: prometheus`) - Provider for metrics. Refer to
|
||||
[`metrics_provider`](https://developer.hashicorp.com/consul/docs/agent/config/config-files#ui_config_metrics_provider)
|
||||
[`metrics_provider`](/consul/docs/agent/config/config-files#ui_config_metrics_provider)
|
||||
This value is only used if `ui.enabled` is set to true.
|
||||
|
||||
- `baseURL` ((#v-ui-metrics-baseurl)) (`string: http://prometheus-server`) - baseURL is the URL of the prometheus server, usually the service URL.
|
||||
This value is only used if `ui.enabled` is set to true.
|
||||
|
||||
- `dashboardURLTemplates` ((#v-ui-dashboardurltemplates)) - Corresponds to [`dashboard_url_templates`](https://developer.hashicorp.com/consul/docs/agent/config/config-files#ui_config_dashboard_url_templates)
|
||||
- `dashboardURLTemplates` ((#v-ui-dashboardurltemplates)) - Corresponds to [`dashboard_url_templates`](/consul/docs/agent/config/config-files#ui_config_dashboard_url_templates)
|
||||
configuration.
|
||||
|
||||
- `service` ((#v-ui-dashboardurltemplates-service)) (`string: ""`) - Sets [`dashboardURLTemplates.service`](https://developer.hashicorp.com/consul/docs/agent/config/config-files#ui_config_dashboard_url_templates_service).
|
||||
- `service` ((#v-ui-dashboardurltemplates-service)) (`string: ""`) - Sets [`dashboardURLTemplates.service`](/consul/docs/agent/config/config-files#ui_config_dashboard_url_templates_service).
|
||||
|
||||
### syncCatalog ((#h-synccatalog))
|
||||
|
||||
|
@ -1358,7 +1358,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
to run the sync program.
|
||||
|
||||
- `default` ((#v-synccatalog-default)) (`boolean: true`) - If true, all valid services in K8S are
|
||||
synced by default. If false, the service must be [annotated](https://developer.hashicorp.com/consul/docs/k8s/service-sync#enable-and-disable-sync)
|
||||
synced by default. If false, the service must be [annotated](/consul/docs/k8s/service-sync#enable-and-disable-sync)
|
||||
properly to sync.
|
||||
In either case an annotation can override the default.
|
||||
|
||||
|
@ -1538,7 +1538,7 @@ Use these links to navigate to a particular top-level stanza.
|
|||
|
||||
- `default` ((#v-connectinject-default)) (`boolean: false`) - If true, the injector will inject the
|
||||
Connect sidecar into all pods by default. Otherwise, pods must specify the
|
||||
[injection annotation](https://developer.hashicorp.com/consul/docs/k8s/connect#consul-hashicorp-com-connect-inject)
|
||||
[injection annotation](/consul/docs/k8s/connect#consul-hashicorp-com-connect-inject)
|
||||
to opt-in to Connect injection. If this is true, pods can use the same annotation
|
||||
to explicitly opt-out of injection.
|
||||
|
||||
|
@ -1816,8 +1816,8 @@ Use these links to navigate to a particular top-level stanza.
|
|||
If set to an empty string all service accounts can log in.
|
||||
This only has effect if ACLs are enabled.
|
||||
|
||||
Refer to Auth methods [Binding rules](https://developer.hashicorp.com/consul/docs/security/acl/auth-methods#binding-rules)
|
||||
and [Trusted identiy attributes](https://developer.hashicorp.com/consul/docs/security/acl/auth-methods/kubernetes#trusted-identity-attributes)
|
||||
Refer to Auth methods [Binding rules](/consul/docs/security/acl/auth-methods#binding-rules)
|
||||
and [Trusted identiy attributes](/consul/docs/security/acl/auth-methods/kubernetes#trusted-identity-attributes)
|
||||
for more details.
|
||||
Requires Consul >= v1.5.
|
||||
|
||||
|
@ -1873,11 +1873,11 @@ Use these links to navigate to a particular top-level stanza.
|
|||
|
||||
### meshGateway ((#h-meshgateway))
|
||||
|
||||
- `meshGateway` ((#v-meshgateway)) - [Mesh Gateways](https://developer.hashicorp.com/consul/docs/connect/gateways/mesh-gateway) enable Consul Connect to work across Consul datacenters.
|
||||
- `meshGateway` ((#v-meshgateway)) - [Mesh Gateways](/consul/docs/connect/gateways/mesh-gateway) enable Consul Connect to work across Consul datacenters.
|
||||
|
||||
- `enabled` ((#v-meshgateway-enabled)) (`boolean: false`) - If [mesh gateways](https://developer.hashicorp.com/consul/docs/connect/gateways/mesh-gateway) are enabled, a Deployment will be created that runs
|
||||
- `enabled` ((#v-meshgateway-enabled)) (`boolean: false`) - If [mesh gateways](/consul/docs/connect/gateways/mesh-gateway) are enabled, a Deployment will be created that runs
|
||||
gateways and Consul Connect will be configured to use gateways.
|
||||
This setting is required for [Cluster Peering](https://developer.hashicorp.com/consul/docs/connect/cluster-peering/k8s).
|
||||
This setting is required for [Cluster Peering](/consul/docs/connect/cluster-peering/k8s).
|
||||
Requirements: consul 1.6.0+ if using `global.acls.manageSystemACLs``.
|
||||
|
||||
- `replicas` ((#v-meshgateway-replicas)) (`integer: 1`) - Number of replicas for the Deployment.
|
||||
|
|
Loading…
Reference in New Issue