kubernetes中怎么部署dashboard

发布时间:2021-11-18 17:36:30 作者:柒染
来源:亿速云 阅读:266

Kubernetes中怎么部署Dashboard

Kubernetes Dashboard 是一个基于 Web 的用户界面,用于管理和监控 Kubernetes 集群。它提供了一个直观的界面,用户可以通过它查看集群的状态、部署应用程序、管理资源、查看日志等。本文将详细介绍如何在 Kubernetes 集群中部署 Dashboard,并配置访问权限。

1. 前提条件

在开始部署 Kubernetes Dashboard 之前,确保你已经具备以下条件:

2. 部署 Kubernetes Dashboard

Kubernetes Dashboard 的部署过程相对简单,主要通过 kubectl 命令来完成。以下是详细的步骤:

2.1 下载 Dashboard 的 YAML 文件

Kubernetes Dashboard 的官方推荐部署方式是通过 YAML 文件进行部署。你可以从 Kubernetes 的官方 GitHub 仓库中获取最新的 YAML 文件。

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

2.2 部署 Dashboard

使用 kubectl 命令将 Dashboard 部署到 Kubernetes 集群中:

kubectl apply -f recommended.yaml

执行上述命令后,Kubernetes 会创建一系列的资源,包括 Deployment、Service、Role、RoleBinding 等。你可以通过以下命令查看 Dashboard 的部署状态:

kubectl get pods -n kubernetes-dashboard

如果一切顺利,你应该会看到类似以下的输出:

NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-7b59f7d4df-9z6q5   1/1     Running   0          1m
kubernetes-dashboard-6f7b6f4f7c-8z9q5        1/1     Running   0          1m

2.3 访问 Dashboard

默认情况下,Kubernetes Dashboard 会以 ClusterIP 类型的 Service 部署,这意味着它只能在集群内部访问。为了从外部访问 Dashboard,你可以通过以下几种方式:

2.3.1 使用 kubectl proxy

kubectl proxy 命令可以创建一个代理,将本地端口映射到 Kubernetes 集群中的服务。你可以通过以下命令启动代理:

kubectl proxy

启动代理后,你可以通过以下 URL 访问 Dashboard:

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

2.3.2 修改 Service 类型为 NodePort

你可以通过修改 Dashboard 的 Service 类型为 NodePort,使其可以通过节点的 IP 地址和端口访问。首先,编辑 Dashboard 的 Service:

kubectl edit service kubernetes-dashboard -n kubernetes-dashboard

spec.typeClusterIP 修改为 NodePort

spec:
  type: NodePort

保存并退出后,Kubernetes 会为 Dashboard 分配一个 NodePort。你可以通过以下命令查看分配的端口:

kubectl get service kubernetes-dashboard -n kubernetes-dashboard

输出类似于:

NAME                   TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   NodePort   10.96.123.123   <none>        443:32443/TCP   5m

在这个例子中,你可以通过 https://<node-ip>:32443 访问 Dashboard。

2.3.3 使用 Ingress

如果你已经在集群中部署了 Ingress 控制器,你可以通过 Ingress 来暴露 Dashboard。首先,创建一个 Ingress 资源文件 dashboard-ingress.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  rules:
  - host: dashboard.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 443

然后,应用这个 Ingress 资源:

kubectl apply -f dashboard-ingress.yaml

确保你的 DNS 已经配置好,将 dashboard.example.com 解析到 Ingress 控制器的 IP 地址。然后,你可以通过 https://dashboard.example.com 访问 Dashboard。

3. 配置访问权限

默认情况下,Kubernetes Dashboard 的访问是受限制的,你需要创建一个具有适当权限的用户或服务账户来访问它。以下是配置访问权限的步骤:

3.1 创建服务账户

首先,创建一个服务账户:

kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

3.2 创建 ClusterRoleBinding

接下来,创建一个 ClusterRoleBinding,将 cluster-admin 角色绑定到刚刚创建的服务账户:

kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

3.3 获取访问令牌

现在,你可以通过以下命令获取服务账户的访问令牌:

kubectl -n kubernetes-dashboard create token dashboard-admin

输出将是一个长字符串,这就是你的访问令牌。你可以使用这个令牌在 Dashboard 的登录界面进行身份验证。

3.4 使用令牌登录

打开 Dashboard 的登录页面,选择“令牌”选项,然后将刚刚获取的令牌粘贴到输入框中,点击“登录”按钮即可。

4. 安全注意事项

Kubernetes Dashboard 是一个强大的工具,但也可能成为安全漏洞的来源。以下是一些安全建议:

5. 总结

Kubernetes Dashboard 是一个非常有用的工具,可以帮助你更轻松地管理和监控 Kubernetes 集群。通过本文的介绍,你应该已经掌握了如何在 Kubernetes 集群中部署 Dashboard,并配置访问权限。希望这些内容对你有所帮助,祝你在 Kubernetes 的旅程中一切顺利!

推荐阅读:
  1. kubernetes怎么安装部署Dashboard
  2. kubernetes部署DashBoard的步骤

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

kubernetes

上一篇:Windows10系统如何设置PPTP

下一篇:如何使用Helm在容器服务k8s集群一键部署wordpress

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》