zoukankan      html  css  js  c++  java
  • kubectl get 后按2次tab键命令补全的失效原因分析

    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.应该是调了,对方没有返回导致的无法补全.

  • 相关阅读:
    VIM 基本配置
    VIM 基本配置
    CWnd与HWND的区别与转换 如何获取本窗体对象
    CWnd与HWND的区别与转换 如何获取本窗体对象
    CWnd与HWND的区别与转换 如何获取本窗体对象
    XEN
    XEN
    Xinyu Zhang
    (OK)(OK) SEEM ALL Testing Results
    如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?
  • 原文地址:https://www.cnblogs.com/chanix/p/11753887.html
Copyright © 2011-2022 走看看