福州建设厅官方网站,巨省网站,唐山网站建设策划方案,wordpress标签加颜色去杂货店“采购”这些命令#xff0c;你需要用这些 Kubernetes 工具来入门。-- Jessica Cherry去杂货店“采购”这些命令#xff0c;你需要用这些 Kubernetes 工具来入门。最近#xff0c;我丈夫告诉我他即将要去参加一个工作面试#xff0c;面试时他需要在计算机上运行一些… 去杂货店“采购”这些命令你需要用这些 Kubernetes 工具来入门。-- Jessica Cherry去杂货店“采购”这些命令你需要用这些 Kubernetes 工具来入门。最近我丈夫告诉我他即将要去参加一个工作面试面试时他需要在计算机上运行一些基本命令。他对这场面试感到焦虑但是对于他来说学习和记住事情的最好方法是将不了解的事物比喻为非常熟悉的事物。因为我们的谈话是在我逛杂货店试图决定当晚要烹饪的食物之后进行的所以这启发我用一次去杂货店的行程来介绍 kubectl 和 helm 命令。Helm(“舵轮”)是在 Kubernetes(来自希腊语意思是“舵手” 或 “领航员”)中管理应用程序的工具。你可以轻松地使用你的应用程序信息来部署“海图chart”从而可以在你的 Kubernetes 环境中几分钟之内让它们就绪并预配置好。在学习新知识时查看示例的“海图”以了解其用法总是很有帮助的因此如果有时间请查看这些成型的“海图”。(LCTT 译注Kubernetes 生态中大量使用了和航海有关的比喻因此本文在翻译时也采用了这些比喻)kubectl 是与 Kubernetes 环境交互的命令行界面允许你配置和管理集群。它需要一些配置才能在环境中工作因此请仔细阅读其文档以了解你需要做什么。我会在示例中使用命名空间你可以在我的文章《Kubernetes 命名空间入门》中了解它。现在我们已经准备好了让我们开始 kubectl和 helm 基本命令的购物之旅用 Helm 列出清单你去商店之前要做的第一件事是什么好吧如果你做事有条理会创建一个“清单”。同样这是我将解释的第一个基本的 Helm 命令。在一个用 Helm 部署的应用程序中list 命令提供有关应用程序当前版本的详细信息。在此示例中我有一个已部署的应用程序Jenkins CI/CD 应用程序。运行基本的 list 命令总是会显示默认的命名空间。由于我没有在默认的命名空间中部署任何内容因此不会显示任何内容$helm listNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION但是如果运行带有额外标志的命令则会显示我的应用程序和信息$helm list --all-namespacesNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSIONjenkins jenkins 1 2020-01-18 16:18:07 EST deployed jenkins-1.9.4 lts最后我可以指示 list 命令只检查我想从中获取信息的命名空间$helm list --namespace jenkinsNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSIONjenkins jenkins 1 2020-01-18 16:18:07 EST deployed jenkins-1.9.4 lts 现在我有了一个清单并且知道该清单上有什么我可以使用 get 命令来“获取”我的物品我会从 Kubernetes 集群开始看看我能从中获取到什么用 Kubectl 获取物品kubectl get 命令提供了有关 Kubernetes 中许多事物的信息包括“吊舱Pod”、节点和命名空间。同样如果没有指定命名空间标志就会使用默认的命名空间。首先我获取集群中的命名空间以查看正在运行的命名空间$kubectl get namespacesNAME STATUS AGEdefault Active 53mjenkins Active 44mkube-node-lease Active 53mkube-public Active 53mkube-system Active 53m现在我已经知道了在我的环境中运行的有哪些命名空间了接下来获取节点并查看有多少个节点正在运行$kubectl get nodesNAME STATUS ROLES AGE VERSIONminikube Ready master 55m v1.16.2我有一个节点正在运行这主要是因为我的 Minikube 运行在一台小型服务器上。要得到在我的这一个节点上运行的“吊舱”可以这样$kubectl get podsNo resources found in default namespace.啊哦它是空的。我将通过以下方式获取 Jenkins 命名空间中的内容$kubectl get pods --namespace jenkinsNAME READY STATUS RESTARTS AGEjenkins-7fc688c874-mh7gv 1/1 Running 0 40m好消息这里发现了一个“吊舱”它还没有重新启动过已运行了 40 分钟了。好的如今我知道“吊舱”已经装好所以我想看看用 Helm 命令可以得到什么。用 Helm 获取信息helm get 命令稍微复杂一点因为这个“获取”命令所需要的不仅仅是一个应用程序名称而且你可以从应用程序中请求多个内容。我会从获取用于制作该应用程序的值开始然后展示“获取全部”的操作结果的片段该操作将提供与该应用程序相关的所有数据。$helm get values jenkins -n jenkinsUSER-SUPPLIED VALUES:null由于我只安装了最小限度的稳定版因此配置没有更改。如果我运行“获取全部”命令我将得到所有的“海图”$helm get all jenkins -n jenkinsoutput from helm get all command这会产生大量数据因此我始终建议保留一份 Helm “海图”的副本以便你可以查看“海图”中的模板。我还创建自己的值来了解自己所拥有的。现在我把所有的商品都放在购物车中了我会检查一下“描述”它们包含什么的标签。这些示例仅与 kubectl 命令有关它们描述了我通过 Helm 部署的内容。用 kubectl 查看描述正如我使用“获取”命令(该命令可以描述 Kubernetes 中的几乎所有内容)所做的那样我将示例限定到命名空间、“吊舱”和节点上。由于我知道它们每一个是什么因此这很容易。$kubectl describe ns jenkinsName: jenkinsLabels: lt;nonegt;Annotations: lt;nonegt;Status: ActiveNo resource quota.No resource limits.我可以看到我的命名空间的名称并且它是活动的没有资源或限额限制。describe pods 命令会产生大量信息因此我这里提供的是一小段输出。如果你在不使用“吊舱”名称的情况下运行该命令它将返回名称空间中所有“吊舱”的信息这可能会很麻烦。因此请确保在此命令中始终包含“吊舱”名称。例如$kubectl describe pods jenkins-7fc688c874-mh7gv --namespace jenkinsoutput of kubectl-describe-pods这会提供容器的状态、管理方式、标签以及“吊舱”中所使用的镜像(还有很多其它信息)。没有在这个简化过的输出中包括的数据有在 Helm 配置值文件中应用的各种条件下的资源请求和限制、初始化容器和存储卷信息。如果你的应用程序由于资源不足而崩溃或者是一个需要运行前置脚本进行配置的初始配置容器或者生成不应该存储于纯文本 YAML 文件中的隐藏密码则此数据很有用。最后我将使用 describe node 命令当然它是用来描述节点的。由于本示例只有一个名为 Minikube 的示例因此我将使用这个名字。如果你的环境中有多个节点则必须包含你想查找的的节点名称。与“吊舱”一样这个节点的命令会产生大量数据因此我将仅包括输出片段。$kubectl describe node minikubeoutput of kubectl describe node注意describe node 是更重要的基本命令之一。如此图所示该命令返回统计信息该信息指示节点何时资源用尽并且该数据非常适合在需要扩展时(如果你的环境中没有自动扩展)向你发出警报。此输出片段中未包含的其它内容包括对所有资源和限制的请求所占的百分比以及资源的使用期限和分配(例如对于我的应用程序而言)。买单使用这些命令我完成了“购物”并得到了我想要的一切。希望这些基本命令也能在你使用 Kubernetes 的日常工作中提供帮助。我鼓励你经常使用命令行并学习“帮助”部分中的速记标志你可以通过运行以下命令来查看这些标志$helm --help或$kubectl -h花生酱和果冻有些东西像花生酱和果冻一样混在一起。Helm 和 kubectl 就有点像那样交错在一起。我经常在自己的环境中使用这些工具。因为它们在很多地方都有很多相似之处所以在使用其中一个之后我通常需要跟进另一个。例如我可以进行 Helm 部署并使用 kubectl 观察它是否失败。一起试试它们看看它们能为你做什么。via: https://opensource.com/article/20/2/kubectl-helm-commands作者Jessica Cherry 选题lujun9972 译者wxy 校对wxy本文由 LCTT 原创编译Linux中国 荣誉推出