kubectl 命令行工具介绍与安装配置
1. kubectl 概要
kubectl 控制 Kubernetes 集群管理器,使用 Kubernetes 命令行工具 kubectl 在 Kubernetes 上部署和管理应用程序。
使用 kubectl,您可以检查群集资源;创建、删除和更新组件;查看新集群;并部署示例应用程序。
2. kubectl 安装
添加软件源信息:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装 kubectl:
yum install kubectl -y
3. kubectl 配置
在开启了 TLS 的集群中,当与集群交互的时候少不了的是身份认证,使用 kubeconfig(即证书)和 token 两种认证方式是最简单也最通用的认证方式。 kubectl 只是个 go 编写的可执行程序,只要为 kubectl 配置合适的 kubeconfig,就可以在集群中的任意节点使用。 kubectl 默认会从 $HOME/.kube 目录下查找文件名为 config 的文件,也可以通过设置环境变量 KUBECONFIG 或者通过设置 --kubeconfig 去指定其它 kubeconfig 文件。 kubeconfig 就是为访问集群所作的配置。
export KUBE_APISERVER=https://192.168.56.5: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
生成的 kubeconfig 被保存到 ~/.kube/config 文件;配置文件描述了集群、用户和上下文。
集群参数
本段设置了所需要访问的集群的信息。使用 set-cluster 设置了需要访问的集群,如上为 kubernetes,这只是个名称,实际为--server 指向的 apiserver;--certificate-authority 设置了该集群的公钥;--embed-certs 为 true 表示将--certificate-authority 证书写入到 kubeconfig 中;--server 则表示该集群的 kube-apiserver 地址。 生成的 kubeconfig 被保存到 ~/.kube/config 文件。

