Back to Charts

cert-manager

stable/cert-manager/README.md

latest6.9 KB
Original Source

cert-manager

This Helm chart is deprecated. All future changes to the cert-manager Helm chart should be made in the official repository. The latest version of the chart can be found on the Helm Hub.

cert-manager is a Kubernetes addon to automate the management and issuance of TLS certificates from various issuing sources.

It will ensure certificates are valid and up to date periodically, and attempt to renew certificates at an appropriate time before expiry.

Prerequisites

  • Kubernetes 1.7+

Installing the Chart

Full installation instructions, including details on how to configure extra functionality in cert-manager can be found in the getting started docs.

To install the chart with the release name my-release:

console
## IMPORTANT: you MUST install the cert-manager CRDs **before** installing the
## cert-manager Helm chart
$ kubectl apply \
    -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.6/deploy/manifests/00-crds.yaml

## IMPORTANT: if you are deploying into a namespace that **already exists**,
## you MUST ensure the namespace has an additional label on it in order for
## the deployment to succeed
$ kubectl label namespace <deployment-namespace> certmanager.k8s.io/disable-validation="true"

## Install the cert-manager helm chart
$ helm install --name my-release stable/cert-manager

In order to begin issuing certificates, you will need to set up a ClusterIssuer or Issuer resource (for example, by creating a 'letsencrypt-staging' issuer).

More information on the different types of issuers and how to configure them can be found in our documentation:

https://cert-manager.readthedocs.io/en/latest/reference/issuers.html

For information on how to configure cert-manager to automatically provision Certificates for Ingress resources, take a look at the ingress-shim documentation:

https://cert-manager.readthedocs.io/en/latest/reference/ingress-shim.html

Tip: List all releases using helm list

Upgrading the Chart

Special considerations may be required when upgrading the Helm chart, and these are documented in our full upgrading guide. Please check here before perform upgrades!

Uninstalling the Chart

To uninstall/delete the my-release deployment:

console
$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the cert-manager chart and their default values.

ParameterDescriptionDefault
global.imagePullSecretsReference to one or more secrets to be used when pulling images[]
image.repositoryImage repositoryquay.io/jetstack/cert-manager-controller
image.tagImage tagv0.6.2
image.pullPolicyImage pull policyIfNotPresent
replicaCountNumber of cert-manager replicas1
clusterResourceNamespaceOverride the namespace used to store DNS provider credentials etc. for ClusterIssuer resourcesSame namespace as cert-manager pod
leaderElection.NamespaceOverride the namespace used to store the ConfigMap for leader electionSame namespace as cert-manager pod
extraArgsOptional flags for cert-manager[]
extraEnvOptional environment variables for cert-manager[]
rbac.createIf true, create and use RBAC resourcestrue
serviceAccount.createIf true, create a new service accounttrue
serviceAccount.nameService account to be used. If not set and serviceAccount.create is true, a name is generated using the fullname template
resourcesCPU/memory resource requests/limits
securityContext.enabledEnable security contextfalse
securityContext.fsGroupGroup ID for the container1001
securityContext.runAsUserUser ID for the container1001
nodeSelectorNode labels for pod assignment{}
affinityNode affinity for pod assignment{}
tolerationsNode tolerations for pod assignment[]
ingressShim.defaultIssuerNameOptional default issuer to use for ingress resources
ingressShim.defaultIssuerKindOptional default issuer kind to use for ingress resources
ingressShim.defaultACMEChallengeTypeOptional default challenge type to use for ingresses using ACME issuers
ingressShim.defaultACMEDNS01ChallengeProviderOptional default DNS01 challenge provider to use for ingresses using ACME issuers with DNS01
podAnnotationsAnnotations to add to the cert-manager pod{}
podDnsPolicyOptional cert-manager pod DNS policy
podDnsConfigOptional cert-manager pod DNS configurations
podLabelsLabels to add to the cert-manager pod{}
priorityClassNamePriority class name for cert-manager and webhook pods""
http_proxyValue of the HTTP_PROXY environment variable in the cert-manager pod
https_proxyValue of the HTTPS_PROXY environment variable in the cert-manager pod
no_proxyValue of the NO_PROXY environment variable in the cert-manager pod
webhook.enabledToggles whether the validating webhook component should be installedtrue
webhook.replicaCountNumber of cert-manager webhook replicas1
webhook.podAnnotationsAnnotations to add to the webhook pods{}
webhook.extraArgsOptional flags for cert-manager webhook component[]
webhook.resourcesCPU/memory resource requests/limits for the webhook pods
webhook.image.repositoryWebhook image repositoryquay.io/jetstack/cert-manager-webhook
webhook.image.tagWebhook image tagv0.6.2
webhook.image.pullPolicyWebhook image pull policyIfNotPresent
webhook.caSyncImage.repositoryCA sync image repositoryquay.io/munnerz/apiextensions-ca-helper
webhook.caSyncImage.tagCA sync image tagv0.1.0
webhook.caSyncImage.pullPolicyCA sync image pull policyIfNotPresent

Specify each parameter using the --set key=value[,key=value] argument to helm install.

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

console
$ helm install --name my-release -f values.yaml .

Tip: You can use the default values.yaml

Contributing

This chart is maintained at github.com/jetstack/cert-manager.