k8s二进制集群之Kubectl部署

  • 创建kubectl证书请求文件
  • 生成admin证书文件
  • 复制admin证书到指定目录
  • 生成kubeconfig配置文件
  • 接下来完成kubectl配置文件的角色绑定
  • 【扩展】kubectl命令补全操作

继续上一篇文章《k8s二进制集群之Kube ApiServer部署》下面介绍一下k8s中的命令行管理工具kubectl。
通过kubectl可以与k8s集群进行交互与操作,可以用它来创建、更新、删除和描述集群中的各种资源,如节点、部署、服务、Pod、ReplicaSet、StatefulSet、DaemonSet、Job 、 CronJob,包括故障排查、信息获取和配置管理等。

创建kubectl证书请求文件

后续kube-apiserver 使用RBAC对客户端(如kubelet、kube-proxy、Pod)请求进行授权;
kube-apiserver 预定义了一些 RBAC使用的 RoleBindings,如 cluster-admin 将 Group system:masters 与 Role cluster-admin 绑定,该Role 授予了调用kube-apiserver 的所有 API的权限;
O指定该证书的 Group 为 system:masters, kubelet使用该证书访问 kube-apiserver 时,由于证书被CA签名,所以认证通过,同时由于证书用户组为经过预授权的 system:masters,所以被授予访问所有 API的权限;

cat > admin-csr.json <<"EOF"
{
 "CN": "admin",
 "hosts": [],
 "key": {
  "algo": "rsa",
  "size": 2048
 },
 "names": [{
  "C":"CN",
  "ST":"zhejiang",
  "L":"hangzhou",
  "O":"system:masters",
  "OU":"system"
 }]
}
EOF

生成admin证书文件

拥有amdin证书才可以管理和维护k8s集群、安全性校验以及k8s API的授权访问;

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

你可能感兴趣的:(k8s二进制搭建,kubernetes,容器,云原生)