通过 Kubernetes 仪表板管理 k8s 集群
大家好,我是 Hasnain Makada,目前在Napptive担任开发倡导者,我在那里密切探索该平台并向社区介绍 DevOps 及其各种工具 在这篇博客中,我将向您展示如何通过其内置仪表板而不是使用 minikube(s) 仪表板来管理 Kubernetes 集群 在开始之前..这些东西需要在你的机器上运行 Docker & Kubernetes 应该正在运行 并且应该启动 minikube,
大家好,我是 Hasnain Makada,目前在Napptive担任开发倡导者,我在那里密切探索该平台并向社区介绍 DevOps 及其各种工具
在这篇博客中,我将向您展示如何通过其内置仪表板而不是使用 minikube(s) 仪表板来管理 Kubernetes 集群
在开始之前..这些东西需要在你的机器上运行
-
Docker & Kubernetes 应该正在运行
-
并且应该启动 minikube,如果您使用任何云提供商,请在其上设置您的 Kubernetes 集群
什么是k8s仪表盘?
来自官方文档:Kubernetes 仪表板是一个基于 Web 的 Kubernetes 用户界面。您可以使用 Dashboard 将容器化应用程序部署到 Kubernetes 集群、对容器化应用程序进行故障排除以及管理集群资源。
如果您想要了解正在运行的集群的概览,或者您想要创建或修改任何单个 Kubernetes 资源,例如(作业、Pod、部署)等。您可以使用仪表板以及 CLI 来完成
Kubernetes 仪表板还提供集群的 Kubernetes 资源的状态以及它可能捕获的任何错误,一切都提供给您。这就是仪表板的美妙之处。
GUI入门
我将告诉你一步一步的过程,你可以使用它在本地机器上设置仪表板,所以让我们开始吧......
第一步
通过在终端中运行minikube status
确保 minikube 已启动并运行
第二步
默认情况下不部署仪表板 UI,要部署它,请运行此命令
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml
这需要一些时间并应用仪表板所需的所有必要单元,如果你是镜头你可以在这里看到它们
第三步
现在我们的recommend.yaml
已成功应用,我们将访问仪表板 Ui,但在此之前请记住,仪表板默认使用最小 RBAC 配置部署,并且当前仪表板支持使用不记名令牌登录,因此,我们'将创建用于访问仪表板的示例用户
在桌面或驱动器上创建一个新文件夹mkdir dashboard
导航到创建的文件夹cd dashboard
现在我们将创建一个文件,其中一个是服务帐户(向仪表板授予管理服务),另一个是集群角色绑定,它将为创建的管理员用户提供所有授权服务帐号
在仪表板目录中创建一个文件名dashboard-adminuser.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
现在您已经成功完成了上述部分,保存文件并将其应用到 k8s 集群kubectl apply -f dashboard-adminuser.yaml
它会像这样显示输出,
第四步
现在我们已经成功地将这两个东西应用到我们的集群中,要访问我们的集群,我们需要一个不记名令牌,要创建不记名令牌运行
kubectl -n kubernetes-dashboard create token admin-user
它会打印这样的输出,
第五步
现在我们已经成功生成了不记名令牌(最重要的东西),运行kubectl proxy
访问仪表板
仪表板将在localhost:8001/api/v1/namespaces/kubernetes..上可用。
现在打印我们生成的不记名令牌,你很高兴,
来测试一下吧!!!
现在我们的 k8s 仪表板已经启动并运行,让我们创建一个示例 pod 进行测试。创建一个sample-pod.yaml
文件并将这个简单的代码粘贴到其中。
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
name: nginx-pod
spec:
containers:
- name: nginx-pod
image: nginx:latest
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 80
将此pod应用到集群kubectl apply -f sample-pod.yaml -n default
现在找到仪表板,
现在您可以查看您的 pod 并根据您的选择对其进行管理
结论
我希望您现在了解如何访问 k8s 仪表板以及它在处理资源时如何有用,如果您对 DevOps 和 Flutter 有任何疑问,请随时通过Twitter&showwcase与我联系
更多推荐
所有评论(0)