Welcome to the Linux Foundation Forum!

lab 13.3 - charts on dashboard

Hello,

in guide for lab 13.3 (dashboard configuration) - on figure 13.3 there are beautiful charts for CPU and memory usage. On my dashboard I've everything except those charts. What I'm missing in configuration?

Regards,
Mariusz

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Comments

  • Posts: 2,435

    Hi @mariuszr,

    Assuming that your metrics-server is operational, from any of the following Dashboard view you should see the CPU Usage and Memory Usage charts: Overview, Deployments, Pods, etc... These views can be selected from the left navigation panel.

    Regards,
    -Chris

  • Posts: 4

    Hi Chris,

    Yes, metrics-server is working fine.

    here how it looks in my case

    Regards,
    Mariusz

  • Posts: 2,435

    Hi @mariuszr,

    Did you happen to install the dashboard from a helm chart? Can you confirm that the dashaccess clusterrolebinding binds the correct serviceaccount with the correct clusterrole?

    Also, is the metrics-server deployment configured with the additional --kubelet-... arguments as presented in step 5?

    Regards,
    -Chris

  • Posts: 4

    Hi Chris,

    yes, dashboard installed from helm chart (with service modified to NodePort)
    yes, roles are correct:
    Name: dashaccess
    Labels:
    Annotations:
    Role:
    Kind: ClusterRole
    Name: cluster-admin
    Subjects:
    Kind Name Namespace
    ---- ---- ---------
    ServiceAccount dashboard-kubernetes-dashboard default___

    and, one more yes, metrics-server deployment had both --kubelet-... arguments - bellow piece of describe command
    "Containers:
    metrics-server:
    Image: k8s.gcr.io/metrics-server/metrics-server:v0.3.7
    Port: 4443/TCP
    Host Port: 0/TCP
    Args:
    --cert-dir=/tmp
    --secure-port=4443
    --kubelet-insecure-tls
    --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname"

    Regards,
    Mariusz

  • Posts: 2,435

    Hi @mariuszr,

    I have seen similar issues in the past with misconfigured Dashboard charts. In those situations the recommendation was to install the Dashboard following the documentation instead. As a result, steps 1 through 4 of the "Configure the Dashboard" lab should be replaced by:

    The installation command from the documentation:
    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

    Edit the service and convert it into a NodePort type service:
    kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard

    List the service to view the value of the node port (3xxxx):
    kubectl -n kubernetes-dashboard get svc kubernetes-dashboard

    Give the Dashboard admin access (edit and update the existing clusterrolebinding, or replace it with a new one):
    kubectl create clusterrolebinding dashaccess --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard

    Regards,
    -Chris

  • Posts: 45

    Hi @chrispokorni, I followed all the steps above; it looks like I did right, except for the secret results, and the service account dashboard-kubernetes-dashboard is not in the default namespace. I guess I'm missing something.

    1. $ kubectl -n kubernetes-dashboard get svc kubernetes-dashboard
    2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    3. kubernetes-dashboard NodePort 10.99.194.242 <none> 443:30951/TCP 5m47s
    4. student@cp:~$ kubectl create clusterrolebinding dashaccess --clusterrole=cluster-admin --serviceaccount=kubernetes-dahboard:kubernetes-dashboard
    5. clusterrolebinding.rbac.authorization.k8s.io/dashaccess created
    6. student@cp:~$ kubectl get serviceaccounts
    7. NAME SECRETS AGE
    8. default 0 64d
    9. myingress-ingress-nginx 0 42d
    10. student@cp:~$ kubectl -n kubernetes-dashboard get serviceaccounts
    11. NAME SECRETS AGE
    12. default 0 28m
    13. kubernetes-dashboard 0 28m
  • Posts: 45

    When I tried to open the Kubernetes dashboard, my browser crashed.

  • Posts: 45

    I created recommended.yaml file from the link and modified its type.

    1. student@cp:~$ kubectl apply -f recommended.yaml
    2. namespace/kubernetes-dashboard created
    3. serviceaccount/kubernetes-dashboard created
    4. service/kubernetes-dashboard created
    5. secret/kubernetes-dashboard-certs created
    6. secret/kubernetes-dashboard-csrf created
    7. secret/kubernetes-dashboard-key-holder created
    8. configmap/kubernetes-dashboard-settings created
    9. role.rbac.authorization.k8s.io/kubernetes-dashboard created
    10. clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
    11. rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
    12. clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
    13. deployment.apps/kubernetes-dashboard created
    14. service/dashboard-metrics-scraper created
    15. Warning: spec.template.metadata.annotations[seccomp.security.alpha.kubernetes.io/pod]: deprecated since v1.19, non-fuctional in a future release; use the "seccompProfile" field instead
    16. deployment.apps/dashboard-metrics-scraper created
  • Posts: 2,435

    Hi @maybel,

    The alternate installation method above was posted in 2021. Since then, the dashboard helm chart has been quite stable. From your comments above, it seems you may be mixing instructions from the lab guide with the ones from my older comment. For consistency I would recommend following the lab guide to install and configure the dashboard chart.

    As far as the browser crashing, I cannot reproduce that, but I know in Chrome you may need to click the advanced button to allow the browser to display unsecured content.

    Regards,
    -Chris

  • Posts: 45

    Thank you, @chrispokorni. I am working on that.

  • Posts: 45

    Hi @chrispokorni, I followed the lab guide. I got all the service accounts but zero secrets, and I wonder how I can fix it.

    1. Get the Kubernetes Dashboard URL by running:
    2. export POD_NAME=$(kubectl get pods -n default -l "app.kubernetes.io/name=kubernetes-dashboard,app.kubernetes.io/instance=k8s-dashboard" -o jsonpath="{.items[0].metadata.name}")
    3. echo https://127.0.0.1:8443/
    4. kubectl -n default port-forward $POD_NAME 8443:8443
    5. student@cp:~$ kubectl get serviceaccounts
    6. NAME SECRETS AGE
    7. default 0 75d
    8. k8s-dashboard-kubernetes-dashboard 0 3m21s
    9. myingress-ingress-nginx 0 53d
    10. student@cp:~$
    11.  
  • Posts: 45

    Another problem is the lab said:

    On your local system, open a browser and navigate to an HTTPS URL made of the Public IP and the high-numbered port...

    And I have one port, 443.

  • Posts: 2,435

    Hi @maybel,

    I would not worry about the secrets counts being "0". It is expected in latest k8s releases. Feel free to proceed with the clusterrolebinding and the token creation steps.

    If the values.yaml edit was successful in step 2, then there should be a NodePort type service for the dashboard release, listing 2 distinct port values: an internal port 443 and an external high-valued node port (randomly assigned between 30000 and 32767).

    Regards,
    -Chris

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training