Mac为docker和kubectl添加自动补全命令的方法

 更新时间:2021年06月26日 08:38:47   作者:南瓜慢说  
很多朋友不太明白如何为docker和kubectl添加自动补全命令,本文通过一些示例给大家介绍kubectl基础概念及语法知识,需要的朋友参考下吧

kubectl简介

kubectl是操作k8s集群的命令行工具,安装在k8s的master节点,kubectl在$HOME/.kube目录中查找一个名为config的文件, 你可以通过设置Kubeconfig环境变量或设置--kubeconfig来指定其他的kubeconfig文件。kubectl通过与apiserver交互可以实现对k8s集群中各种资源的增删改查。接下来将会介绍kubectl语法,命令行的操作,并介绍常见的示例。命令的详细信息、参数和子命令可在kubectl参考文档中查看。

kubectl语法

kubectl语法格式如下,可在k8s集群的master节点执行:

kubectl [command] [TYPE] [NAME] [flags]

1 前言

自动命令补全是非常有用的功能,特别是当命令有特别多参数时。显然,docker/kubectl就是这样的命令。我们来看看如何进行命令补全。

2 查看目前使用的shell

查看当前系统所支持的shell有哪些:

$ cat /etc/shells 
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

查看当前的shell的几种方法:

# 查看环境变量
$ echo $SHELL
/bin/bash

# 打印进程名
$ echo $0
-bash

# 查看进程
$ ps
  PID TTY           TIME CMD
66162 ttys005    0:00.68 -bash

# 直接敲一个不存在的命令,报错信息会显示
$ pkslow
-bash: pkslow: command not found

3 为kubectl添加自动补全

通过命令kubectl completion -h寻求帮助:

查看bash版本:

$ bash -version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
Copyright (C) 2007 Free Software Foundation, Inc.

安装bash-completion

brew install bash-completion

复制kubectl completion bash到completion目录:

$ kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl

查看要添加到.bash_prfile的语句:

$ brew info bash-completion
==> Caveats
Add the following line to your ~/.bash_profile:
  [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

把上面的[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"添加到.bash_profile文件即可。

完成以上步骤,再使.bash_profile生效即可使用了。在使用命令时,用Tab补全命令即可,如果前缀不是唯一识别,会把所有选择列出来:

$ kubectl get se
secrets          serviceaccounts  services 

4 为docker命令也添加自动补全

有了前面的基础就简单多了:

$ cd /usr/local/etc/bash_completion.d
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

重新打开一个终端即可使用了。

5 总结

对于复杂的命令,添加自动命令补全还是非常有必要的,可以提高效率,减少错误。

到此这篇关于Mac为docker和kubectl添加自动补全命令的文章就介绍到这了,更多相关docker和kubectl自动补全命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解docker-compose安装minio

    详解docker-compose安装minio

    这篇文章主要介绍了docker-compose安装minio的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Docker快速部署SpringBoot项目介绍

    Docker快速部署SpringBoot项目介绍

    大家好,本篇文章主要讲的是Docker快速部署SpringBoot项目介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • docker安装portainer方法详细步骤

    docker安装portainer方法详细步骤

    portainer是一款容器管理可视化界面,不想在虚拟中使用命令管理容器的小伙伴,可以选择安装portainer对容器进行管理,查看日志、启动、停止容器等非常方便,这篇文章主要介绍了docker安装portainer方法详细步骤,需要的朋友可以参考下
    2022-10-10
  • Docker核心组件之联合文件系统详解

    Docker核心组件之联合文件系统详解

    这篇文章主要为大家介绍了Docker核心组件之联合文件系统详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Docker 安装 Jenkins 并解决初始安装插件失败问题

    Docker 安装 Jenkins 并解决初始安装插件失败问题

    这篇文章主要介绍了Docker 安装 Jenkins 并解决初始安装插件失败问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 基于Docker的MySQL主从复制环境搭建的实现步骤

    基于Docker的MySQL主从复制环境搭建的实现步骤

    这篇文章主要介绍了基于Docker的MySQL主从复制环境搭建的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 详解docker容器间通信的一种方法

    详解docker容器间通信的一种方法

    本篇文章主要介绍了详解docker容器间通信的一种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Docker容器监控及日志管理实现过程解析

    Docker容器监控及日志管理实现过程解析

    这篇文章主要介绍了Docker容器监控及日志管理实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • docker image删不掉的解决办法

    docker image删不掉的解决办法

    在使用Docker的时候遇到删不掉image的情况,怎么回事,如何解决呢?下面小编给大家分享下docker image删不掉的解决办法,需要的朋友参考下吧
    2017-01-01
  • Docker学习笔记之docker入门

    Docker学习笔记之docker入门

    docker可以类比成window下的VMware。docker有两个基本的概念:容器(container)和镜像(image),分别对应为VMware中的系统镜像和系统镜像中运行的软件。docker的强大之处在于VMware只能运行几个虚拟机的设备上docker可以同时运行几十甚至上百个虚拟机。
    2016-11-11

最新评论