更好用的kubectl

栏目: 服务器 · 发布时间: 6年前

内容简介:kubectl是管理kubernetes集群的命令行工具,实际使用的频率非常之高,因此一个更方便的kubectl通常会带来很大的便利性。下面介绍几个很棒的工具。其实我更喜欢用fish(传说中90后都在用),但是fish针对kubectl的生态还不够完善(主要是没有auto completion),因此还是先用zsh。推荐用

kubectl是管理kubernetes集群的命令行工具,实际使用的频率非常之高,因此一个更方便的kubectl通常会带来很大的便利性。下面介绍几个很棒的工具。

zsh

其实我更喜欢用fish(传说中90后都在用),但是fish针对kubectl的生态还不够完善(主要是没有auto completion),因此还是先用zsh。

推荐用 oh-my-zsh

kubectl auto completion

早期在敲kubectl命令行的时候,一个很头大的事情就是很多资源的名字需要鼠标复制粘贴。其实kubectl已经支持了自动补齐(auto completion),安装也很简单,参考 官方文档 就可以了。

配置对多集群的访问

kubectl可以从个人pc上管理 多个 远端的kubernetes集群。

kubectl是通过 .kube/config 文件连接到集群,和在集群master上其实是类似的。config文件的结构如下。

apiVersion: v1
kind: Config
preferences: {}

clusters:
- cluster:
  name: development
- cluster:
  name: scratch

users:
- name: developer
- name: experimenter

contexts:
- context:
  name: dev-frontend
    cluster: development
    user: developer
- context:
  name: exp-scratch
    cluster: scratch
    user: experimenter

官方文档 写的比较详细,实际有一个比较简单的做法,就是将两个集群的config文件做一下merge,创建2个context,关联到不同的cluster-user就可以了。

注意context不能以数字开头。配置好以后会有多个context。

~ kubectl config get-contexts
CURRENT   NAME      CLUSTER      AUTHINFO               NAMESPACE
*         c180      cluster180   kubernetes-admin-180   default
          c200      cluster200   kubernetes-admin-200   default

之后可以通过 kubectl config set-context xxx 切换到不同的上下文来操作不同的集群。

kube-ctx/kubens

毕竟上面的命令还是太长了,社区还有 kubectx 项目来方便切换kubectx。

kubectx项目还提供了 kubens 命令,用来在同一个context下切换不同的namespace,切换后,输入kubectl命令就不需要总是 -n {namespace} ,很方便。

kube-ps1

由于经常需要切换不同的集群,俗话说常在河边站哪有不湿鞋,很可能会误操作集群,这个时候有个提示就很帮了。

kube-ps1 可以很方便的修改PS1。

不过由于用的是oh-my-zsh,其实可以不安装,直接在 ~/.zshrc 开启plugin加上kube-ps1就可以了。

然后自定义一下。

PROMPT='$(kube_ps1)'$PROMPT
KUBE_PS1_PREFIX=""
KUBE_PS1_SYMBOL_DEFAULT=""
KUBE_PS1_DIVIDER="-"
KUBE_PS1_SUFFIX=" "

到这里就可以了,我们有了自动完成、集群切换、namespace切换、命令行提示,很完美了。

其实fish除了kubectl自动补齐,其他的也都能完成。社区有一个插件号称可以达到自动补齐的功能,但是非常慢,基本不可用了。有时间我看看能不能改进一下。

Ref:


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

跨平台桌面应用开发:基于Electron与NW.js

跨平台桌面应用开发:基于Electron与NW.js

【丹】Paul B. Jensen / Goddy Zhao / 2018-3 / 99

《跨平台桌面应用开发:基于Electron与NW.js》是一本同时介绍 Electron和 NW.js的图书,这两者是目前流行的支持使用 HTML、CSS 和 JavaScript 进行桌面应用开发的框架。书中包含大量的编码示例,而且每个示例都是五脏俱全的实用应用,作者对示例中的关键代码都做了非常详细的解释和说明,可让读者通过实际的编码体会使用这两款框架开发桌面应用的切实感受。除此之外,在内容上,......一起来看看 《跨平台桌面应用开发:基于Electron与NW.js》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具