部署kubecm
kubecm是一个k8s多集群配置管理工具,由 golang 编写,支持 Mac Linux 和 windows 平台,常用命令delete,rename, switch 提供比较实用的交互式的操作,目前的功能包括:
- add :添加新的 kubeconfig 到 $HOME/.kube/config 中
- completion :命令行自动补全功能
- delete:删除已有的 context ,提供交互式和指定删除两种方式
- merge:将指定目录中的 kubeconfig 合并为一个 kubeconfig 文件
- rename:重名指定的 context,提供交互式和指定重命名两种方式
- switch:交互式切换 context
此文档环境:centos7.9、k8
s1.20、kubecm0.8.2
kubecm主要是通过k8s集群的kubeconfig文件进行多k8s集群管理
kubeconfig 文件主要由下面几部分构成: 集群参数、用户参数、上下文参数、当前上下文
apiVersion: v1
clusters: #集群参数
- cluster:
certificate-authority-data:
server: https://172.16.xx.xx:6443
name: cluster1
contexts: #上下文参数
- context:
cluster: cluster1
user: admin
name: context-cluster1-admin #集群上下文名称
current-context: context-cluster1-admin # 当前上下文
kind: Config
preferences: {}
users: #用户参数
- name: admin
user:
client-certificate-data:
client-key-data:
安装kubecm
$ wget https://github.com/sunny0826/kubecm/releases/download/v0.8.2/kubecm_0.8.2_Linux_x86_64.tar.gz
$ tar -zxvf kubecm_0.8.2_Linux_x86_64.tar.gz
$ mv kubecm /usr/local/bin/
命令行自动补全
bash
$ source <(kubecm completion bash)
$ echo "source <(kubecm completion bash)" >> ~/.bashrc
$ source ~/.bashrc
zsh
$ source <(kubecm completion zsh)
$ echo "source <(kubecm completion zsh)" >> ~/.zshrc
$ source ~/.zshrc
kubecm使用
查看
[root@local-k8s-ms01.kube]#kubecm
+------------+--------------------------------+---------------+---------------------+--------------+
| CURRENT | NAME | CLUSTER | USER | Namespace |
+============+================================+===============+=====================+==============+
| * | kubernetes-admin@kubernetes | kubernetes | kubernetes-admin | |
+------------+--------------------------------+---------------+---------------------+--------------+
2021/05/12 16:35:42 Cluster check succeeded!
Contains components: [controller-manager scheduler etcd-0]
添加
kubecm add -f filename