在Windows 10 Hyper-V环境下搭建Kubernetes (K8s) 集群时,我们已经成功设置了两个节点(master和node1),并且在本地配置了集群管理工具以便于管理这个集群。本章节将介绍如何在本地通过yaml文件为远程K8s集群安装Dashboard,以监控和可视化集群状态。
首先,为了确保能够从国内镜像源下载Dashboard的Docker镜像,我们需要更新Docker daemon的配置。打开`/etc/docker/daemon.json`文件,添加以下内容:
```json
{
"registry-mirrors": ["https://pmp7i8xs.mirror.aliyuncs.com", "https://registry.docker-cn.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
```
这一步骤确保了Docker使用国内镜像仓库,如阿里云的镜像源,以加速镜像下载速度,避免因为网络问题导致的下载延迟。
接下来,我们需要下载最新版本的dashboard.yaml文件。可以从GitHub上找到,地址是:`https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml`。这个文件定义了Dashboard的部署配置,包括类型设置为"NodePort",这意味着Dashboard将在集群内部的节点上暴露端口,外部可以通过Node IP和指定的端口访问。
在下载文件后,我们需要根据本地K8s环境对`dashboard.yaml`进行适当调整。特别关注以下几个关键部分:
1. Service部分:确认`type: NodePort`设置,这使得服务可以被外部访问。确保`spec.type`配置正确,例如:
```yaml
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 30000
name: http
targetPort: 80
- port: 30001
name: https
targetPort: 443
selector:
app: kubernetes-dashboard
```
2. Ingress部分:如果有Ingress资源,检查其配置是否正确,或者根据需要创建一个新的Ingress规则,允许外部流量到达Dashboard服务。
3. Security配置:确认`securityContext`和`runAsUser`设置符合集群安全策略,特别是如果在生产环境中,可能需要为非-root用户运行Dashboard容器。
4. 滚动更新:在更新yaml文件后,记得使用`kubectl apply -f dashboard.yaml`命令来更新或部署新的Dashboard配置,同时考虑使用`--record-history`选项记录变更历史。
完成这些步骤后,您就可以在本地使用配置好的yaml文件成功安装和部署Dashboard,从而在本地管理界面监控和操作远程K8s集群的各项指标和应用状态。