kubectl get 后按2次tab键命令补全的失效原因分析

2019/10/28 Chenxin

a.bash客户端工具
在centos用户下,
cd ~;echo "source <(kubectl completion bash)" >> .bashrc
或如 . <(kubectl completion bash) 当然,也可以写入到/etc/profile里.退出当前终端,重启进去,以便加载source.

b.其他交互式 Kubernetes 客户端工具
参考 https://www.hi-linux.com/posts/44953.html
1.bash 略
2.ZSH-> echo "source <(kubectl completion zsh)" >> ~/.zshrc
3.Kube-prompt
4.Kube-shell
5.Kubectl Aliases

c.故障排查
在使用一段时间的kubectl命令自动补全后(安装k8s的metrics-server后),发现有些指令原本可以自动补全的失效了.
kubectl get 然后按两次table键,出现列出了当前文件夹下所有文件的非预期效果.解决办法如下.
1.如果失效,需要手动再次 source <(kubectl completion bash ) .
2.如果还不行,应该就是node节点(worker)的网络问题.在执行kubectl get 然后输入table键2次,会调用网络请求.
因为这里,我们部署了metrics-server,它的namespace是kube-system,IP地址段是10.10.3.X.而后端node节点,默认并没有访问外部网络空间的路由.kubectl get后按两次table键,会调用apiserver,而master主机上无法访问到metrics-server提供的接口服务.所以需要在对应的node节点上"iptables -t nat -I POSTROUTING -s 10.10.0.0/16 -j MASQUERADE" .
具体参考本文档"网络部分".kubectl get后按两次table键,会调用apiserver.应该是调了,对方没有返回导致的无法补全.

kubectl get 后按2次tab键命令补全的失效原因分析的更多相关文章

  1. Linux使用退格键时出现^H + Tab键命令补全失效/方向键失效 + ls文件夹和文件没有颜色

    删除问题 安装kalilinux使用普通用户的的时候按退格键无法实现删除功能 解决的办法有两个 一改变快捷键: 使用Ctrl+Backspace组合键可以实现删除功能 ctrl + backspace ...

  2. Python tab键命令补全

    pip install pyreadline import rlcompleter, readline readline.parse_and_bind('tab: complete') root@pe ...

  3. 远程桌面中Tab键不能补全的解决办法

    我们曾在之前的一篇文章中介绍了windows远程连接ubuntu的方法,在成功登陆远程桌面环境之后,发现在终端中Tab键不能自动补齐(但是Ctrl +Tab 可以用,但是需要按下组合键才能补全的话,时 ...

  4. linux-----遇到的问题----tab键不补全sh文件不能运行

    在linux上部署tomcat,进入bin目录后 遇到了tab键不补全sh文件不能运行的情况. 如果自己输入sh文件名后也会报错: [x@web bin]$ ./startup.shbash: ./s ...

  5. CentOS6.5(2)----安装Tab键自动补全功能:bash-completion

    首先要确保网络畅通,因为该过程要通过网络下载相关的软件包. 在 root 用户下,使用 cd ~/Downloads 命令进入下载文件夹,然后依次输入如下三个命令: [root@prime:~/Doc ...

  6. Python之Tab键自动补全

    首先备份一下Tab键自动补全代码: # python start file import sys import readline import rlcompleter import atexit im ...

  7. python命令行添加Tab键自动补全

    1.编写一个tab的自动补全脚本,名为tab.py #!/usr/bin/python # python tab complete import sys import readline import ...

  8. Ubuntu14.04 Tab键自动补全

    Unbuntu14.04 终端中使用Tab键不能自动补全 解决方案 1.利用vi编辑器打开 /etc/bash.bashrc文件(需要root权限) sudo vi /etc/bash.bashrc ...

  9. Python中tab键自动补全功能的配置

    新手学习Python的时候,如何没有tab键补全功能,我感觉那将是一个噩梦,对于我们这种菜鸟来说,刚接触python,对一切都不了解,还好有前辈们的指导,学习一下,并记录下来,还没有学习这个功能小伙伴 ...

随机推荐

  1. mysql隔离级别的测试

    mysql提供四种隔离级别,以下分别对四种隔离级别进行测试,更加直观清晰的了解.具体的隔离级别以及其他相关介绍见https://www.cnblogs.com/eric-fang/p/11052304 ...

  2. 【linux】【FastDFS】FastDFS安装

    前言 FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存 ...

  3. Spring入门(十四):Spring MVC控制器的2种测试方法

    作为一名研发人员,不管你愿不愿意对自己的代码进行测试,都得承认测试对于研发质量保证的重要性,这也就是为什么每个公司的技术部都需要质量控制部的原因,因为越早的发现代码的bug,成本越低,比如说,Dev环 ...

  4. JAVASE知识点总结(三)

    第十六章:抽象类和接口 一.抽象方法:在方法面前加了abstract(为了解决,子类必须要覆盖此方法,在定义的时候不要方法体). 特点:1.抽象方法没有方法体. 2.抽象方法必须放在抽象类(类前面加上 ...

  5. mysql 5.7 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ...报错

    使用mysql在执行一条插入语句时 , ', "hhh"); 报错:Expression #1 of ORDER BY clause is not in GROUP BY clau ...

  6. Axure实现banner功能

    1.添加一个动态面板,添加上一张.下一张及当前banner对应的序号圆圈,如图所示: 当添加好元素后,实现自动轮播:点击[轮播图面板]页面:选中动态面板:右边添加事件编辑栏——属性——载入时——添加动 ...

  7. jedis指定数据库

    正常情况下,我们通过get或者set方法是从db0中取数据. 1.redis提供了 select命令,可以通过select index 这个指令,将数据库切换到index所在的那个数据库上 2.jed ...

  8. 深入MYSQL随笔

    (1)查询生命周期:从客户端到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回给客户端.执行是整个生命周期中,最重要的阶段. (2)慢查询基础:优化数据访问,减少访问的数据行. (3)查询不 ...

  9. spring源码分析系列4:ApplicationContext研究

    ApplicationContext接口 首先看一下一个最基本的上下文应该是什么样子 ApplicationContext接口的注释里写的很清楚: 一个基本applicationContext应该提供 ...

  10. 理解Android中的注解与反射

    反射 Java反射(Reflection)定义 Java反射机制是指在运行状态中 对于任意一个类,都能知道这个类的所有属性和方法:对于任何一个对象,都能够调用它的任何一个方法和属性: 这样动态获取新的 ...