Ubuntu部署的k8s集群kubectl tab补全报错

本文讲述了在Ubuntu22.04环境中安装kubectltab补全功能时遇到的错误,涉及apt-get包管理器的依赖问题,以及如何通过修复依赖并添加bash_completion到.bashrc来实现kubectl命令的自动补全。
摘要由CSDN通过智能技术生成

环境信息:

  • Ubuntu2204
  • k8s: v1.27.5

问题现象:想要实现kubectl tab补全效果。报错:bash: _get_comp_words_by_ref: command not found

解决步骤:

  1. 安装 bash-completion
    安装apt install bash-completion假如出现以下提示,需要先执行'apt --fix-broken install这个命令处理依赖性
root@k8s-node2:~# apt-get install bash-completion
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libexpat1-dev : Depends: libexpat1 (= 2.4.7-1ubuntu0.3) but 2.4.7-1ubuntu0.2 is to be installed
 libpython3.10 : Depends: libpython3.10-stdlib (= 3.10.12-1~22.04.3) but 3.10.6-1~22.04.2ubuntu1 is to be installed
 libpython3.10-dev : Depends: libpython3.10-stdlib (= 3.10.12-1~22.04.3) but 3.10.6-1~22.04.2ubuntu1 is to be installed
 python3.10-dev : Depends: python3.10 (= 3.10.12-1~22.04.3) but 3.10.6-1~22.04.2ubuntu1 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
  1. 执行bash_completion并重新加载kubectl completion,执行完成后就可以tab补全kubectl命令了
root@k8s-node2:~#source /usr/share/bash-completion/bash_completion;source <(kubectl completion bash)
  1. 添加命令到Bash配置文件,以便每次打开新的Bash shell时都能够启用kubectl命令的自动补全功能
echo "source /usr/share/bash-completion/bash_completion;source <(kubectl completion bash)" >> ~/.bashrc # 在你的 bash shell 中永久地添加自动补全
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu 20.04 上部署 Kubernetes 1.24 集群的步骤如下: 1. 确保每台机器上都安装了 Docker 和 Kubernetes 相关软件包。可以使用以下命令安装: ``` sudo apt-get update sudo apt-get install docker.io sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl ``` 2. 在其中一台机器上初始化 Kubernetes 集群。运行以下命令: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 其中,`--pod-network-cidr=10.244.0.0/16` 是一个必需的参数,用于指定 Pod 网络的 CIDR。这里我们使用 Flannel 网络插件,默认使用的 Pod 网络 CIDR 是 `10.244.0.0/16`。 3. 安装 Pod 网络插件。运行以下命令: ``` sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 4. 将 Kubernetes 集群加入到其他机器上。运行以下命令: ``` sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash <hash> ``` 其中,`<master-ip>` 是 Kubernetes 主节点的 IP 地址,`<master-port>` 是 Kubernetes 主节点的端口号,`<token>` 和 `<hash>` 是在初始化 Kubernetes 集群时生成的。 5. 等待所有节点加入成功。运行以下命令检查节点状态: ``` sudo kubectl get nodes ``` 如果所有节点都已加入成功,将显示所有节点的状态信息。 以上就是在 Ubuntu 20.04 上部署 Kubernetes 1.24 集群的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值