安装和设置kubectl
安装和设置kubectl
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.18.0,请输入:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
使kubectl二进制可执行文件。
chmod +x ./kubectl
将二进制文件移到您的PATH中。
sudo mv ./kubectl /usr/local/bin/kubectl
测试以确保您安装的版本是最新的:
kubectl version --client
使用本机软件包管理进行安装
Ubuntu,Debian或HypriotOS
CentOS,RHEL或Fedora
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
使用其他软件包管理进行安装
捕捉
家酿
如果您使用的是Ubuntu或其他支持快照包管理器的Linux发行版,则可以将kubectl作为快照应用程序使用。
snap install kubectl --classic
kubectl version --client
在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.18.0,请输入:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/darwin/amd64/kubectl
使kubectl二进制可执行文件。
chmod +x ./kubectl
将二进制文件移到您的PATH中。
sudo mv ./kubectl /usr/local/bin/kubectl
测试以确保您安装的版本是最新的:
kubectl version --client
在macOS上使用Homebrew安装
如果您在macOS上并使用Homebrew软件包管理器,则可以在Homebrew上安装kubectl。
运行安装命令:
brew install kubectl
要么
brew install kubernetes-cli
测试以确保您安装的版本是最新的:
kubectl version --client
在macOS上使用Macports安装
如果您使用的是macOS并使用Macports软件包管理器,则可以在Macports上安装kubectl。
运行安装命令:
sudo port selfupdate
sudo port install kubectl
测试以确保您安装的版本是最新的:
kubectl version --client
在Windows上安装Kubectl 在Windows上使用curl安装Kubectl二进制文件
从此链接下载最新版本v1.18.0 。
或者,如果已curl安装,请使用以下命令:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/windows/amd64/kubectl.exe
要查找最新的稳定版本(例如,用于脚本编写),请查看https://storage.googleapis.com/kubernetes-release/release/stable.txt。
将二进制文件添加到您的PATH中。
测试以确保的版本kubectl与下载的版本相同:
kubectl version --client
注意: 适用于Windows的Docker桌面将其自己的版本添加kubectl到PATH。如果您以前安装过Docker Desktop,则可能需要将PATH条目放置在Docker Desktop安装程序添加的PATH之前,或者删除Docker Desktop的kubectl。
从PSGallery使用Powershell安装
如果您在Windows上并使用Powershell Gallery软件包管理器,则可以使用Powershell安装和更新kubectl。
运行安装命令(确保指定DownloadLocation):
Install-Script -Name 'install-kubectl' -Scope CurrentUser -Force
install-kubectl.ps1 [-DownloadLocation <path>]
注意:如果不指定DownloadLocation,kubectl将安装在用户的temp目录中。
安装程序将创建$HOME/.kube并指示其创建配置文件。
测试以确保您安装的版本是最新的:
kubectl version --client
注意:通过重新运行步骤1中列出的两个命令来执行更新安装。
使用Chocolatey或Scoop在Windows上安装
要在Windows上安装kubectl,可以使用Chocolatey软件包管理器或Scoop命令行安装程序。
巧克力
舀
choco install kubernetes-cli
测试以确保您安装的版本是最新的:
kubectl version --client
导航到您的主目录:
# If you're using cmd.exe, run: cd %USERPROFILE%
cd ~
创建.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 --client
验证kubectl配置
为了让kubectl找到并访问Kubernetes集群,它需要一个kubeconfig文件,该文件是在您使用kube-up.sh创建集群或成功部署Minikube集群时自动创建的。默认情况下,kubectl配置位于~/.kube/config。
通过获取集群状态,检查kubectl是否已正确配置:
kubectl cluster-info
如果看到URL响应,则表明kubectl已正确配置为访问您的集群。
如果您看到类似以下的消息,则说明kubectl配置不正确或无法连接到Kubernetes集群。
The connection to the server <server-name:port> 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
sh
介绍
可以使用以下命令生成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
重新加载您的外壳,并通过键入验证bash-completion是否已正确安装type _init_completion。 启用kubectl自动补全
现在,您需要确保在所有shell会话中都获取了kubectl完成脚本。您可以通过两种方式执行此操作:
在~/.bashrc文件中获取完成脚本:
echo 'source <(kubectl completion bash)' >>~/.bashrc
将完成脚本添加到/etc/bash_completion.d目录:
kubectl completion bash >/etc/bash_completion.d/kubectl
如果您具有kubectl的别名,则可以扩展shell补全功能以使用该别名:
echo 'alias k=kubectl' >>~/.bashrc echo 'complete -F __start_kubectl k' >>~/.bashrc
注意: bash-completion来源中的所有完成脚本/etc/bash_completion.d。
两种方法是等效的。重新加载外壳后,kubectl自动补全功能应该可以正常工作了。