k8s多集群管理工具kubecm

文章目录

  • 一、概述
  • 二、安装
    • 1、官网链接
    • 2、各平台安装
      • 2.1、MacOS
      • 2.2、Linux
      • 2.3、Windows
  • 三、实例
    • 1、验证
    • 2、配置kubecm自动补全(选做)
      • 2.1、Bash
      • 2.2、Zsh
      • 2.3、fish
      • 2.4、PowerShell
    • 3、创建存放kubeconfig文件的目录
    • 4、添加到 $HOME/.kube/config
      • 4.1、kubecm add -f
      • 4.2、kubecm merge -f
    • 5、列出可供切换的集群信息
    • 6、切换集群
  • 四、命令使用

一、概述

KubeCM 是一款使用 Go 语言开发的 KubeConfig 管理工具,功能非常的强大。它不但能实现多个 KubeConfig 文件的自动合并,还能很方便的管理多个 Kubernetes 集群环境,比如:增加、删除、重命名不同集群环境等。

它在多集群环境中简化了配置的一致性管理、集中控制、自动化更新和配置审计,适用于多环境部署、大规模集群管理、CI/CD流程以及故障恢复场景,它的出现解决了随着Kubernetes在企业级应用中普及所面临的多集群管理复杂性和效率问题。

免责声明:一般情况下我们用不上,所以看看就好

二、安装

1、官网链接

GitHub地址

2、各平台安装

2.1、MacOS

使用 brew 或者直接下载二进制可执行文件

brew install kubecm

2.2、Linux

下载二进制可执行文件,将其移动到系统路径下

这里我将压缩包放到了/tmp/目录下

tar zxvf /tmp/kubecm_v0.30.0_Linux_x86_64.tar.gz
mv /tmp/kubecm /usr/local/bin

image-20240723232227613

2.3、Windows

下载二进制可执行文件,并将文件路径添加到 $PATH 中即可

image-20240723232355920

三、实例

简单使用六台虚拟机做三个小集群

涉及集群对应ip地址kubeconfig文件
k8s-master1k8s-node1192.168.112.10192.168.112.20config
k8s-master2k8s-node2192.168.112.30192.168.112.40cluster2-config
k8s-master3k8s-node3192.168.112.50192.168.112.60cluster3-config

1、验证

kubecm

image-20240724231249664

2、配置kubecm自动补全(选做)

2.1、Bash

$ source <(kubecm completion bash)# 可以通过运行一次下面的命令来为将来的每一个 Shell 会话激活自动补全:
# Linux:
$ kubecm completion bash > /etc/bash_completion.d/kubecm# macOS:
$ kubecm completion bash > /usr/local/etc/bash_completion.d/kubecm

在执行完毕后,你需要重新打开一个新的终端才能使补全脚本生效。

2.2、Zsh

# 如果你当前的 zsh 环境中尚未激活自动补全的功能,你需要先激活它。你
# 可以通过下面的命令来激活:$ echo "autoload -U compinit; compinit" >> ~/.zshrc# 可以通过运行一次下面的命令来为将来的每一个 Shell 会话激活自动补全:
$ kubecm completion zsh > "${fpath[1]}/_kubecm"

在执行完毕后,你需要重新打开一个新的终端才能使补全脚本生效。

2.3、fish

# 可以通过运行一次下面的命令来为当前的 Shell 会话激活自动补全:
$ kubecm completion fish | source# 可以通过运行一次下面的命令来为将来的每一个 Shell 会话激活自动补全:
$ kubecm completion fish > ~/.config/fish/completions/kubecm.fish

在执行完毕后,你需要重新打开一个新的终端才能使补全脚本生效。

2.4、PowerShell

# 可以通过运行一次下面的命令来为当前的 Shell 会话激活自动补全:
PS> kubecm completion powershell | Out-String | Invoke-Expression# 为将来的每一个 Shell 会话激活自动补全,请执行下面的命令:
PS> kubecm completion powershell > kubecm.ps1
# 然后在 PowerShell 的 profile 中引入这个文件。

3、创建存放kubeconfig文件的目录

mkdir ~/config
scp root@192.168.112.30:~/.kube/config ~/config
scp root@192.168.112.50:~/.kube/config ~/config
cp ~/.kube/config ~/config/

image-20240724233703719

4、添加到 $HOME/.kube/config

4.1、kubecm add -f

手动一个个选择添加

kubecm add -f cluster2-config
kubecm add -f cluster3-config

4.2、kubecm merge -f

选定目录批量添加

最后一项是询问是否覆盖当前~/.kube/config ,保险起见还是将本地的config复制一份再合并

kubecm merge -f ./config 

5、列出可供切换的集群信息

image-20240725001818933

6、切换集群

猫猫通过上下键移动,回车即选中

但还是推荐使用kubectl config use-context <cluster-name> 来切换

kubecm s

image-20240725002033540

四、命令使用

# 查看 k8s 集群列表
kubecm list# 重命名 k8s 集群名称
kubecm rename <cluster-name># 添加所有 k8s 集群别名
kubecm alias -o bash
kubecm alias -o zsh# 切换 k8s 集群
kubecm switch # 切换 k8s 集群命名空间
kubecm ns
# 删除 k8s 集群
kubecm delete <cluster-name>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/49214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10系统通过docker部署pytorch的cpu环境_中文地址命名实体识别案例

命名实体有关文章参考这篇文章 中文地址命名实体识别训练和预测 其它docker部署类似文章参考 分布式爬虫管理平台gerapy通过docker部署scrapyd来添加主机(四) 背景 通过win10系统通过docker来部署,可以方便的在其它没有python环境的电脑上部署python项目,下面所有操作基…

【网络安全】通过导入功能将权限提升至管理员

未经许可&#xff0c;不得转载。 文章目录 正文 正文 一款学习型 Web 应用&#xff0c;具有多个角色&#xff0c;其中两个相关角色是admin和student。 管理员拥有完全访问权限&#xff0c;而学生拥有有限的访问权限。管理面板中的一项功能允许管理员通过 CSV 方便地导入用户&…

EXCEL自动公式计算始终为0

如果你的数据单元格的左上角存在绿色的三角小箭头&#xff0c;那么就会造成这种问题&#xff1a; 你的数字是以文本形式存入的单元格 解决办法&#xff1a; 选中数据列&#xff0c;数据->分列 直接选择完成 此时就可以进行公式计算了

嵌入式人工智能(26-基于树莓派4B的声音传感器)

发声体产生的振动在空气或其他物质中的传播叫作声波。声波可以借助各种介质向四面八方传播,根据频率的不同&#xff0c;可分为普通的声波(人耳能听到的&#xff0c;频率为20~20000Hz)和超声波(人耳不能听到,频率大于20000Hz)。声波传感器可以检测环境中的声波信号&#xff0c;根…

Linux进程——环境变量之二

文章目录 环境变量查看环境变量获取环境变量main()的第三个参数本地变量全局环境变量内建命令与常规命令 环境变量 查看环境变量 在上一篇文章中我们只说了查看某个环境变量的值&#xff0c;那么如何查看所有的环境变量呢 使用指令env即可 例如 这里我们也不需要全部记住&a…

WPF MVVM框架:CommunityToolkit.Mvvm包使用介绍

最近在需要使用MVVM框架的时候才发现MvvmLight作者宣布停止更新了&#xff0c;有点可惜。 原作者推荐使用CommunityToolkit.Mvvm包&#xff0c;所以这里做一个CommunityToolkit.Mvvm包使用的全面的总结。 开发环境&#xff1a; Visual Studio 2019Windows 10 1903CommunityTo…

海山数据库(He3DB)性能优化方案解析

前端优化是一个永恒的话题&#xff0c;每个前端开发者都希望自己的页面能够快速加载&#xff0c;给用户良好的体验。但往往事与愿违。因此&#xff0c;本文从编码优化、构建优化、部署优化三方面入手进行web页面性能优化。 1. 编码优化 1.1. Css优化 1.1.1. 合理使用css选择…

vue 实战 区域内小组件元素拖拽 示例

<template><div><el-button type"primary" click"showDialog true">快捷布局</el-button><el-dialog title"快捷布局配置" :visible.sync"showDialog"><el-row :gutter"20"><el-co…

全方位数据管理:一站式爬虫服务解决方案

摘要 面对互联网信息爆炸的时代&#xff0c;如何高效地收集、整理并分析海量数据&#xff0c;成为企业与开发者面临的一大挑战。本文将深入探讨一站式爬虫服务解决方案&#xff0c;揭示如何通过全方位数据管理策略&#xff0c;助力企业轻松驾驭大数据海洋&#xff0c;实现数据…

专业视频拍摄与编辑SDK,定制专属视频解决方案

无论是社交媒体营销、产品展示、教育培训还是直播电商&#xff0c;高质量的视频内容都是吸引眼球、传递信息的关键。美摄科技&#xff0c;作为视频编辑处理领域的佼佼者&#xff0c;以其强大的视频拍摄与编辑SDK&#xff0c;为企业开启了视觉创意的新篇章。 【专业级功能&…

web3d值得学习并长期发展,性价比高吗?

在数字化浪潮日益汹涌的今天&#xff0c;Web3D技术以其独特的魅力和广泛的应用前景&#xff0c;逐渐成为技术领域的焦点。对于许多热衷于技术探索和创新的人来说&#xff0c;学习并长期发展Web3D技术无疑是一个值得考虑的选择。那么&#xff0c;Web3D技术的学习和发展究竟是否性…

07 JSP

文章目录 JSP1、JSP 概述2、JSP 脚本和缺点3、EL 表达式4、JSTL标签5、MVC模式和三层架构6、案例 JSP 1、JSP 概述 JSP&#xff08;全称&#xff1a;Java Server Pages&#xff09;&#xff1a;Java 服务端页面 &#xff08;1&#xff09;是一种动态的网页技术 &#xff08;2&…

【C++高阶】哈希之美:探索位图与布隆过滤器的应用之旅

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;模拟实现unordered 的奥秘 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀哈希应用 &#x1f4…

大模型llama结构技术点分享;transformer模型常见知识点nlp面经

1、大模型llama3技术点 参考&#xff1a;https://www.zhihu.com/question/662354435/answer/3572364267 Llama1-3&#xff0c;数据tokens从1-2T到15T;使用了MHA&#xff08;GQA缓存&#xff09;&#xff1b;上下文长度从2-4-8K&#xff1b;应用了强化学习对其。 1、pretraini…

分布式事务(典型的分布式事务场景+CAP+解决方案)

分布式事务与分布式锁的区别&#xff1a; 分布式锁解决的是分布式资源抢占的问题&#xff1b;分布式事务和本地事务是解决流程化提交问题。 SQL中的4个事务隔离级别&#xff1a;&#xff08;1&#xff09;读未提交&#xff08;2&#xff09;读已提交&#xff08;3&#xff09…

如何远程开发完整分析一台新能源车BMS电池管理系统CAN数据矩阵

随着我国新能源汽车的崛起&#xff0c;从网络管理平台、数据中心、科研机构、高校教学、车型对标、整车DBC控制策略分析、电池管理系统研究、电池健康管理、网约车管理、电池梯度利用、车队管理等多方面的市场需求&#xff0c;完整分析一台新能源车BMS电池管理系统的CAN矩阵开发…

【深度学习】yolov8-seg分割训练,拼接图的分割复原

文章目录 项目背景造数据训练 项目背景 在日常开发中&#xff0c;经常会遇到一些图片是由多个图片拼接来的&#xff0c;如下图就是三个图片横向拼接来的。是否可以利用yolov8-seg模型来识别出这张图片的三张子图区域呢&#xff0c;这是文本要做的事情。 造数据 假设拼接方式有…

Oracle配置TCPS加密协议测试

文章目录 一、环境信息二、配置过程1.创建证书2.监听配置2.1.配置sqlnet.ora2.2.配置listener.ora文件2.3.配置tnsnames.ora文件2.4.重载监听 3.数据库本地测试3.1. tcps登录测试3.2.日志监控 一、环境信息 操作系统&#xff1a;Linux 版本信息&#xff1a;Oracle 19c 参考文档…

缓存框架 Caffeine 的可视化探索与实践

作者&#xff1a;vivo 互联网服务器团队- Wang Zhi Caffeine 作为一个高性能的缓存框架而被大量使用。本文基于Caffeine已有的基础进行定制化开发实现可视化功能。 一、背景 Caffeine缓存是一个高性能、可扩展、内存优化的 Java 缓存库&#xff0c;基于 Google 的 Guava Cac…

Ubuntu20.04 设置静态ip

Ubuntu 从 17.10 开始&#xff0c;已放弃在 /etc/network/interfaces 里固定 IP 的配置&#xff0c;interfaces 文件不复存在&#xff0c;即使配置也不会生效&#xff0c;而是改成 netplan 方式 &#xff0c;配置写在 /etc/netplan/01-netcfg.yaml &#xff0c;50-cloud-init.y…