Kubernetes插件扩展技术介绍
1
目录
API扩展 4.1AggregationCustomResour 4.1 .1ceDefinition 4.1 .2访问控制 4.2认证 4.2.1RBAC授权 4.2.2准入控制 4.2.3Scheduler扩展 4.3网络插件 4.4CNI 4.4.1Flannel 4.4.2Cal ico 4.4.3Weave 4.4.4Ci l ium 4.4.5OVN 4.4.6ContivS 4.4.7R-IOV 4.4.8RomanaOpenC 4.4.9ontrai lKuryr 4.4.10运行时插件 4.4.1 1CRICRI- 4.5toolsFrakti 4.5.1存储插件 4.5.2容器存储接口 4.6CSIFlexVolumeglus 4.6.1terfs 4.6.2网络策略 4.6.3IngressControl ler 4.7Ingress+Letsencrypt 4.8
4.8.1
2
minikube Ingress 4.8.2
Traefik Ingress 4.8.3
Keepal ived-VIP 4.8.4Cloud Provider扩展 4.9Devi ce插件 4.10
3
API扩展
Kubernetes插件扩展技术指南
API扩展
Kubernetes的架构非常灵活提供了从API、认证授权、准入控制、 网络、存储、运行时以及云平台等一系列的扩展机制方便用户无侵入的扩展集群的功能。
从API的角度来说可以通过Aggregatio n和C ustom Reso urceDefinitio n CRD 等扩展Kubernetes API。
API Aggregation允许在不修改Kubernetes核心代码的同时将第三方服务注册到Kubernetes API中这样就可以通过Kubernetes API来访问外部服务。
Custom ResourceDefi nition则可以在集群中新增资源对象并可以与已有资源对象如Pod、 Deployment等相同的方式来管理它们。
CRD相比Aggregation更易用两者对比如下
CRDs AggregatedAPI
无需编程即可使用CRD管理资源 需要使用Go来构建Aggregated AP Iserver
无需额外管理版本 需要第三方服务来管理版本
更多的特性对比
Feature Description CRDs
565
API扩展
Val idation
566
API扩展
567
API扩展
Objects in Place Using kubectl
使用方法
详细的使用方法请参考
AggregationCustom ResourceDefi nition
568
Aggregation
Aggregation Layer
API Aggregation允许在不修改Kubernetes核心代码的同时扩展Kubernetes API 即将第三方服务注册到Kubernetes API中这样就可以通过Kubernetes API来访问外部服务。
备注另外一种扩展Kubernetes AP I的方法是使用CustomResourceDefi nition
(CRD)。
何时使用Aggregation
满足以下条件时使用API Aggregation 满足以下条件时使用独立API
开启APIAggregationkube-apiserver增加以下配置
568
Aggregation
--requestheader-client-ca-file=<path to aggregator CAcert>
--requestheader-allowed-names=aggregator
--requestheader-extra-headers-prefix=X-Remote-Extra-
--requestheader-group-headers=X-Remote-Group
--requestheader-username-headers=X-Remote-User
--proxy-client-cert-file=<path to aggregator proxycert>
--proxy-client-key-file=<path to aggregator proxy key>
如果kube-proxy没有在Master上面运行还需要配置
--enable-aggregator-routing=true
创建扩展API
1 .确保开启APIServiceAPI 默认开启可用kubectlgetapiservice命令验证
2.创建RBAC规则
3.创建一个namespace用来运行扩展的API服务
4.创建CA和证书用于https
5.创建一个存储证书的s e c re t
6.创建一个部署扩展API服务的deployme nt并使用上一步的secret配置证书开启https服务
7.创建一个Cl usterRole和Cl usterRoleBi nd i ng
8.创建一个非namespace的apiservice注意设置spec.caBundle
9.运行kubectlget<resource-name>正常应该返回Noresourcesfound.
可以使用apiserver-bui lder工具自动化上面的步骤。
569
Cloudxtiny是一家来自英国的主机商,提供VPS和独立服务器租用,在英国肯特自营数据中心,自己的硬件和网络(AS207059)。商家VPS主机基于KVM架构,开设在英国肯特机房,为了庆祝2021年欧洲杯决赛英格兰对意大利,商家为全场VPS主机提供50%的折扣直到7月31日,优惠后最低套餐每月1.5英镑起。我们对这场比赛有点偏见,但希望这是一场史诗般的决赛!下面列出几款主机套餐配置信息。CPU...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...
gcorelabs怎么样?gcorelabs是创建于2011年的俄罗斯一家IDC服务商,Gcorelabs提供优质的托管服务和VPS主机服务,Gcorelabs有一支强大的技术队伍,对主机的性能和稳定性要求非常高。Gcorelabs在 2017年收购了SkyparkCDN并提供全球CDN服务,目标是进入全球前五的网络服务商。G-Core Labs总部位于卢森堡,在莫斯科,明斯克和彼尔姆设有办事处。...