Dashboard 2.0 install

Kubernetes Dashboard 2.0 install

2.0 Dashboard stil in Beta, this notes to install the dashboard to check the new features

  1. Install the Beat dashboard.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
  1. Create the admin user and assing admin role in kubernetes-dashboard name space.
cat > admin-user.yaml <<-EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

EOF

kubectl apply -f admin-user.yaml
  1. Get Default Service account token to login dashboard
 kubectl get secret $(kubectl get sa admin-user -o jsonpath='{.secrets[*].name}' -n kubernetes-dashboard) -o jsonpath='{.data.token}' -n kubernetes-dashboard| base64 --decode;echo
  1. Run the proxy command to access the URL
kubectl proxy -n kubernetes-dashboard
Starting to serve on 127.0.0.1:8001
  1. Access the dashboard now

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

  1. Install the metrix server to see CPU usage.
helm install metrics-server  stable/metrics-server -f values.yaml -n kubernetes-dashboard

values.yaml file used for helm install

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

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

apiService:
  # Specifies if the v1beta1.metrics.k8s.io API service should be created.
  #
  # You typically want this enabled! If you disable API service creation you have to
  # manage it outside of this chart for e.g horizontal pod autoscaling to
  # work with this release.
  create: true

hostNetwork:
  # Specifies if metrics-server should be started in hostNetwork mode.
  #
  # You would require this enabled if you use alternate overlay networking for pods and
  # API server unable to communicate with metrics-server. As an example, this is required
  # if you use Weave network on EKS
  enabled: false

image:
  repository: gcr.io/google_containers/metrics-server-amd64
  tag: v0.3.5
  pullPolicy: IfNotPresent

imagePullSecrets: []
# - registrySecretName

args:
  - --kubelet-insecure-tls
  - --kubelet-preferred-address-types=InternalIP

resources: {}

nodeSelector: {}

tolerations: []

affinity: {}

replicas: 1

podAnnotations: {}
#  The following annotations guarantee scheduling for critical add-on pods.
#    See more at: https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/
#  scheduler.alpha.kubernetes.io/critical-pod: ''
#  priorityClassName: system-node-critical

extraVolumeMounts: []
#  - name: secrets
#    mountPath: /etc/kubernetes/secrets
#    readOnly: true

extraVolumes: []
#  - name: secrets
#    secret:
#      secretName: kube-apiserver

livenessProbe:
  httpGet:
    path: /healthz
    port: https
    scheme: HTTPS
  initialDelaySeconds: 20

readinessProbe:
  httpGet:
    path: /healthz
    port: https
    scheme: HTTPS
  initialDelaySeconds: 20

securityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop: ["all"]
  readOnlyRootFilesystem: true
  runAsGroup: 10001
  runAsNonRoot: true
  runAsUser: 10001

service:
  annotations: {}
  labels: {}
  #  Add these labels to have metrics-server show up in `kubectl cluster-info`
  #  kubernetes.io/cluster-service: "true"
  #  kubernetes.io/name: "Metrics-server"
  port: 443
  type: ClusterIP

podDisruptionBudget:
  # https://kubernetes.io/docs/tasks/run-application/configure-pdb/
  enabled: false
  minAvailable:
  maxUnavailable:

Copyright © 2004, Software Groups