Helm 安装 kubernetes dashboard

dashboard

helm 安装 dashboard

helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard

record ...

root@l2:~# helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --version 5.11.0

NAME: kubernetes-dashboard
LAST DEPLOYED: Sun May 29 22:36:09 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
*********************************************************************************
*** PLEASE BE PATIENT: kubernetes-dashboard may take a few minutes to install ***
*********************************************************************************

Get the Kubernetes Dashboard URL by running:
  export POD_NAME=$(kubectl get pods -n default -l "app.kubernetes.io/name=kubernetes-dashboard,app.kubernetes.io/instance=kubernetes-dashboard" -o jsonpath="{.items[0].metadata.name}")
  echo https://127.0.0.1:8443/
  kubectl -n default port-forward $POD_NAME 8443:8443

配置转发

第一种方式

使用 port-forward 转发

 kubectl -n default port-forward $POD_NAME 30443:8443 --address 0.0.0.0 

第二种方式

调整 service kubernetes-dashboard
从 ClusterIP 转化为 NodePort

kubectl edit service kubernetes-dashboard
apiVersion: v1
kind: Service
metadata:
  ...
spec:
  ports:
  - name: https
    ...
    nodePort: 30443  
  ... 
  type: NodePort

获取登录密钥

kubectl describe secret $(kubectl get secret  | grep kubernetes-dashboard-token | awk '{print $1}')

配置 nginx 转发

注意 proxy_pass 的协议是 https

server {
    listen 443 ssl http2;
    server_name  kubernetes.jansora.com;

    ssl_protocols    TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate     /etc/nginx/certs/lets-encrypt-jansora.com/jansora.com.cer;
    ssl_certificate_key /etc/nginx/certs/lets-encrypt-jansora.com/jansora.com.key;

    location / {
          proxy_pass_header Server;
          proxy_set_header Host $http_host;
          proxy_redirect off;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Scheme $scheme;
          proxy_pass https://10.0.4.10:30443;
    }
}

喜闻悦见

image.png

等等. 还需要配置 dashboard 权限

否则页面是空的

namespace 默认是 default 请根据实际的填写

vim /etc/kubernetes/conf/dashboard-admin.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard
  namespace: default
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: default

kubectl apply -f /etc/kubernetes/conf/dashboard-admin.yaml

评论栏