DashBoard使用Helm进行安装

这是我参与更文挑战的第10天,活动详情查看: 更文挑战

安装Dashboard

这里使用Helm包管理工具进行安装.

下载Chart到本地

[root@k8s-master helm]# helm pull stable/kubernetes-dashboard
[root@k8s-master helm]# ll kuber*
-rw-r--r--. 1 root root 8682 May 17 15:15 kubernetes-dashboard-1.10.1.tgz
复制代码

解压之后出现chart目录结构

[root@k8s-master helm]# cd kubernetes-dashboard
[root@k8s-master kubernetes-dashboard]# ll
total 28
-rwxr-xr-x. 1 root root   468 Jan  1  1970 Chart.yaml
-rwxr-xr-x. 1 root root 12858 Jan  1  1970 README.md
drwxr-xr-x. 2 root root   264 May 17 15:28 templates
-rwxr-xr-x. 1 root root  5470 Jan  1  1970 values.yaml

复制代码

修改values.yaml文件

因为内容较多,我们直接新建一个自己的values-xiaofu.yaml文件如下


image:
  repository: registry.cn-shanghai.aliyuncs.com/zdl_work/kubernetes-dashboard-amd64
  tag: v1.10.1

ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: 'true'
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
  paths:
    - /
  hosts:
    - dashboard.xiaofu.com
  tls:
    - secretName: kubernetes-dashboard-tls
      hosts:
        - dashboard.xiaofu.com

rbac:
  clusterAdminRole: true

serviceAccount:
  name: dashboard-admin

复制代码

需要注意几点:

因为必须要用https的方式登录,所以这里要设置tls的信息。证书会自动被创建
RBAC直接给cluster-admin的role,这样Dashboard的权限最大,方便多个namespace进行查看和操作
SA不指定name也是可以的,会自动被创建。这里指定了为了方便后面进行查询
如果不能用DNS,那么就修改hosts文件让dashboard.xiaofu.com指向任意一个node的ip

部署

接着用新建的values-xiaofu.yaml替代默认的values.yaml进行部署,注意-f参数

[root@k8s-master helm]# helm install kubernetes-dashboard -f values-xiaofu.yaml --generate-name
NAME: kubernetes-dashboard-1589711621
LAST DEPLOYED: Sun May 17 18:33:41 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
*********************************************************************************
*** PLEASE BE PATIENT: kubernetes-dashboard may take a few minutes to install ***
*********************************************************************************
From outside the cluster, the server URL(s) are:
     https://dashboard.xiaofu.com

复制代码

查看下Ingress的端口

[root@k8s-master helm]# kubectl get svc --all-namespaces
NAMESPACE       NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
default         kubernetes                           ClusterIP   10.96.0.1       <none>        443/TCP                      19d
default         kubernetes-dashboard-1589711621      ClusterIP   10.98.169.133   <none>        443/TCP                      6m45s
ingress-nginx   ingress-nginx-controller             NodePort    10.96.130.237   <none>        80:31958/TCP,443:30265/TCP   9d
ingress-nginx   ingress-nginx-controller-admission   ClusterIP   10.109.76.229   <none>        443/TCP                      9d
kube-system     kube-dns                             ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP       19d
复制代码

这里使用30265端口对应https服务,于是从本地访问dashboard.xiaofu.com:30265
出现页面表示安装成功

利用Dashboard部署pod

如下图所示,切换到xiaofu-team的namespace,新建一个应用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dJOo2Zjs-1589723484687)(3-create.png)]
成功以后就会看到对应的Service已经起来
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XFKGILYV-1589723484690)(4-6666.png)]
此时在node上curl 10.109.117.50:6666就会看到nginx的欢迎页面了

总结

这里只是简单的Dashboard安装和使用,更详细的自定义安装可以去看values.yaml中的各个字段的说明。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享