kubectl是一个命令行接口,用于对Kubernetes集群运行命令,完成对k8s集群连接、查看资源、部署等基本操作。通过 kubectl 能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。在本文中,我们将介绍安装kubectl 命令行工具方法记录。
1、kubectl安装步骤
下载Kubectl 包
wget https://dl.k8s.io/v1.6.0/kubernetes-client-linux-amd64.tar.gz
tar -xzvf kubernetes-client-linux-amd64.tar.gz
cp kubernetes/client/bin/kube* /usr/bin/
chmod a+x /usr/bin/kube*
如果是要下载某个指定的版本,则可用指定版本号替换该命令的这一部分: $(curl -L -s https://dl.k8s.io/release/stable.txt)。例如,要在Linux中下载v1.23.0版本,请输入:
curl -LO https://dl.k8s.io/release/v1.23.0/bin/linux/amd64/kubectl
然后便开始安装kubectl。
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
即使没有目标系统的root权限,仍然可以将kubectl安装到目录 ~/.local/bin 中:
chmod +x kubectl
mkdir -p ~/.local/bin/kubectl
mv ./kubectl ~/.local/bin/kubectl
# 之后将 ~/.local/bin/kubectl添加到$PATH
最后运行下面命令,测试所安装的kubectl版本是最新的。
kubectl version –client
2、创建 kubectl kubeconfig 文件
export KUBE_APISERVER="https://172.20.0.113:6443"
# 设置集群参数
kubectl config set-cluster kubernetes \
--certificate-authority=/etc/kubernetes/ssl/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER}
# 设置客户端认证参数
kubectl config set-credentials admin \
--client-certificate=/etc/kubernetes/ssl/admin.pem \
--embed-certs=true \
--client-key=/etc/kubernetes/ssl/admin-key.pem
# 设置上下文参数
kubectl config set-context kubernetes \
--cluster=kubernetes \
--user=admin
# 设置默认上下文
kubectl config use-context kubernetes
admin.pem 证书 OU 字段值为 system:masters,kube-apiserver 预定义的 RoleBinding cluster-admin 将 Group system:masters 与 Role cluster-admin 绑定,该 Role 授予了调用kube-apiserver 相关 API 的权限;
生成的 kubeconfig 被保存到 ~/.kube/config 文件。
3、验证该可执行文件
下载 kubectl 校验和文件:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
基于校验和文件,验证 kubectl 的可执行文件:
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
验证通过时,输出为:
kubectl: OK
验证失败时,sha256 将以非零值退出,并打印如下输出:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
说明:下载的 kubectl 与校验和文件版本必须相同。
安装 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
说明:即使你没有目标系统的 root 权限,仍然可以将 kubectl 安装到目录 ~/.local/bin 中:
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
# 之后将 ~/.local/bin 附加(或前置)到 $PATH
执行测试,以保障你安装的版本是最新的:
kubectl version --client
或者使用如下命令来查看版本的详细信息:
kubectl version --client --output=yaml