kubectl 命令(kubectl命令大全),本文通过数据整理汇集了kubectl 命令(kubectl命令大全)相关信息,下面一起看看。

Kubectl主要用于与K8s API服务器通信,在K8s中创建、更新和删除工作负载。很多IT人员通过kubectl与K8s进行交互。本文将介绍如何安装kubectl,如何与K8s环境通信以及一些常用命令,为您提供一个管理K8s的良好起点。

对于许多IT人员来说,与Kubernetes的日常交互机制一般是通过kubectl——这种命令行工具。Kubectl主要用于与Kubernetes API服务器通信,在Kubernetes中创建、更新和删除工作负载。本教程的目的是概述一些您可以使用的常用命令,并为管理Kubernetes提供一个良好的起点。

我们将介绍如何在你的电脑上安装kubectl,如何与你的Kubernetes环境进行通信,以及执行一些常见的操作。大多数常见的kubectl命令都提供了特定的操作,比如创建、删除等。这种方法通常需要解释描述Kubernetes中对象(如POD、服务、资源等)的文件(YAML或JSON)。).这些文件经常被用作模板和环境的连续文档,并有助于保持Kubernetes对声明性配置的关注。命令行上给出的操作将被传递给API服务器,然后根据需要与Kubernetes中的后端服务进行通信。

我们将介绍一些最常见的kubectl命令,并提供一些例子。有关每个命令的更多细节,包括所有支持的标志和子命令,请查看kubectl参考文档:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.4626556438938598 kubernetes . io/docs/reference/generated/kubectl/kubectl-commands .

安装kubectl

Kubectl是一个独立的程序,所以不需要复杂的安装过程。它是需要位于操作系统路径中的单个文件。有很多方法可以获得kubectl二进制文件,比如通过操作系统的原生包管理器或者通过curl。下表中的一些示例说明了如何为各种操作系统安装kubectl:

注意:随着新版本的发布,kubectl for Windows的最佳版本会随着时间而变化。要查找当前最好的二进制文件,请点击此链接查找最新的稳定版本,另一方面,根据需要调整上面的URL:0.530644997084 http 0.5643893884://0.53064984845

环境中使用的kubectl版本需要与Kubernetes服务器的版本保持一致。您可以通过键入以下命令来检查正在使用的kubectl客户机的版本:

Kubectl将在各方面兼容一个版本。客户端版本将比服务器版本领先一步。这为服务器版本:v1.13.4中提供的功能和命令提供了支持。如果客户端版本不是服务器版本之后的版本之一,当您尝试访问相应服务器版本中的可用功能时,可能会遇到错误或不兼容问题。

Kubectl语法

kubectl的语法使用如下:

命令:指你要执行的操作(创建、删除等。)

类型:指资源类型(Pod、服务等。)来执行命令。

名称:对象的名称(区分大小写)。如果没有指定名称,您可以获得该命令匹配的所有资源的信息(例如Pod)。

Flags:这个可以根据需要选择(不是必需的),但是在查找特定资源时非常有用。例如,- namespacespace允许您指定要在哪个特定的名称空间中执行操作。

kubeconfig

Kubectl使用配置文件来访问Kubernetes集群。的默认kubectl配置文件位于/。kube/config,称为kubeconfig文件。

kubeconfig文件组织关于集群、用户、名称空间和认证机制的信息。kubectl命令使用这些文件来查找在选择集群并与之通信时所需的信息。

装载顺序遵循以下规则:

如果设置了- kubeconfig标志,将只加载给定的文件。此标志只能设置一次,不会发生合并。

如果设置了$ KUBECONFIG环境变量,它将根据系统的正常路径分离规则被解析为文件系统路径列表。

否则,如果未设置以上两项,则{ HOME }/。将使用kube/config文件而不进行任何合并。

如果您看到类似下面的消息,这意味着kubectl没有正确配置或者不能连接到Kubernetes集群。

到服务器server-name: port的连接被拒绝-您是否指定了正确的主机或端口?根据您使用的Kubernetes发行版,您可以通过多种方式创建配置文件。下面列出了不同的K8S发行版及其位置:

RKE

当使用RKE创建Kubernetes集群时,RKE将在本地目录中创建一个kube _ config _ ranger-cluster.yml文件,其中包含使用kubectl等工具连接到新集群所需的凭证。

您可以将该文件复制到$ HOME/。kube/config,或者,如果您使用多个Kubernetes集群,请将KUBECONFIG环境变量设置为kube _ config _ rancher-cluster . yml的路径,如下所示:

由牧场主管理的库伯内特集群

在Rancher中,您可以通过Web UI下载kubeconfig文件,并使用它通过kubectl连接到Kubernetes环境。

在Rancher UI中,单击希望通过kubectl连接的集群。在页面的右上角,单击Kubeconfig文件按钮:

单击按钮查看详细的配置文件及其在~/中的放置方向。kube/配置。

将配置复制到~/后。kube/config,您可以在不指定- kube-config文件位置的情况下运行kubectl命令:

一些基本命令的示例

我将重点介绍将在典型环境中使用的许多命令。我们将从集群的概述开始,继续探索Kubernetes环境中当前运行的各种场景。

相信下面的内容会帮助你熟悉kubectl和典型的输出命令。

管理kubectl配置

kubectl命令包含一些不同的命令,可以用来帮助您查看和管理自己的配置。在初始设置期间,或者当集群集需要处理更改时,这些将非常有用。

要查看当前配置,请键入:

API version:v1 clusters:-cluster:certificate-authority-DATA:DATA省略服务器:0.5306431049937084 http 0.462655646438938598s://www . your URL 0.5306431049937084 . com 0.4626556438938598/k8s/clusters/cluster名称:GCP cluster:certificate-authority-DATA:DATA省略数据群集密钥包含每个可用群集的列表,以及相关的连接和身份验证详细信息。contexts键将用户、集群和可选的名称空间结合起来,形成一个惟一的标识和使用上下文,用于与集群进行交互。

要获得每个可用上下文的更简明摘要,您可以键入:

的输出显示了每个已定义上下文和当前选定上下文的详细信息,当前选定上下文用星号(*)表示。

要快速检查当前使用的上下文,请键入:

虽然我们不会在本摘要中介绍,但是您也可以使用kubectl set-cluster、kubectl set-credentials、kubectl set-context和各种标志来定义集群和上下文,但我们不会在本文中详细介绍。

要更改要连接的上下文,请使用use-context命令:

检查集群组件的状态。

为集群选择适当的上下文后,可以使用get component stats(缩写为get cs)命令检查核心主要组件的状态:

的输出将显示调度程序、控制器管理器和etcd节点的状态,以及从每个服务收集的最新消息和错误。如果您的集群工作不正常,这是首次诊断检查的好机会。

您可以使用cluster-info命令收集其他连接和服务信息:

Kubernetes主服务器的运行速度是0.5338937084 http 0 . 4626556438938这里,输出显示了我们的Kubernetes主端点和KubeDNS服务端点。

要查看属于群集成员的每个节点的信息,请使用get nodes命令:

名称状态角色年龄版本内部-IP外部-IP OS-映像内核-版本容器-RUNTIMEk8s-1就绪控制平面,etcd,worker 34d v 1 . 13 . 5 IP None Ubuntu 18.10 4 . 18 . 0-1011-GCP Docker 0.5306431049937084://0.462655643893859818.9 . 5k8s-2就绪控制平面,etcd,Worker 34d如果您需要在集群节点上执行维护或登录以调试问题,此命令可以帮助您提供所需的信息。

查看资源和事件信息

要概述集群中可用的名称空间,请使用get namespaces命令:

这显示了当前集群中定义的名称空间分区。

要汇总所有命名空间中在群集上运行的所有资源,请使用以下命令:

的输出显示了部署的每个资源的名称空间信息,以及以资源类型为前缀的资源名称(如上面示例中的pod)。之后,关于每个资源的就绪和运行状态的信息将有助于确定进程是否正常运行。

要查看与资源相关联的事件,请使用get events命令:

命名空间最后一次出现类型原因种类消息hearty-system 9m31s正常回退pod回拉image ' Miguel gt/K8s-demo:v2 ' hearty-system 24m警告失败Pod错误:imagepullbackoff hearty-system 14m正常回退Pod回拉image ' Miguel gt/K8s-demo:v2 ' title-system 9m30s警告失败Pod错误:imagepullbackoff输出将列出资源记录的最新事件,包括事件消息及其触发原因。

例子

为了更具体地展示您在使用kubectl时可能参与的工作流,我们将在本节中介绍一个快速解决方案,将容器部署到一个集群,并将它们部署到一个非默认的名称空间。

默认情况下,如果在没有指定名称空间的情况下部署集群,kubectl会将资源放在一个名为default的名称空间中。如果您想要部署到另一个名称空间,您需要指定所需的替代项。

虽然我们可以为创建命令提供名称空间,但是如果我们想要使用名称空间来处理多个命令,更改上下文会更容易。更改与上下文相关联的命名空间将自动将命名空间规范应用于任何其他命令,直到上下文被更改。

要更改当前上下文的名称空间,请使用带有- currentand - namespace标志的set-context命令:

这将改变当前的上下文,自动将未来的操作应用到rancher名称空间。

接下来,我们可以创建一个名为nginx的部署,它运行基于默认nginx容器映像的容器。因为我们更改了上下文,所以它将在rancher名称空间中运行:

您可以通过列出当前部署的pod来检查部署是否成功:

在这里,我们可以看到Nginx部署运行正常。READY列显示容器准备就绪,状态为“Running ”,没有出现故障。

尽管我们已经验证了pod正在运行,但是我们还没有得到关于它被部署到哪个名称空间的信息。但是,我们可以通过添加- all-namespaces标志来稍微改变输出:

这将显示在每个名称空间中运行的pod,并添加另一个名称空间列来列出每个资源部署到哪个名称空间。在这里,我们看到Nginx pod已经正确地部署到我们的rancher名称空间,而不是通常的默认名称空间。

这表明我们的上下文操作和部署工作正常。

您还可以通过键入以下命令来清理已部署的资源:

其他参考信息

虽然在本章中深入讨论这些内容可能超出了本文的初衷,但我们还是为您列出了一些非常有用的命令。

豆荚

删除资源

服务

事件索引

命名空间安全性

中间命令

其他资源

kubectl的官方概述:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.4626556438938598 kubernetes . io/docs/reference/kubectl/overview/

kubectl的官方命令文件:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.4626556438938598 kubernetes . io/docs/reference/kubectl/kubectl/

Kubectl的官方备忘单:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.4626556438938598 kubernetes . io/docs/reference/kubectl/cheat sheet/

牧场主kubeconfig文档:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.462656438938598 rancher 0.5306431049937084 . com 0.466556438938598/docs/rancher/v2 . x/en。

关于使用kubectl访问集群的Rancher文档:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.462656438938598 rancher 0.5306431049937084 . com 0.466556438938598/docs/rancher/v2 . x/en。

Kubectl配置命令:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.4626556438938598 kubernetes . io/docs/reference/generated/kubectl/kubectl-commands # config

使用kubeconfig文件来组织集群:

0.5306431049937084 http 0.4626556438938598s 0.5306431049937084://0.4626556438938598 kubernetes . io/docs/concepts/configuration/organize-cluster-access-kube config/

更多kubectl 命令(kubectl命令大全)相关信息请关注本站,本文仅仅做为展示!