普通用户基于admin使用kubectl命令

普通用户基于admin使用kubectl命令

Scroll Down

创建普通用户使用密钥对登录:

Linux支持每个用户使用自己的密钥文件进行双密钥验证登陆服务器,也就是说每个用户可以拥有自己的密钥文件

# 普通用户创建双密钥认证过程

#首先新建一个普通用户,adduser、useradd区别自行google

adduser XXX
su XXX
cd
mkdir .ssh
cd .ssh
ssh-keygen -m PEM -t rsa -C "XXX's private pem" -f XXX.pem
# 一路回车
cd ..
chmod -R 700 .ssh/
cd .ssh
cat xxx.pem.pub >> authorized_keys
chmod 600 authorized_keys
# 使用lrzsz工具下载密钥
sz xxx.pem

# 使用root用户修改sshd配置文件:
vim /etc/ssh/sshd_config
PubkeyAuthentication yes
# 这个路径不用修改
AuthorizedKeysFile %h/.ssh/authorized_keys
# %h 代表当前登录用户的家目录

systemctl restart sshd

随后使用该密钥进行登陆即可

普通用户使用kubectl命令:


# 使普通用户XXX具有sudo权限
vim /etc/sudoers
XXX   ALL=(ALL:ALL) ALL

# 切换到创建的XXX普通用户进行操作
su XXX
mkdir -p /home/XXX/.kube/conf
sudo cp -i /etc/kubernetes/admin.conf /home/XXX/.kube/conf
sudo chown -R XXX:XXX $HOME/.kube/conf/
echo "export KUBECONFIG=/home/XXX/.kube/conf/admin.conf" >> ~/.bashrc
# 配置自动补全
echo "source <(kubectl completion bash)" >> ~/.bashrc
source .bashrc

# 就可以执行kubectl命令了

Tips:

Linux只有一个皇帝就是root,其它大臣(普通用户)哪怕具有了管理员权限也必须使用尚方宝剑(sudo)才能执行某些特定操作,所以sudo是不能被省掉的,但是可以通过操作将使用尚方宝剑时的密码免去