3. kubectl部署以及基本使用

目录

  • 1. kubernetes创建跟证书和秘钥
  • 2. ETCD集群部署及维护
  • 3. kubectl部署以及基本使用
  • 4. Master节点部署及维护
    • 4.1 kube-apiserver
    • 4.2 kube-scheduler
    • 4.3 kube-controller-manager
  • 5. Node节点部署及维护
    • 5.1 Flannel部署及维护
    • 5.2 kubernetes runtime部署及维护
    • 5.3 kubelet
    • 5.4 kube-proxy

本文档介绍下载和配置 kubernetes 集群命令行工具 kubectl 的步骤。

01.下载 kubectl

注意请下载对应的Kubernetes版本的安装包。

DOWNURL='https://storage.googleapis.com/kubernetes-release/release'
#获取最新版本的kubrnetes
GETVERSION=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
#下载kubectl
curl -L ${DOWNURL}/${GETVERSION}/bin/linux/amd64/kube-apiserver -o /srv/kubernetes/bin/kubectl

cd /srv/kubernetes/bin
chmod +x kubectl

02.kubectl 客户端凭证

创建 admin client 凭证签发请求文件:

cat > admin-csr.json <

创建 admin client 凭证和私钥:

cfssl gencert \
  -ca=ca.pem \
  -ca-key=ca-key.pem \
  -config=ca-config.json \
  -profile=kubernetes \
  admin-csr.json | cfssljson -bare admin

结果将生成以下两个文件

admin-key.pem
admin.pem

03.创建kubeconfig文件

export KUBE_APISERVER="https://apiserver-p001.svc.gxd88.cn:6443"
  • 设置集群参数
kubectl config set-cluster kubernetes \
  --certificate-authority=ca.pem \
  --embed-certs=true \
  --server=${KUBE_APISERVER}
  • 设置客户端认证参数
kubectl config set-credentials admin \
  --client-certificate=admin.pem \
  --embed-certs=true \
  --client-key=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 文件;

    注意:~/.kube/config文件拥有对该集群的最高权限,请妥善保管。

04.设置kubectl 自动补全

通过以上方法进行配置了,便实现了kubectl的自动补全。

k8s 命令自动补全

yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

你可能感兴趣的:(3. kubectl部署以及基本使用)