mkdir /data/devops/kube-read -p
cd /data/devops/kube-read
cp /etc/kubernetes/ssl/ca* .
root@172-16-160-221:/data/devops/kube-read
{
"signing": {
"default": {
"expiry": "4320h"
},
"profiles": {
"kubernetes": {
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
],
"expiry": "4320h"
}
}
}
}
root@172-16-160-221:/data/devops/kube-read
{
"CN": "readuser",
"hosts": [],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "QingDao",
"L": "QingDao",
"O": "k8s",
"OU": "System"
}
]
}
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes read-csr.json | cfssljson -bare readuser
# 会生成以下文件
readuser.csr # 签名请求
readuser-key.pem # 私钥
readuser.pem #证书
# 校验证书
cfssl-certinfo -cert readuser.pem
kubectl config set-cluster kubernetes \--certificate-authority=ca.pem \--embed-certs=true \--server=https://172.16.7.132:6443 \--kubeconfig=readuser.config
kubectl config set-credentials readuser \--client-certificate=readuser.pem \--client-key=readuser-key.pem \--embed-certs=true \--kubeconfig=readuser.config
kubectl config set-context kubernetes \--cluster=kubernetes \--user=readuser \--kubeconfig=readuser.config
kubectl config use-context kubernetes --kubeconfig=readuser.config
root@172-16-160-221:/data/devops/kube-read# cat read-crb.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: readuser
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: readuser
kubectl get pods --kubeconfig=readuser.config -n kube-system
root@172-16-160-221:/data/devops/kube-read
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: pod-exec
rules:
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["create"]
root@172-16-160-221:/data/devops/kube-read
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: pod-exec-binding
subjects:
- kind: User
name: readuser
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: pod-exec
apiGroup: rbac.authorization.k8s.io
root@172-16-160-221:/data/devops/kube-read
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@key-opinion-llm-data-56f55d8ff6-twqln:/app/lingo-engine
https://juejin.cn/post/7147980281843023886
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具