Kubernetes命令行工具kubectl允许您对Kubernetes集群运行命令。您可以使用kubectl部署应用程序,检查和管理集群资源以及查看日志。有关kubectl操作的完整列表,请参见kubectl概述。
在你开始之前
您所使用的kubectl版本必须在集群的一个较小版本差异之内。例如,v1.2客户端应与v1.1,v1.2和v1.3主服务器一起使用。使用最新版本的kubectl有助于避免意外的问题。
在Linux上安装Kubectl
在Linux上使用curl安装Kubectl二进制文件
- 使用以下命令下载最新版本:
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
- 要下载特定版本,请用特定版本替换$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)命令部分。
- 例如,要在Linux上下载版本v1.16.0,请输入:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubectl
- 使kubectl二进制可执行文件。
chmod +x ./kubectl
- 将二进制文件移到您的PATH中。
sudo mv ./kubectl /usr/local/bin/kubectl
- 测试以确保您安装的版本是最新的:
kubectl version
使用本机软件包管理进行安装
- Ubuntu,Debian或HypriotOS
- CentOS,RHEL或Fedora
sudo apt-get update && sudo apt-get install -y apt-transport-httpscurl -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.listsudo apt-get updatesudo apt-get install -y kubectl
快速安装
如果您使用的是Ubuntu或其他支持快照包管理器的Linux发行版,则可以将kubectl作为快照应用程序使用。
- 切换到快照用户并运行安装命令:
sudo snap install kubectl --classic
- 测试以确保您安装的版本是最新的:
kubectl version
在macOS上安装Kubectl
在macOS上使用curl安装Kubectl二进制文件
- 下载最新版本:
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
- 要下载特定版本,请用特定版本替换$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)命令部分。
- 例如,要在macOS上下载版本v1.16.0,请输入:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/darwin/amd64/kubectl
- 使kubectl二进制可执行文件。
chmod +x ./kubectl
- 将二进制文件移到您的PATH中。
sudo mv ./kubectl /usr/local/bin/kubectl
- 测试以确保您安装的版本是最新的:
kubectl version
在macOS上使用Homebrew安装
如果您在macOS上并使用Homebrew软件包管理器,则可以在Homebrew上安装kubectl。
- 运行安装命令:
brew install kubectl
- 要么
brew install kubernetes-cli
- 测试以确保您安装的版本是最新的:
kubectl version
在macOS上使用Macports安装
如果您使用的是MacOS并使用Macports软件包管理器,则可以在Macports上安装kubectl。
- 运行安装命令:
sudo port selfupdatesudo port install kubectl
- 测试以确保您安装的版本是最新的:
kubectl version
在Windows上安装Kubectl
在Windows上使用curl安装Kubectl二进制文件
- 从此链接下载最新版本v1.16.0 。
- 或者,如果已curl安装,请使用以下命令:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/windows/amd64/kubectl.exe
- 要查找最新的稳定版本(例如,用于脚本编写),请查看https://storage.googleapis.com/kubernetes-release/release/stable.txt。
- 将二进制文件添加到您的PATH中。
- 测试以确保的版本kubectl与下载的版本相同:
kubectl version
注意: 适用于Windows的Docker将其自己的版本添加kubectl到PATH。如果您之前已安装Docker,则可能需要将PATH条目放置在Docker安装程序添加的PATH之前,或删除Docker的kubectl。
从PSGallery使用Powershell安装
如果您在Windows上并使用Powershell Gallery软件包管理器,则可以使用Powershell安装和更新kubectl。
- 运行安装命令(确保指定DownloadLocation):
Install-Script -Name install-kubectl -Scope CurrentUser -Forceinstall-kubectl.ps1 [-DownloadLocation ]
注意:如果不指定DownloadLocation,kubectl将安装在用户的temp目录中。
- 安装程序创建$HOME/.kube并指示其创建配置文件
- 测试以确保您安装的版本是最新的:
kubectl version
注意:通过重新运行步骤1中列出的两个命令来执行更新安装。
使用Chocolatey或Scoop在Windows上安装
要在Windows上安装kubectl,可以使用Chocolatey软件包管理器或Scoop命令行安装程序。
- 巧克力
- 舀
choco install kubernetes-cli
- 测试以确保您安装的版本是最新的:
kubectl version
- 导航到您的主目录:
cd %USERPROFILE%
- 创建.kube目录:
mkdir .kube
- 转到.kube您刚刚创建的目录:
cd .kube
- 配置kubectl以使用远程Kubernetes集群:
New-Item config -type file
注意:使用您选择的文本编辑器(例如记事本)编辑配置文件。
作为Google Cloud SDK的一部分下载
您可以将kubectl安装为Google Cloud SDK的一部分。
- 安装Google Cloud SDK。
- 运行kubectl安装命令:
gcloud components install kubectl
- 测试以确保您安装的版本是最新的:
kubectl version
验证kubectl配置
为了让kubectl查找和访问Kubernetes集群,它需要一个kubeconfig文件,该文件是在您使用kube-up.shMinikube集群或成功部署Minikube集群创建集群时自动创建的。默认情况下,kubectl配置位于~/.kube/config。
通过获取集群状态来检查kubectl是否已正确配置:
kubectl cluster-info
如果您看到URL响应,则表明kubectl已正确配置为访问您的集群。
如果您看到类似以下的消息,则说明kubectl配置不正确或无法连接到Kubernetes集群。
The connection to the server was refused - did you specify the right host or port?
例如,如果您打算在笔记本电脑上(本地)运行Kubernetes集群,则需要先安装Minikube之类的工具,然后再运行上述命令。
如果kubectl cluster-info返回了url响应,但您无法访问您的集群,请使用以下命令检查其配置是否正确:
kubectl cluster-info dump
可选的kubectl配置
启用外壳自动补全
kubectl为Bash和Zsh提供自动补全支持,可以节省很多打字时间。
以下是为Bash(包括Linux和macOS之间的差异)和Zsh设置自动完成功能的过程。
- Linux上的Bash
- 在MacOS上的Bash
- 岩组
介绍
可以使用命令生成Bash的kubectl完成脚本kubectl completion bash。在外壳中输入完成脚本可启用kubectl自动补全功能。
但是,完成脚本取决于bash-completion,这意味着您必须首先安装此软件(可以通过运行来测试是否已安装bash-completion type _init_completion)。
安装bash-completion
bash-completion由许多软件包管理器提供(请参阅此处)。您可以使用apt-get install bash-completion或进行安装yum install bash-completion,等等。
上面的命令create /usr/share/bash-completion/bash_completion,这是bash-completion的主要脚本。根据您的包管理器,您必须在文件中手动获取该~/.bashrc文件。
要找出答案,请重新加载您的shell并运行type _init_completion。如果命令成功,则说明您已经设置好了,否则请在~/.bashrc文件中添加以下内容:
source /usr/share/bash-completion/bash_completion
重新加载您的shell并通过键入验证bash-completion是否已正确安装type _init_completion。
启用kubectl自动补全
现在,您需要确保kubectl完成脚本来自所有shell会话。您可以通过两种方式执行此操作:
- 在~/.bashrc文件中获取完成脚本:
echo 'source >~/.bashrc
- 将完成脚本添加到/etc/bash_completion.d目录:
kubectl completion bash >/etc/bash_completion.d/kubectl
注意: bash-completion将提供所有完成脚本/etc/bash_completion.d。
两种方法是等效的。重新加载外壳后,kubectl自动补全功能应该可以正常工作了。
