3.4.5-0.1.0 • Published 5 years ago

@helm-charts/bitnami-nginx-ingress-controller v3.4.5-0.1.0

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

@helm-charts/bitnami-nginx-ingress-controller

Chart for the nginx Ingress controller

FieldValue
Repository Namebitnami
Chart Namenginx-ingress-controller
Chart Version3.4.5
NPM Package Version0.1.0
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
##
# global:
#   imageRegistry: myRegistryName
#   imagePullSecrets:
#     - myRegistryKeySecretName

## Bitnami NGINX Ingress controller image version
## ref: https://hub.docker.com/r/bitnami/nginx-ingress-controller/tags/
name: controller
image:
  registry: docker.io
  repository: bitnami/nginx-ingress-controller
  tag: 0.24.1
  ## Specify a imagePullPolicy
  ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  ##
  pullPolicy: IfNotPresent
  ## Optionally specify an array of imagePullSecrets.
  ## Secrets must be manually created in the namespace.
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  ##
  # pullSecrets:
  #   - myRegistryKeySecretName

config:
  use-geoip: 'false'
  use-geoip2: 'true'
# Will add custom header to Nginx https://github.com/kubernetes/ingress-nginx/tree/master/docs/examples/customization/custom-headers
headers: {}

# Required for use with CNI based kubernetes installations (such as ones set up by kubeadm),
# since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920
# is merged
hostNetwork: false

# Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'.
# By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller
# to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
dnsPolicy: ClusterFirst

## Use host ports 80 and 443
daemonset:
  useHostPort: false

  hostPorts:
    http: 80
    https: 443

## Required only if defaultBackend.enabled = false
## Must be <namespace>/<service_name>
##
defaultBackendService: ''

## Election ID to use for status update
##
electionID: ingress-controller-leader

## Name of the ingress class to route through this controller
##
ingressClass: nginx

# labels to add to the pod container metadata
podLabels: {}
#  key: value

## Allows customization of the external service
## the ingress will be bound to via DNS
publishService:
  enabled: false
  ## Allows overriding of the publish service to bind to
  ## Must be <namespace>/<service_name>
  ##
  pathOverride: ''

## Limit the scope of the controller
##
scope:
  enabled: false
  namespace: '' # defaults to .Release.Namespace

## Additional command line arguments to pass to nginx-ingress-controller
## E.g. to specify the default SSL certificate you can use
## extraArgs:
##   default-ssl-certificate: "<namespace>/<secret_name>"
extraArgs: {}

## Additional environment variables to set
extraEnvs: []
# extraEnvs:
#   - name: FOO
#     valueFrom:
#       secretKeyRef:
#         key: FOO
#         name: secret-resource

## DaemonSet or Deployment
##
kind: Deployment

# The update strategy to apply to the Deployment or DaemonSet
##
updateStrategy: {}
#  rollingUpdate:
#    maxUnavailable: 1
#  type: RollingUpdate

# minReadySeconds to avoid killing pods before we are ready
##
minReadySeconds: 0

## Node tolerations for server scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
##
tolerations: []
#  - key: "key"
#    operator: "Equal|Exists"
#    value: "value"
#    effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"

affinity: {}

## Node labels for controller pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}

## Liveness and readiness probe values
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
##
livenessProbe:
  failureThreshold: 3
  initialDelaySeconds: 10
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
  port: 10254
readinessProbe:
  failureThreshold: 3
  initialDelaySeconds: 10
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
  port: 10254

## Annotations to be added to controller pods
##
podAnnotations: {}

replicaCount: 1

minAvailable: 1

resources: {}
#  limits:
#    cpu: 100m
#    memory: 64Mi
#  requests:
#    cpu: 100m
#    memory: 64Mi

autoscaling:
  enabled: false
#  minReplicas: 1
#  maxReplicas: 11
#  targetCPUUtilizationPercentage: 50
#  targetMemoryUtilizationPercentage: 50

## Override NGINX template
customTemplate:
  configMapName: ''
  configMapKey: ''

service:
  annotations: {}
  labels: {}
  clusterIP: ''

  ## List of IP addresses at which the controller services are available
  ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  ##
  externalIPs: []

  loadBalancerIP: ''
  loadBalancerSourceRanges: []

  enableHttp: true
  enableHttps: true

  ## Set external traffic policy to: "Local" to preserve source IP on
  ## providers supporting it
  ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
  externalTrafficPolicy: ''

  healthCheckNodePort: 0

  targetPorts:
    http: http
    https: https

  type: LoadBalancer

  # type: NodePort
  # nodePorts:
  #   http: 32080
  #   https: 32443
  nodePorts:
    http: ''
    https: ''

extraContainers: []
## Additional containers to be added to the controller pod.
## See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
#  - name: my-sidecar
#    image: nginx:latest
#  - name: lemonldap-ng-controller
#    image: lemonldapng/lemonldap-ng-controller:0.2.0
#    args:
#      - /lemonldap-ng-controller
#      - --alsologtostderr
#      - --configmap=$(POD_NAMESPACE)/lemonldap-ng-configuration
#    env:
#      - name: POD_NAME
#        valueFrom:
#          fieldRef:
#            fieldPath: metadata.name
#      - name: POD_NAMESPACE
#        valueFrom:
#          fieldRef:
#            fieldPath: metadata.namespace
#    volumeMounts:
#    - name: copy-portal-skins
#      mountPath: /srv/var/lib/lemonldap-ng/portal/skins

extraVolumeMounts: []
## Additional volumeMounts to the controller main container.
#  - name: copy-portal-skins
#   mountPath: /var/lib/lemonldap-ng/portal/skins

extraVolumes: []
## Additional volumes to the controller pod.
#  - name: copy-portal-skins
#    emptyDir: {}

extraInitContainers: []
## Containers, which are run before the app containers are started.
# - name: init-myservice
#   image: bitnami/minideb
#   command: ['sh', '-c', 'install_packages dnsutils && until nslookup myservice; do echo waiting for myservice; sleep 2; done;']

stats:
  enabled: false

  service:
    annotations: {}
    clusterIP: ''

    ## List of IP addresses at which the stats service is available
    ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ##
    externalIPs: []

    loadBalancerIP: ''
    loadBalancerSourceRanges: []
    port: 18080
    type: ClusterIP

## If controller.stats.enabled = true and controller.metrics.enabled = true, Prometheus metrics will be exported
##
metrics:
  enabled: false

  service:
    annotations:
      prometheus.io/scrape: 'true'
      prometheus.io/port: '10254'

    clusterIP: ''

    ## List of IP addresses at which the stats-exporter service is available
    ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ##
    externalIPs: []

    loadBalancerIP: ''
    loadBalancerSourceRanges: []
    port: 9913
    type: ClusterIP

lifecycle: {}

priorityClassName: ''

## Rollback limit
##
revisionHistoryLimit: 10

## Default 404 backend
##
defaultBackend:
  ## If false, controller.defaultBackendService must be provided
  ##
  enabled: true

  name: default-backend
  image:
    registry: docker.io
    repository: bitnami/nginx
    tag: latest
    pullPolicy: Always
    ## Optionally specify an array of imagePullSecrets.
    ## Secrets must be manually created in the namespace.
    ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
    ##
    # pullSecrets:
    #   - myRegistryKeySecretName

  extraArgs: {}

  port: 8080

  ## Node tolerations for server scheduling to nodes with taints
  ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  ##
  tolerations: []
  #  - key: "key"
  #    operator: "Equal|Exists"
  #    value: "value"
  #    effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"

  affinity: {}

  # labels to add to the pod container metadata
  podLabels: {}
  #  key: value

  ## Node labels for default backend pod assignment
  ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}

  ## Annotations to be added to default backend pods
  ##
  podAnnotations: {}

  replicaCount: 1

  minAvailable: 1

  resources: {}
  # limits:
  #   cpu: 10m
  #   memory: 20Mi
  # requests:
  #   cpu: 10m
  #   memory: 20Mi

  service:
    annotations: {}
    clusterIP: ''

    ## List of IP addresses at which the default backend service is available
    ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ##
    externalIPs: []

    loadBalancerIP: ''
    loadBalancerSourceRanges: []
    port: 80
    type: ClusterIP

  priorityClassName: ''

## Enable RBAC as per https://github.com/kubernetes/ingress/tree/master/examples/rbac/nginx and https://github.com/kubernetes/ingress/issues/266
rbac:
  create: true

## Kubernetes Security Context
## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
##
securityContext:
  fsGroup: 1001
  runAsUser: 1001

# If true, create & use Pod Security Policy resources
# https://kubernetes.io/docs/concepts/policy/pod-security-policy/
podSecurityPolicy:
  enabled: false

serviceAccount:
  create: true
  name:

# TCP service key:value pairs
# Ref: https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/tcp
##
tcp: {}
#  8080: "default/example-tcp-svc:9000"

# UDP service key:value pairs
# Ref: https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/udp
##
udp: {}
#  53: "kube-system/kube-dns:53"

Nginx Ingress Controller

nginx-ingress is an Ingress controller that uses NGINX to manage external access to HTTP services in a Kubernetes cluster.

TL;DR;

$ helm install bitnami/nginx-ingress-controller

Introduction

Bitnami charts for Helm are carefully engineered, actively maintained and are the quickest and easiest way to deploy containers on a Kubernetes cluster that are ready to handle production workloads.

This chart bootstraps a nginx-ingress deployment on a Kubernetes cluster using the Helm package manager.

Bitnami charts can be used with Kubeapps for deployment and management of Helm Charts in clusters. This Helm chart has been tested on top of Bitnami Kubernetes Production Runtime (BKPR). Deploy BKPR to get automated TLS certificates, logging and monitoring for your applications.

Prerequisites

  • Kubernetes 1.6+

Installing the Chart

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

$ helm install --name my-release bitnami/nginx-ingress-controller

The command deploys nginx-ingress-controller on the Kubernetes cluster in the default configuration.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

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

Configuration

The following tables lists the configurable parameters of the nginx-ingress-controller chart and their default values.

ParameterDescriptionDefault
global.imageRegistryGlobal Docker image registrynil
global.imagePullSecretsGlobal Docker registry secret names as an array[] (does not add image pull secrets to deployed pods)
namename of the controller componentcontroller
image.registryname of the container image registrydocker.io
image.repositorycontroller container image repositorybitnami/nginx-ingress-controller
image.tagcontroller container image tag{VERSION}
image.pullPolicycontroller container image pull policyIfNotPresent
confignginx ConfigMap entriesuse-geoip: "false", use-geoip2: "true"
hostNetworkIf the nginx deployment / daemonset should run on the host's network namespace. Do not set this when controller.service.externalIPs is set and kube-proxy is used as there will be a port-conflict for port 80false
defaultBackendServicedefault 404 backend service; required only if defaultBackend.enabled = false""
electionIDelection ID to use for the status updateingress-controller-leader
extraEnvsany additional environment variables to set in the pods{}
extraContainersSidecar containers to add to the controller pod. See LemonLDAP::NG controller as example{}
extraVolumeMountsAdditional volumeMounts to the controller main container{}
extraVolumesAdditional volumes to the controller pod{}
extraInitContainersContainers, which are run before the app containers are started[]
ingressClassname of the ingress class to route through this controllernginx
scope.enabledlimit the scope of the ingress controllerfalse (watch all namespaces)
scope.namespacenamespace to watch for ingress"" (use the release namespace)
extraArgsAdditional controller container arguments{}
kindinstall as Deployment or DaemonSetDeployment
daemonset.useHostPortIf controller.kind is DaemonSet, this will enable hostPort for TCP/80 and TCP/443false
daemonset.hostPorts.httpIf controller.daemonset.useHostPort is true and this is non-empty, it sets the hostPort"80"
daemonset.hostPorts.httpsIf controller.daemonset.useHostPort is true and this is non-empty, it sets the hostPort"443"
tolerationsnode taints to tolerate (requires Kubernetes >=1.6)[]
affinitynode/pod affinities (requires Kubernetes >=1.6){}
minReadySecondshow many seconds a pod needs to be ready before killing the next, during update0
nodeSelectornode labels for pod assignment{}
podAnnotationsannotations to be added to pods{}
podLabelslabels to add to the pod container metadata{}
replicaCountdesired number of controller pods1
minAvailableminimum number of available controller pods for PodDisruptionBudget1
resourcescontroller pod resource requests & limits{}
priorityClassNamecontroller priorityClassNamenil
lifecyclecontroller pod lifecycle hooks{}
service.annotationsannotations for controller service{}
service.labelslabels for controller service{}
publishService.enabledif true, the controller will set the endpoint records on the ingress objects to reflect those on the servicefalse
publishService.pathOverrideoverride of the default publish-service name""
service.clusterIPinternal controller cluster service IP""
service.externalIPscontroller service external IP addresses. Do not set this when controller.hostNetwork is set to true and kube-proxy is used as there will be a port-conflict for port 80[]
service.externalTrafficPolicyIf controller.service.type is NodePort or LoadBalancer, set this to Local to enable source IP preservation"Cluster"
service.healthCheckNodePortIf controller.service.type is NodePort or LoadBalancer and controller.service.externalTrafficPolicy is set to Local, set this to the managed health-check port the kube-proxy will expose. If blank, a random port in the NodePort range will be assigned""
service.loadBalancerIPIP address to assign to load balancer (if supported)""
service.loadBalancerSourceRangeslist of IP CIDRs allowed access to load balancer (if supported)[]
service.enableHttpif port 80 should be opened for servicetrue
service.enableHttpsif port 443 should be opened for servicetrue
service.targetPorts.httpSets the targetPort that maps to the Ingress' port 8080
service.targetPorts.httpsSets the targetPort that maps to the Ingress' port 443443
service.typetype of controller service to createLoadBalancer
service.nodePorts.httpIf controller.service.type is NodePort and this is non-empty, it sets the nodePort that maps to the Ingress' port 80""
service.nodePorts.httpsIf controller.service.type is NodePort and this is non-empty, it sets the nodePort that maps to the Ingress' port 443""
livenessProbe.initialDelaySecondsDelay before liveness probe is initiated10
livenessProbe.periodSecondsHow often to perform the probe10
livenessProbe.timeoutSecondsWhen the probe times out5
livenessProbe.successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.1
livenessProbe.failureThresholdMinimum consecutive failures for the probe to be considered failed after having succeeded.3
livenessProbe.portThe port number that the liveness probe will listen on.10254
readinessProbe.initialDelaySecondsDelay before readiness probe is initiated10
readinessProbe.periodSecondsHow often to perform the probe10
readinessProbe.timeoutSecondsWhen the probe times out1
readinessProbe.successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.1
readinessProbe.failureThresholdMinimum consecutive failures for the probe to be considered failed after having succeeded.3
readinessProbe.portThe port number that the readiness probe will listen on.10254
stats.enabledif true, enable "vts-status" pagefalse
stats.service.annotationsannotations for controller stats service{}
stats.service.clusterIPinternal controller stats cluster service IP""
stats.service.externalIPscontroller service stats external IP addresses[]
stats.service.loadBalancerIPIP address to assign to load balancer (if supported)""
stats.service.loadBalancerSourceRangeslist of IP CIDRs allowed access to load balancer (if supported)[]
stats.service.typetype of controller stats service to createClusterIP
metrics.enabledif true, enable Prometheus metrics (controller.stats.enabled must be true as well)false
metrics.service.annotationsannotations for Prometheus metrics service{}
metrics.service.clusterIPcluster IP address to assign to service""
metrics.service.externalIPsPrometheus metrics service external IP addresses[]
metrics.service.loadBalancerIPIP address to assign to load balancer (if supported)""
metrics.service.loadBalancerSourceRangeslist of IP CIDRs allowed access to load balancer (if supported)[]
metrics.service.portPrometheus metrics service port9913
metrics.service.typetype of Prometheus metrics service to createClusterIP
customTemplate.configMapNameconfigMap containing a custom nginx template""
customTemplate.configMapKeyconfigMap key containing the nginx template""
headersconfigMap key:value pairs containing the custom headers for Nginx{}
updateStrategyallows setting of RollingUpdate strategy{}
defaultBackend.enabledIf false, controller.defaultBackendService must be providedtrue
defaultBackend.namename of the default backend componentdefault-backend
defaultBackend.image.repositorydefault backend container image repositoryk8s.gcr.io/defaultbackend
defaultBackend.image.tagdefault backend container image tag1.4
defaultBackend.image.pullPolicydefault backend container image pull policyIfNotPresent
defaultBackend.extraArgsAdditional default backend container arguments{}
defaultBackend.portHttp port number8080
defaultBackend.tolerationsnode taints to tolerate (requires Kubernetes >=1.6)[]
defaultBackend.affinitynode/pod affinities (requires Kubernetes >=1.6){}
defaultBackend.nodeSelectornode labels for pod assignment{}
defaultBackend.podAnnotationsannotations to be added to pods{}
defaultBackend.podLabelslabels to add to the pod container metadata{}
defaultBackend.replicaCountdesired number of default backend pods1
defaultBackend.minAvailableminimum number of available default backend pods for PodDisruptionBudget1
defaultBackend.resourcesdefault backend pod resource requests & limits{}
defaultBackend.priorityClassNamedefault backend priorityClassNamenil
defaultBackend.service.annotationsannotations for default backend service{}
defaultBackend.service.clusterIPinternal default backend cluster service IP""
defaultBackend.service.externalIPsdefault backend service external IP addresses[]
defaultBackend.service.loadBalancerIPIP address to assign to load balancer (if supported)""
defaultBackend.service.loadBalancerSourceRangeslist of IP CIDRs allowed access to load balancer (if supported)[]
defaultBackend.service.typetype of default backend service to createClusterIP
imagePullSecretsname of Secret resource containing private registry credentialsnil
rbac.createif true, create & use RBAC resourcestrue
securityContext.fsGroupGroup ID for the container1001
securityContext.runAsUserUser ID for the container1001
podSecurityPolicy.enabledif true, create & use Pod Security Policy resources
3.4.5-0.1.0

5 years ago

3.4.4-0.1.0

5 years ago

3.4.3-0.1.0

5 years ago

3.4.2-0.1.0

5 years ago

3.4.1-0.1.0

5 years ago

3.4.0-0.1.0

5 years ago

3.3.0-0.1.0

5 years ago

3.2.3-0.1.0

5 years ago

3.2.2-0.1.0

5 years ago

3.2.1-0.1.0

5 years ago

3.2.0-0.1.0

5 years ago

3.1.3-0.1.0

5 years ago

3.1.2-0.1.0

5 years ago

3.1.1-0.1.0

5 years ago

3.1.0-0.1.0

5 years ago

3.0.0-0.1.0

5 years ago

2.1.4-0.1.0

5 years ago

2.1.3-0.1.0

5 years ago

2.1.2-0.1.0

5 years ago

2.1.1-0.1.0

5 years ago

2.1.0-0.1.0

5 years ago

2.0.4-0.1.0

5 years ago

2.0.3-0.1.0

5 years ago

2.0.2-0.1.0

5 years ago

2.0.1-0.1.0

5 years ago

2.0.0-0.1.0

5 years ago

1.0.0-0.1.0

5 years ago

0.0.1-0.1.0

5 years ago