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】,即可看是否补全

 

posted @ 2022-06-10 10:12  李宗盛  阅读(258)  评论(0编辑  收藏  举报