【详解】K8S1.18.2安装dashboard
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 文件安装
- 下载官方的 Dashboard 安装文件
首先,从 Kubernetes Dashboard GitHub 仓库下载最新的安装文件。这里我们直接使用适用于 v2.0.0 版本的 YAML 文件:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
- 修改 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
- 应用配置文件
使用 kubectl
应用上述配置文件:
kubectl apply -f recommended.yaml
- 创建管理员用户
创建一个具有管理员权限的服务账户,并生成一个 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
- 获取 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 应用程序,可以按照以下步骤操作:
- 添加 Kubernetes Dashboard 的 Helm 仓库
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm repo update
- 安装 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。
前提条件
- 已经有一个运行中的Kubernetes集群。
-
kubectl
命令行工具已安装并配置好。 - 确保你的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的基本步骤。如果有任何具体问题或需要进一步的帮助,请随时提问!
- 点赞
- 收藏
- 关注作者
评论(0)