当前位置: 首页 > news >正文

Kubernetes 使用插件扩展 kubectl

例子演示

编写 kubectl-foo ,拷贝至 /usr/local/bin/

#!/bin/bash# 可选的参数处理
if [[ "$1" == "version" ]]
thenecho "1.0.0"exit 0
fi# 可选的参数处理
if [[ "$1" == "config" ]]
thenecho $KUBECONFIGexit 0
fiecho "I am a plugin named kubectl-foo"

验证:

fananchong@myubuntu:~$ export KUBECONFIG=~/.kube/config
fananchong@myubuntu:~$ kubectl foo
I am a plugin named kubectl-foo
fananchong@myubuntu:~$ kubectl foo config
/home/fananchong/.kube/config

官方文档: https://kubernetes.io/zh-cn/docs/tasks/extend-kubectl/kubectl-plugins/

sample-cli-plugin

官方 Github 库也提供了例子: https://github.com/kubernetes/sample-cli-plugin

该例子主要演示了:

  • 如何创建一个遵循 kubectl 模式的新自定义命令(同时,只是用 Golang 编写)
  • 如何获取用户的 KUBECONFIG 设置并对其进行修改
  • 如何通用地使用提供的 “cli-runtime” 帮助程序集合来处理 kubectl 和第三方插件

该例子主要想表述的还是,可以使用 k8s.io/client-go 库,并按 kubectl 插件的方式,来扩展 kubectl 的功能

k8s.io/client-go

该库是 K8s 官方提供的与kube-apiserver交互的客户端库

Github 上代码镜像: https://github.com/kubernetes/client-go

看 Readme.md 中有介绍,不同的 K8s 版本,有对应的 client-go 版本,开发时不能用错

http://www.lryc.cn/news/250690.html

相关文章:

  • 前端面试题09
  • 网站更换IP的四大注意事项
  • 策略模式与简单工厂模式:终结if-else混乱,让代码更清爽
  • TCP三次握手过程
  • 04-配置远程仓库的SSH免密登陆
  • 【中文编码】利用bert-base-chinese中的Tokenizer实现中文编码嵌入
  • 一文解决msxml3.dll文件缺失问题,快速修复msxml3.dll
  • 《React 知识点》第一篇 大括号使用{}
  • kafka入门(二): 位移提交
  • PG时间计算
  • 基于51单片机的交通灯_可调时间_夜间+紧急模式
  • 网络通信原理,进制转化总结
  • 西南科技大学(数据结构A)期末自测练习三
  • 【halcon】裁剪
  • vue+less+style-resources-loader 配置全局颜色变量
  • 第二次量子化
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • 【代码】多种调度模式下的光储电站经济性最优 储能容量配置分析matlab/yalmip
  • 深度学习今年来经典模型优缺点总结,包括卷积、循环卷积、Transformer、LSTM、GANs等
  • ChatGPT成为“帮凶”:生成虚假数据集支持未知科学假设
  • c#利用Forms.Timer定时检测Tcp连接状态
  • 空间注意力:改变我们理解图像的方式
  • 【模型报错记录】‘PromptForGeneration‘ object has no attribute ‘can_generate‘
  • mysql学习记录
  • Hdoop学习笔记(HDP)-Part.11 安装Kerberos
  • 浅谈UML的概念和模型之UML九种图
  • 杨志丰:OceanBase助力企业应对数据库转型深水区挑战
  • 版本控制系统Git学习笔记-Git分支操作
  • 分布式系统中最基础的 CAP 理论及其应用
  • 计算机视觉(OpenCV+TensorFlow)