跳转至

kubeconfig 实践应用

kubecm 的一些实践

问题背景

在维护和管理多个k8s集群时,每个集群都有自己对应的config文件,那么带来的问题就是在 ~/.kube 目录下就会有一大堆各种环境的 yaml,对于管理来说不是特别的友好。 更有可能在不同的集群切来切去,造成运维事故。因此这里介绍一种管理 kubeconfig 的一种方式.(这个主要以 mac 来作为演示).

解决痛点

  • 统一管理多个k8s集群
  • 来回切换指定namespace繁琐
  • 很多时候不知道自己在哪个集群下

如何安装

Mac安装地址:只需要使用 brew 直接安装kubecm即可

kubecm 案例:

参数说明:

  • 我最常用的就是添加,删除,切换集群
        Manage your kubeconfig more easily.        


██   ██ ██    ██ ██████  ███████  ██████ ███    ███ 
██  ██  ██    ██ ██   ██ ██      ██      ████  ████ 
█████   ██    ██ ██████  █████   ██      ██ ████ ██ 
██  ██  ██    ██ ██   ██ ██      ██      ██  ██  ██ 
██   ██  ██████  ██████  ███████  ██████ ██      ██

 Tips  Find more information at: https://kubecm.cloud

Usage:
  kubecm [command]

Available Commands:
  add         Add KubeConfig to $HOME/.kube/config   # 添加
  alias       Generate alias for all contexts
  clear       Clear lapsed context, cluster and user
  cloud       manage kubeconfig from cloud
  completion  Generate completion script
  create      Create new KubeConfig(experiment)
  delete      Delete the specified context from the kubeconfig  # 删除
  help        Help about any command
  list        List KubeConfig
  merge       Merge multiple kubeconfig files into one
  namespace   Switch or change namespace interactively
  rename      Rename the contexts of kubeconfig
  switch      Switch Kube Context interactively  # 切换
  version     Print version info

Flags:
      --config string   path of kubeconfig (default "$HOME/.kube/config")
  -h, --help            help for kubecm
      --ui-size int     number of list items to show in menu at once (default 4)

Use "kubecm [command] --help" for more information about a command.

首先我们先回到:家目录下的.kube目录

$ pwd
/Users/beiyiwangdejiyi/.kube

添加一个集群

kubecm add -f enflame.yaml

删除一个集群

$ kubecm delete   # 选择删除的集群,选择True
Use the arrow keys to navigate:      and / toggles search
Select The Delete Kube Context
  😼 ucloud-k3s(*)
    enflame
    produce
↓   pve

切换一个集群

$ kubecm switch   # 可以上下切换,选择集群环境
Use the arrow keys to navigate:      and / toggles search
Select Kube Context
    ucloud-k3s(*)
    bj
  😼 dev
↓   produce

以上就是kubecm 的一些安装和使用方法,其他的如果感兴趣可以自己试一试。

kubens kubectx

文章地址:kubenc

kubectx安装

如果你使用Homebrew,你可以像这样安装:

brew install kubectx
安装完成之后,来这样使用kubens就可以很方便的切换namespace。

fzf安装

fzf 安装

这里面比较好玩的还有一个带有模糊搜索的交互式菜单,安装完成之后再使用kubens就香的很啊

brew install fzf
$(brew --prefix)/opt/fzf/install

温馨提示

  • 如果不能使用,需要关闭终端,重新打开

fzf除了这些,还有很多的骚操作,shell命令补全,另外fzf 重写了 ctrl+r 搜索历史命令

** 文章参考:**

  • https://formulae.brew.sh/formula/kubecm
  • https://github.com/sunny0826/kubecm
回到页面顶部