Context和Namespace管理工具 kubectx/kubens

1、简介

工具地址和介绍: https://github.com/ahmetb/kubectx

1.1 context

通过 kubectl 子命令 config 的三元组:集群(set-cluster)、用户(set-credentials)和配置上下
文(set-context)实现切换。

  • 创建 cluster
    kubectl config set-cluster set-cluster scratch --server=https://5.6.7.8 --insecure-skip-tls-verify
  • 创建 user
    kubectl config set-credentials experimenter --username=exp --password=some-password
  • 创建 context
    kubectl config set-context exp-scratch --cluster=scratch --namespace=default --user=experimenter
  • 指定当前使用的 context
    kubectl config use-context exp-scratch
  • 查看所有 context
    kubectl config get-contexts
  • reference
    https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

1.2 NameSpace

当 kubernetes 集群中存在多租户的情况下,就需要有一种机制实现每个租户的资源隔离。而
namespace 的目的就是为了实现资源隔离

2、安装

yum install git
git clone https://github.com/ahmetb/kubectx
cp kubectx/kube* /usr/local/bin/

3、使用 kubectx 快速切换

  • 列出全部 context
    kubectx
  • 切换到指定 context
    kubectx context_name
  • 可以过以下命令在最近使用过的 2 个 context 快速切换
    kubectx -

4、使用kubens快速切换 namespace

  • 列出全部 namespace
    kubens
  • 切换到指定 namespace
    kubens namespac
  • 可以过以下命令在最近使用过的 2 个 namespace 快速切换
    kubens -