0.8.0-0.1.0 • Published 6 years ago

@helm-charts/banzaicloud-stable-kubernetes-dashboard v0.8.0-0.1.0

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

@helm-charts/banzaicloud-stable-kubernetes-dashboard

General-purpose web UI for Kubernetes clusters

FieldValue
Repository Namebanzaicloud-stable
Chart Namekubernetes-dashboard
Chart Version0.8.0
NPM Package Version0.1.0
# Default values for kubernetes-dashboard
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value

image:
  repository: k8s.gcr.io/kubernetes-dashboard-amd64
  tag: v1.10.0
  pullPolicy: IfNotPresent

replicaCount: 1

## Here labels can be added to the kubernetes dashboard deployment
##
labels: {}
# kubernetes.io/cluster-service: "true"
# kubernetes.io/name: "Kubernetes Dashboard"

## Additional container arguments
##
# extraArgs:
#   - --enable-insecure-login
#   - --system-banner="Welcome to Kubernetes"

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

## List of node taints to tolerate (requires Kubernetes >= 1.6)
tolerations: []
#  - key: "key"
#    operator: "Equal|Exists"
#    value: "value"
#    effect: "NoSchedule|PreferNoSchedule|NoExecute"

## Affinity
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}

service:
  type: ClusterIP
  externalPort: 443

  ## This allows an override of the heapster service name
  ## Default: {{ .Chart.Name }}
  ##
  # nameOverride:

  ## Kubernetes Dashboard Service annotations
  ##
  annotations: {}
  # foo.io/bar: "true"

  ## Here labels can be added to the Kubernetes Dashboard service
  ##
  labels: {}
  # kubernetes.io/name: "Kubernetes Dashboard"

resources:
  limits:
    cpu: 100m
    memory: 100Mi
  requests:
    cpu: 100m
    memory: 100Mi

ingress:
  ## If true, Kubernetes Dashboard Ingress will be created.
  ##
  enabled: false

  ## Kubernetes Dashboard Ingress annotations
  ##
  # annotations:
  #   kubernetes.io/ingress.class: nginx
  #   nginx.ingress.kubernetes.io/secure-backends: "true"
  #   kubernetes.io/tls-acme: 'true'

  ## Kubernetes Dashboard Ingress path
  ##
  path: /

  ## Kubernetes Dashboard Ingress hostnames
  ## Must be provided if Ingress is enabled
  ##
  # hosts:
  #   - kubernetes-dashboard.domain.com
  ## Kubernetes Dashboard Ingress TLS configuration
  ## Secrets must be manually created in the namespace
  ##
  # tls:
  #   - secretName: kubernetes-dashboard-tls
  #     hosts:
  #       - kubernetes-dashboard.domain.com

rbac:
  # Specifies whether RBAC resources should be created
  create: true

  # Specifies whether cluster-admin ClusterRole will be used for dashboard
  # ServiceAccount (NOT RECOMMENDED).
  clusterAdminRole: false

serviceAccount:
  # Specifies whether a service account should be created
  create: true
  # The name of the service account to use.
  # If not set and create is true, a name is generated using the fullname template
  name:

livenessProbe:
  # Number of seconds to wait before sending first probe
  initialDelaySeconds: 30
  # Number of seconds to wait for probe response
  timeoutSeconds: 30

kubernetes-dashboard

Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and troubleshoot them, as well as manage the cluster itself.

TL;DR;

$ helm install stable/kubernetes-dashboard

Introduction

This chart bootstraps a Kubernetes Dashboard deployment on a Kubernetes cluster using the Helm package manager.

Installing the Chart

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

$ helm install stable/kubernetes-dashboard --name my-release

The command deploys kubernetes-dashboard on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

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.

Access control

It is critical for the Kubernetes cluster to correctly setup access control of Kubernetes Dashboard. See this guide for best practises.

It is highly recommended to use RBAC with minimal privileges needed for Dashboard to run.

Configuration

The following table lists the configurable parameters of the kubernetes-dashboard chart and their default values.

ParameterDescriptionDefault
image.repositoryRepository for container imagek8s.gcr.io/kubernetes-dashboard-amd64
image.tagImage tagv1.10.0
image.pullPolicyImage pull policyIfNotPresent
replicaCountNumber of replicas1
extraArgsAdditional container arguments[]
nodeSelectornode labels for pod assignment{}
tolerationsList of node taints to tolerate (requires Kubernetes >= 1.6)[]
affinityAffinity for pod assignment[]
service.externalPortDashboard external port443
service.internalPortDashboard internal port443
ingress.annotationsSpecify ingress classkubernetes.io/ingress.class: nginx
ingress.enabledEnable ingress controller resourcefalse
ingress.pathPath to match against incoming requests. Must begin with a '/'/
ingress.hostsDashboard Hostnamesnil
ingress.tlsIngress TLS configuration[]
resourcesPod resource requests & limitslimits: {cpu: 100m, memory: 100Mi}, requests: {cpu: 100m, memory: 100Mi}
rbac.createCreate & use RBAC resourcestrue
rbac.clusterAdminRole"cluster-admin" ClusterRole will be used for dashboard ServiceAccount (NOT RECOMMENDED)false
serviceAccount.createWhether a new service account name that the agent will use should be created.true
serviceAccount.nameService account to be used. If not set and serviceAccount.create is true a name is generated using the fullname template.
livenessProbe.initialDelaySecondsNumber of seconds to wait before sending first probe30
livenessProbe.timeoutSecondsNumber of seconds to wait for probe response30

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

$ helm install stable/kubernetes-dashboard --name my-release \
  --set=service.externalPort=8080,resources.limits.cpu=200m

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

$ helm install stable/kubernetes-dashboard --name my-release -f values.yaml

Tip: You can use the default values.yaml

Using the dashboard with 'kubectl proxy'

When running 'kubectl proxy', the address localhost:8001/ui automatically expands to http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/. For this to reach the dashboard, the name of the service must be 'kubernetes-dashboard', not any other value as set by Helm. You can manually specify this using the value 'fullnameOverride':

fullnameOverride: 'kubernetes-dashboard'