大家好,我是 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 已启动并运行

image.png

第二步

默认情况下不部署仪表板 UI,要部署它,请运行此命令

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml

这需要一些时间并应用仪表板所需的所有必要单元,如果你是镜头你可以在这里看到它们

image.png

第三步

现在我们的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

它会像这样显示输出,

image.png

第四步

现在我们已经成功地将这两个东西应用到我们的集群中,要访问我们的集群,我们需要一个不记名令牌,要创建不记名令牌运行

kubectl -n kubernetes-dashboard create token admin-user

它会打印这样的输出,

image.png

第五步

现在我们已经成功生成了不记名令牌(最重要的东西),运行kubectl proxy访问仪表板

仪表板将在localhost:8001/api/v1/namespaces/kubernetes..上可用。

image.png

现在打印我们生成的不记名令牌,你很高兴,

image.png

来测试一下吧!!!

现在我们的 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

现在找到仪表板,

image.png

现在您可以查看您的 pod 并根据您的选择对其进行管理

结论

我希望您现在了解如何访问 k8s 仪表板以及它在处理资源时如何有用,如果您对 DevOps 和 Flutter 有任何疑问,请随时通过Twitter&showwcase与我联系

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐