使用k8s的命令行工具 kubectl 来部署和管理应用。可以用kubectl 来查看集群的资源,创建,删除,更新组件,查看你的新集群,启动测试的应用。

开始之前

你必须使用和你的集群的版本接近的kubectl版本。例如:v1.2的客户端可以在版本是v1.1,v1.2,v1.3的master上面。使用最新的kubectl版本可以帮你避免未预见的问题。

安装kubectl
以下是安装kubectl的几种方法

01.通过原生的包管理工具安装kubectl

适用:centos,RHEL,fedora

cat < /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

02.在ubuntu 上通过 snap工具安装

如果你是使用ubuntu系统或者其它安装了snap工具的linux发行版本,kubectl可以作为一个snap应用来安装

切换到snap的用户,执行以下的安装命令
sudo snap install kubectl --classic

查看kubectl的版本,确保版本足够的新
kubectl version

03.在macOS上使用Homebrew安装

安装命令
brew install kubernetes-cli

查看kubectl的版本,确保版本足够的新
kubectl version

04.在macOS上使用Macports安装

安装命令
port install kubectl
查看kubectl的版本,确保版本足够的新
kubectl version

05.在windows上使用 Powershell Gallery 安装

安装命令(确保已经定义了DownloadLocation路径)

Install-Script -Name install-kubectl -Scope CurrentUser -Force

install-kubectl.ps1 [-DownloadLocation ]

注意:如果你没有定义下载路径,kubectl会安装在当前用户的临时目录下面

需要创建一个目录 $HOME/.kube 和 创建一个配置文件

查看kubectl的版本,确保版本足够的新
kubectl version

如果需要更新命令,需要重新执行第一步的两条命令。

06.在windows 上使用Chocolatey 安装

安装命令

choco install kubernetes-cli

查看kubectl的版本,确保版本足够的新

kubectl version

进行当前用户目录%HOME% directory:

例如: cd C:\users\yourusername

创建.kube目录

mkdir .kube

进入创建的目录

cd .kube

配置kubectl的配置文件

07.作为google cloud SDK一部分来下载

下载google cloud SDK

https://cloud.google.com/sdk/

安装
gcloud components install kubectl

查看kubectl的版本,确保版本足够的新

kubectl version

  1. 使用curl 来下载安装

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

如果要下载指定的版本,只需要把下面的内容替换为对应的版本号
$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)

例如如果你要下载v1.12.0版本
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/linux/amd64/kubectl

增加执行权限
chmod +x ./kubectl

移动到当前的PATH命令路径
sudo mv ./kubectl /usr/local/bin/kubectl

配置kubectl

为了让kubectl能够找到和访问k8s 集群,它需要一个集群。它是使用kube.sh创建集群的时候自动创建或者成功部署minikube集群后也会自动创建。

查看安装页面,可以看到更多的安装配置
https://kubernetes.io/docs/setup/

如果你想访问的集群没有创建kubectl配置文件,你可以参考下面链接创建
https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

kubectl默认的配置路径
~/.kube/config

检查kubectl 的配置信息

kubectl cluster-info

如果响应了一个URL地址,证明kubectl配置正确,可以访问到集群。

如果响应了以下的信息,证明配置有误。

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

如果你想要在自己的笔记本上面安装k8s集群,你需要安装一个minikube工具,然后再根据上面的教程安装kubectl.

如果响应了URL的地址,但是你仍然无法访问k8s集群,你可以尝试使用下面的命令来查看更加详细的信息

kubectl cluster-info dump

启用shell 命令自动补全

kubectl 提供了命令自动补全功能,这可以节省不少输入。

kubectl自动生成自动补全脚本,你只需要从配置文件中启用即可。

通用的配置样本会在下面提供,如果需要更加详细的信息,可以通过命令

kubectl completion -h 查看。

在linux 使用 bash

默认在centos,需要先安装

yum install bash-completion -y

添加补全脚本到当前的shell
source <(kubectl completion bash)

配置到配置文件,永久生效

echo "source <(kubectl completion bash)" >> ~/.bashrc