kubernetes部署Dashboard(可通过域名外网访问)

一、安装环境

  • kubernetes 1.22
  • Dashboard v2.2.0

二、开始安装

1、参考文章

https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/icon-default.png?t=LA92https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/

部署 Kubernetes Dashboard 2.0.0 并通过域名访问 - 简书

2、下载recommended.yaml文件并运行:

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
kubectl apply -f recommended.yaml

查看运行结果:

3、创建ingress,用于外网访问: 

 tips:安装ingress-nginx的步骤可以参考:

kubernetes安装ingress-nginx详细步骤_vampiresuper的专栏-CSDN博客在kubernetes 1.22版本中,安装ingress-nginx的详细步骤,适合刚刚接触k8s的同学https://blog.csdn.net/vampiresuper/article/details/122036310(1)创建secret:

由于Dashboard外网域名访问需要使用https,所以需要提前为你的域名申请一个证书,在阿里云或者腾讯云有免费的1年证书,申请好证书后将文件上传到服务器,然后执行:

kubectl -n kubernetes-dashboard create secret tls 定义一个自己的密码名称 --key 证书的.key文件路径 --cert 证书的.crt文件或者.pem文件路径

(2)创建ingress,内容如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/configuration-snippet: |-
      proxy_ssl_server_name on;
      proxy_ssl_name $host;
spec:
  tls:
  - hosts:
    - 你自己的域名
    secretName: 上一步定义的secret名称
  rules:
  - host: 你自己的域名,同上
    http:
      paths:
      - path: /
        pathType: ImplementationSpecific
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 443

(3)创建一个用户:

用于使用token登陆Dashboard,内容如下:

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

(4)查看登陆用的token,是很长的一串:

kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"

(5)在浏览器登录:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值