【详解】K8S1.18.2安装dashboard

举报
皮牙子抓饭 发表于 2025/04/19 16:51:48 2025/04/19
【摘要】 K8S 1.18.2 安装 DashboardKubernetes (简称 K8s) 是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。Kubernetes Dashboard 是一个通用的、基于 Web 的用户界面,可以用来部署容器化应用到 Kubernetes 集群中,同时还可以对集群资源进行故障排除,并管理集群本身。本文将指导你如何在 Kubernetes 1.18....

K8S 1.18.2 安装 Dashboard

Kubernetes (简称 K8s) 是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。Kubernetes Dashboard 是一个通用的、基于 Web 的用户界面,可以用来部署容器化应用到 Kubernetes 集群中,同时还可以对集群资源进行故障排除,并管理集群本身。

本文将指导你如何在 Kubernetes 1.18.2 版本上安装和配置 Kubernetes Dashboard。

前提条件

  • 已经有一个运行中的 Kubernetes 1.18.2 集群。
  • ​kubectl​​ 工具已正确配置并能够访问该集群。
  • Helm(可选):如果你选择使用 Helm 来安装 Dashboard,则需要安装 Helm。

安装 Kubernetes Dashboard

方法一:使用官方 YAML 文件安装

  1. 下载官方的 Dashboard 安装文件
    首先,从 Kubernetes Dashboard GitHub 仓库下载最新的安装文件。这里我们直接使用适用于 v2.0.0 版本的 YAML 文件:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
  1. 修改 Service 类型
    如果你想通过 NodePort 访问 Dashboard,你需要编辑 ​​​recommended.yaml​​​ 文件,将 ​​kubernetes-dashboard​​​ 的服务类型从 ​​ClusterIP​​​ 修改为 ​​NodePort​​​。
    找到如下部分:
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
  - port: 443
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

修改为:

apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
  - port: 443
    targetPort: 8443
    nodePort: 30000  # 可以根据需要调整
  selector:
    k8s-app: kubernetes-dashboard
  1. 应用配置文件
    使用 ​​​kubectl​​ 应用上述配置文件:
kubectl apply -f recommended.yaml
  1. 创建管理员用户
    创建一个具有管理员权限的服务账户,并生成一个 token 供登录 Dashboard 使用。首先,创建一个 ​​​admin-user.yaml​​ 文件:
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

然后,应用此文件:

kubectl apply -f admin-user.yaml
  1. 获取 Token
    获取刚创建的服务账户的 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}}"

方法二:使用 Helm 安装

如果你更喜欢使用 Helm 来管理你的 Kubernetes 应用程序,可以按照以下步骤操作:

  1. 添加 Kubernetes Dashboard 的 Helm 仓库
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm repo update
  1. 安装 Dashboard
    使用 Helm 安装 Dashboard,可以通过设置参数来配置 Dashboard 的行为,例如启用 HTTPS 和设置 NodePort 等:
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --namespace kubernetes-dashboard --set service.type=NodePort

访问 Dashboard

完成安装后,你可以通过浏览器访问 Dashboard。如果你选择了 NodePort 方式,可以通过任何节点的 IP 地址加上指定的端口号来访问,例如:

http://<Node_IP>:30000

在登录页面,选择“Token”方式登录,并输入之前获取的 token。


通过上述步骤,你应该能够在 Kubernetes 1.18.2 上成功安装并访问 Kubernetes Dashboard。这将为你提供一个直观的界面来管理和监控你的 Kubernetes 集群。以上是关于如何在 Kubernetes 1.18.2 上安装 Dashboard 的技术博客文章,希望能对你有所帮助。在Kubernetes (K8S) 1.18.2中安装Dashboard是一个常见的操作,用于提供一个图形化的用户界面来管理和监控集群。以下是一个详细的步骤和示例代码,帮助你在Kubernetes 1.18.2上安装和配置Kubernetes Dashboard。

前提条件

  1. 已经有一个运行中的Kubernetes集群。
  2. ​kubectl​​ 命令行工具已安装并配置好。
  3. 确保你的Kubernetes版本是1.18.2。

步骤

1. 创建RBAC权限

首先,你需要创建一个RBAC(基于角色的访问控制)权限,以便Dashboard可以安全地访问集群资源。

# 创建一个命名空间
kubectl create namespace kubernetes-dashboard

# 应用RBAC权限
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
2. 安装Kubernetes Dashboard

使用官方提供的YAML文件来部署Dashboard。

# 下载最新的Dashboard YAML文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/alternative-recommended.yaml

# 编辑YAML文件,确保命名空间为kubernetes-dashboard
# vi alternative-recommended.yaml

# 应用YAML文件
kubectl apply -f alternative-recommended.yaml
3. 创建管理员用户

为了安全起见,建议创建一个管理员用户来访问Dashboard。

# 创建一个ServiceAccount
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
EOF

# 创建ClusterRoleBinding
cat <<EOF | kubectl apply -f -
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
EOF
4. 获取Token

获取ServiceAccount的Token,用于登录Dashboard。

# 获取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. 暴露Dashboard服务

为了从外部访问Dashboard,你可以将服务类型更改为NodePort或使用Ingress。

使用NodePort

编辑Dashboard的服务配置,将其类型更改为NodePort。

# 编辑服务
kubectl edit service kubernetes-dashboard -n kubernetes-dashboard

# 将type: ClusterIP 改为 type: NodePort
使用Ingress

如果你有Ingress控制器,可以创建一个Ingress资源来暴露Dashboard。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  rules:
  - host: dashboard.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 80

应用Ingress资源:

kubectl apply -f ingress.yaml
6. 访问Dashboard

打开浏览器,访问Dashboard的URL。

  • 如果使用NodePort,URL格式为:​​http://<Node_IP>:<NodePort>​
  • 如果使用Ingress,URL格式为:​​http://dashboard.example.com​

使用之前获取的Token进行登录。


通过以上步骤,你可以在Kubernetes 1.18.2上成功安装和配置Kubernetes Dashboard。这将帮助你更方便地管理和监控你的Kubernetes集群。在Kubernetes (K8s) 1.18.2中安装Dashboard的过程涉及几个步骤,包括准备Kubernetes集群、下载Dashboard的YAML配置文件、应用这些配置文件以部署Dashboard等。下面我将详细介绍如何通过命令行操作来完成这个过程。

准备工作

确保你已经有一个运行中的Kubernetes集群,并且已经安装了​​kubectl​​命令行工具,这是与Kubernetes API进行交互的主要方式。

步骤1: 下载Dashboard的YAML文件

Kubernetes Dashboard是一个通用的、基于Web的UI,用于管理Kubernetes集群。你可以从官方GitHub仓库下载最新的Dashboard YAML配置文件。对于1.18.2版本的Kubernetes,可以使用如下命令:

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

注意:这里使用的是v2.0.0版本的Dashboard,因为这是与Kubernetes 1.18兼容的版本。如果你需要特定于1.18.2的版本,建议查看Kubernetes Dashboard的官方文档或仓库,以获取最准确的信息。

步骤2: 修改YAML文件(可选)

在某些情况下,你可能需要根据你的环境对下载的YAML文件进行一些修改。例如,如果你想让Dashboard可以通过NodePort类型的服务访问,你需要编辑服务定义部分,将​​type: ClusterIP​​​改为​​type: NodePort​​。

步骤3: 应用YAML文件

使用​​kubectl apply​​命令来部署Dashboard。这会创建所有必要的Kubernetes资源,如命名空间、服务账户、角色绑定和服务等。

kubectl apply -f recommended.yaml

步骤4: 访问Dashboard

一旦Dashboard成功部署,你可以通过以下几种方式之一来访问它:

  • 使用Kubernetes服务:如果之前配置了NodePort,可以通过每个节点的IP地址加上分配的端口号来访问。
  • 使用kubectl proxy​​:运行​​kubectl proxy​​​命令后,可以在浏览器中通过​​http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/​​访问Dashboard。

步骤5: 创建管理员用户(可选)

为了安全地使用Dashboard,推荐创建一个具有管理员权限的服务账户,并生成一个Token用于登录。这可以通过创建一个包含必要RBAC规则的YAML文件来实现,然后使用​​kubectl apply​​命令应用该文件。

注意事项

  • 确保你的Kubernetes集群有足够的资源来支持新的Pods。
  • 安全性非常重要。不要将Dashboard暴露给不信任的网络,除非你已经采取了适当的认证和授权措施。
  • 定期检查Kubernetes Dashboard的更新,以利用最新的功能和安全修复。

以上就是Kubernetes 1.18.2中安装Dashboard的基本步骤。如果有任何具体问题或需要进一步的帮助,请随时提问!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。