我这个ansible一键布署k8s集群没有创建用于kubectl客户端的配置文件,后期都可以直接用这个脚本来创建,使用方法简单方便。
[root@k8s-master3 ~]# cat > create_admin_user <<EOF
#!/bin/bash
USERNAME="\$1"
APISERVER="https://10.0.0.150:6443"
CA_FILE="/opt/kubernetes/ssl/ca.pem"
CA_KEY_FILE="/opt/kubernetes/ssl/ca-key.pem"
USERNAME_DIR="/opt/kubernetes/user/\${USERNAME}"
if [ ! -d \${USERNAME_DIR} ];then
mkdir -p \${USERNAME_DIR}
fi
cd \${USERNAME_DIR}
if [ -z \${USERNAME} ];then
echo "用户名必传"
exit 1
fi
if [ ! -f \${CA_FILE} ];then
echo "\${CA_FILE},ca文件不存在"
exit 1
fi
if [ ! -f \${CA_KEY_FILE} ];then
echo "\${CA_KEY_FILE},ca-key文件不存在"
exit 1
fi
res=\$(kubectl get clusterrolebinding | awk '{print \$1}' | grep ^\${USERNAME}\$)
if [ ! -z \${res} ];then
echo "clusterrolebinding名称已存在"
exit 1
fi
您暂时无权查看此隐藏内容!
[root@k8s-master3 user]# sh create_admin_user guilin
[root@k8s-master3 user]# ssh 10.0.0.151 "mkdir /root/.kube"
[root@k8s-master3 user]# scp /opt/kubernetes/user/guilin/guilin.conf 10.0.0.151:/root/.kube/config