kubernetes常用命令-node节点授权和kubectl命令补全
问:作为一个初学者,在执行kubectl命令的时候容易报错,网上搜索总是提示我们.kube文件和bash补全,到底是什么意思呢?
答:请记住,kubernetes部署后,默认情况下
1、kubectl命令是只能在master上执行,在node上无法使用
2、kubectl命令是没有自带命令补全的,都是需要手动配置
一、node授权-.kube/config文件
先说操作,root用户可直接复制粘贴执行
#master配置kubelet授权
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
#分发其他节点
cd ~
scp -r /root/.kube/ root@node1:~
scp -r /root/.kube/ root@node2:~
解释:
第一段内容来自官方安装kubernetes集群后,系统提示我们需要创建一个默认配置文件.kube,并读取master节点/etc/kubernetes/admin.conf的配置文件写入config,并对文件夹进行授权。
第二段内容是在master节点传送.kube文件夹给其他节点。这里有个知识点,在linux下~就是家目录,而我们用的root用户,~就会等于/root/目录。
因此我们上步生成的文件夹会存在于/root/.kube下,然后我们在使用scp 传送给其他节点。
二、kubectl命令补全
以Centos系统举例,Centos可直接复制
yum install -y bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc
解释:
这里会安装一个包bash-completion。bash-completion是一个shell函数集合,它利用bash的可编程补全功能。它增强了bash的补全功能,增加了对参数和包名的补全。它可以自动补全git、Docker、kubenetes等命令
后面两句是写入shell里面,写入后就可以在终端自动补全了。
三、测试Kubectl是否自带补全
输入kubectl,按下空格,再连续按下2次【TAB】,即可看是否补全