本文将介绍如何在Linux服务器本地Docker主机和Kubernetes集群上安装Weave Scope并使用它。Weave Scope是针对Docker和Kubernetes集群的监视工具,它使您可以实时监控本地Docker主机以及Kubernetes集群。您可以在Web仪表板上可视化容器或群集的利用率,还可以用于管理docker容器,其中包括诸如启动、停止容器之类的操作,也可以从Weave Scope访问容器shell。
在Docker主机上安装Weave Scope 在Docker主机上运行以下命令以安装Weave Scope: sudo curl -L git.io/scope -o /usr/local/bin/scope sudo chmod a+x /usr/local/bin/scope 启动Weave Scope: $ scope launch 样本输出如下: # scope launch 7807556aed11a523d5ec2dc651a438aa6bae7df1a2d76dd440c82530b475c49d Scope probe started Weave Scope is listening at the following URL(s): * http://172.16.34.12:4040/ 您现在可以在http://server-IP:4040上访问Weave scope。 仪表板将显示在主机上运行的容器,还有其他几个选项可用于管理或监视主机:
要管理您的容器,请单击其中一个,您将看到一个界面,您可以在其中查看容器的指标,还可以对容器进行各种操作,例如开始、停止、暂停等,您还可以执行容器的shell,如下图:
常规指标可在“Table”选项卡上获得:
在Kubernetes集群上安装Weave Scope 我们将在K8s群集上部署Weave Scope,并演示如何使用该工具监视和管理您的群集。参考使用Rancher RKE安装生产Kubernetes集群。 在本文中,将通过NodePort公开Weave Scope服务。但是,不建议将Weave Scope服务公开到Internet,因为这会使您的群集容易受到任何可以访问它的人的攻击。 这意味着,只有在本地网络上运行时,才应公开服务。 使用以下脚本部署Weave Scope: kubectl apply -f 'https://cloud.weave.works/launch/k8s/weavescope.yaml?k8s-service-type=NodePort' 参考:安装及使用kubectl、kubectx和kubens轻松管理多个Kubernetes集群。 样本输出: namespace/weave configured serviceaccount/weave-scope created clusterrole.rbac.authorization.k8s.io/weave-scope created clusterrolebinding.rbac.authorization.k8s.io/weave-scope created deployment.apps/weave-scope-app created service/weave-scope-app created deployment.apps/weave-scope-cluster-agent created daemonset.apps/weave-scope-agent created 这将部署2个Pod,即Weave-scope-app和Weave-scope-agent,Weave-scope-agent在每个节点上运行。 部署也被限制在weave命名空间中。 要查看部署是否已成功启动: $ kubectl get pods -n weave
然后,我们需要使用以下命令获取已公开的NodePort: $ kubectl get service -n weave
在上面的示例中,weave-scope-app服务已使用NodePort服务类型在32766端口上公开。 现在,我们可以通过控制器IP和NodePort访问仪表板:
在上图中,我们可以可视化Kubernetes集群并对其进行管理。 您可以从仪表板检查不同部署的日志:
从仪表板,我们还可以检查容器的运行状况和状态:
至此,使用Weave Scope来监控Docker容器和Kubernetes的目的达到。
相关主题 |