如何安装和配置 Kubectl:教程

什么是 Kubectl?

Kubectl 是 Kubernetes 的命令行工具。 它允许我们通过 API 执行 Kubernetes 操作。 我们可以使用 Kubectl 来部署应用程序、检查日志以及管理集群的所有其他资源。

Kubernetes 使用基于 HTTP 的 REST API,这是用于管理它的实际 Kubernetes 用户界面。 这意味着每个 Kubernetes 操作都表示为一个 API 端点,并且可以基于发送到端点的 HTTP 请求来执行。

在本文中,我们将回顾 Kubectl,并概述其安装、配置和使用。

什么是 Kubernetes?

Kubernetes 这个名字起源于希腊语中舵手或飞行员的意思。 Kubernetes 或“k8s”(发音为“Kate’s”)是一种开源软件工具,由 Google 创建,用于将容器化应用程序扩展、部署和协调到易于管理的组中。 它支持多种容器化技术以及编排硬件虚拟化。

为了有效地管理 Kubernetes 服务器集群,我们使用 kubectl 作为首选的命令行工具。 基本上,kubectl 与主 Kubernetes 节点通信,后者又向工作节点提交命令以管理集群。 一个 Kubernetes 集群基本上由两种类型的资源组成。

  • 主服务器 – 主服务器组织集群
  • 节点服务器 – 节点是包含和运行应用程序的工作人员

每个节点都包含一个 Kubelet,它是管理节点和与 master 通信的代理。 我们可以使用 kubectl 来部署、探索、审查和删除 Kubernetes 对象(如节点、图像或容器)。

最初,Kubernetes 是由 Google 工程师设计和开发的,目的是利用容器进行工作负载管理。 Google 每周生成超过 20 亿个容器部署,这是由其代号为 Borg(Kubernetes 的前身)的内部平台提供的。 在 Borg 的开发过程中,获得的经验是影响 Kubernetes 当前技术的重要部分的主要因素之一。 目前,Kubernetes 由 Cloud 本机计算基金会。

如何安装 Kubectl?

安装 kubectl 的最简单方法是使用 Linux 操作系统的默认包管理器之一。

Debian/Ubuntu

sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list

sudo apt-get update

sudo apt-get install -y kubectl

红帽/CentOS

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

yum install -y kubectl

Linux 源码安装

curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"

chmod +x ./kubectl

sudo mv ./kubectl /usr/local/bin/kubectl

验证 Kubectl 安装

要验证所有安装版本,我们使用以下命令。

kubectl version --client

Kubectl 配置命令

要检查 kubectl 配置(或访问集群),需要一个 kubeconfig 文件。 该文件是在集群创建过程中通过 kube-up.sh 脚本。 默认情况下,集群配置文件位于 ~/.kube/config.

我们使用此命令检查集群的状态并验证 kubectl 是否已正确配置。

$ kubectl cluster-info

当我们看到 URL 输出时,表明 kubectl 已正确配置为与集群一起工作。

如果输出包含以下错误消息,则 kubectl 配置错误或无法连接到集群。

The connection to the server <server-name:port> was refused - did you specify the right host or port?

否则,当 kube cluster-info 命令返回 URL 输出,但我们仍然无法连接到集群时,我们运行以下命令来检查它是否配置正确。

$ kubectl cluster-info dump

自动填充

自动填充配置是最重要和最方便的 kubectl 命令之一,因为它允许我们通过简单地按下 Tab 键来自动填充命令的某些部分。 此功能适用于子命令、选项、参数和更复杂的条目,如资源名称。 此配置适用于 Bash 和 Zsh 等 shell。 有关如何配置的完整教程,请参见 官方网页.

插件

从 1.12 版本开始,kubectl 支持插件,让我们可以扩展其功能。 Kubectl 插件只是使用以 kubectl-* 开头的命名约定的可执行文件。 为了 example,一个名为 hello 的插件,名为 kubectl-hello。 要安装 kubectl 插件,我们将文件移动到带有 PATH 变量的任何位置并使其可执行。

Kubectl 命令 句法

kubectl 命令的语法如下。

$ kubectl [command] [TYPE] [NAME] [flags]
  • 命令 – 定义对一个或多个资源执行的操作,例如创建、获取或删除。
  • 类型 – 表征资源的类型。 它不区分大小写,可以单数、复数或缩写形式使用。
  • 姓名 – 表示资源的标识并且区分大小写。
  • 旗帜 – 标志设置命令的选项。

基本的 Kubectl 命令

可以使用多个命令,但我们将通过一些基本的命令来大致了解并查看一些示例。 我们将使用下面提到的 test.yaml 文件。

kubectl exec POD_NAME -- bash -c "date && echo 1"

kubectl exec POD_NAME -- bash -c "date && 
      echo 1 && 
      echo 2"
  • $ kubectl create -f test.yaml从文件或输入创建资源。
  • $ kubectl 运行 test.yaml 开始部署。
  • -F – 可以用一个或多个文件提及资源,例如, f 文件 1 -f 文件 2.
  • $ kubectl 编辑 -f test.yaml借助 test.yaml 文件更改资源。
  • $ kubectl 描述 -f test.yaml一个或多个资源状态的详细描述。
  • $ kubectl 删除 -f test.yaml 从文件中删除资源。
  • $ kubectl 记录 test.yaml 打印日志。
  • $ kubectl 选项命令行的全局参数列表,适用于所有命令。

结论

在本文中,我们了解了 Kubernetes 和 kubectl 是什么,如何安装和配置 kubectl,还提供了一些基本 kubectl 命令的快速概述。 Kubernetes 是一个具有许多有用功能的优秀工具。

今天就开始吧!

立即致电 1.800.580.4985 联系我们,与知识渊博的解决方案提供商交谈,他们可以为您提供所需的信息,以便立即做出明智的决定。

太忙没时间说话? 点击 这里 打开与我们的快速聊天以了解更多信息。 您想在闲暇时查看电子邮件中的信息吗? 立即给我们发送电子邮件,以获得关于我们产品线中哪种产品最适合您的业务需求的可靠建议。

我们期待您的回音!