【7】搭建k8s集群系列(二进制部署)-master节点之配置kubectl客户端证书

一、查看集群状态

1.1 生成 kubectl 连接集群的证书:

bash 复制代码
#切换到证书工作目录
cd /root/TSL/k8s
# 申请证书文件
cat > admin-csr.json <<EOF
{
"CN": "admin",
"hosts": [],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "BeiJing",
"ST": "BeiJing",
"O": "system:masters",
"OU": "System"
}
]
}
EOF

# 生成证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.json | cfssljson -bare admin

2.1 生成 kubeconfig 文件

bash 复制代码
mkdir /root/.kube
# k8s默认的配置文件目录
KUBE_CONFIG="/root/.kube/config"
KUBE_APISERVER="https://192.168.1.20:6443"
kubectl config set-cluster kubernetes \
--certificate-authority=/opt/kubernetes/ssl/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=${KUBE_CONFIG}
kubectl config set-credentials cluster-admin \
--client-certificate=/opt/kubernetes/ssl/admin.pem \
--client-key=/opt/kubernetes/ssl/admin-key.pem \
--embed-certs=true \
--kubeconfig=${KUBE_CONFIG}
kubectl config set-context default \
--cluster=kubernetes \
--user=cluster-admin \
--kubeconfig=${KUBE_CONFIG}
kubectl config use-context default --kubeconfig=${KUBE_CONFIG}

2.3 查看k8s集群组件状态

bash 复制代码
kubectl get cs

输出:

2.4 授权 kubelet-bootstrap 用户允许请求证书

bash 复制代码
kubectl create clusterrolebinding kubelet-bootstrap \
--clusterrole=system:node-bootstrapper \
--user=kubelet-bootstrap
相关推荐
说实话起个名字真难啊10 分钟前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙32 分钟前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_1 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
农民工老王2 小时前
K8s 1.31 私有化部署实战:从 Calico 崩溃到 NFS 挂载失败的排坑全记录
云原生·kubernetes
灰子学技术2 小时前
istio从0到1:如何解决分布式配置同步问题
分布式·云原生·istio
广州中轴线2 小时前
OpenStack on Kubernetes 生产部署实战(十四)
kubernetes·智能路由器·openstack
春日见2 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡2 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
小马爱打代码2 小时前
ZooKeeper:入门实战
分布式·zookeeper·云原生
liu****3 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术